
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */

string * gold::get_section_contents
                   (string *__return_storage_ptr__,bool first_iteration,Section_id *secn,
                   uint section_num,uint *num_tracked_relocs,Symbol_table *symtab,
                   vector<unsigned_int,_std::allocator<unsigned_int>_> *kept_section_id,
                   vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
                   *section_contents)

{
  int *__s;
  Relobj *pRVar1;
  Input_file *pIVar2;
  _Hash_node_base *p_Var3;
  _Hash_node_base *p_Var4;
  _Hash_node_base *p_Var5;
  _Hash_node_base *p_Var6;
  Target *pTVar7;
  General_options *pGVar8;
  bool bVar9;
  Valtype return_value;
  uint uVar10;
  uint uVar11;
  iterator iVar12;
  ulong uVar13;
  size_t sVar14;
  char *pcVar15;
  string *psVar16;
  pointer pbVar17;
  uchar *puVar18;
  _Hash_node_base *p_Var19;
  long lVar20;
  ulong uVar21;
  char *pcVar22;
  char *pcVar23;
  uint *puVar24;
  uint *puVar25;
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *paVar26;
  _Hash_node_base *p_Var27;
  long lVar28;
  __bucket_type p_Var29;
  string *buffer;
  _Hash_node_base *p_Var30;
  long lVar31;
  __bucket_type p_Var32;
  undefined8 *puVar33;
  bool bVar34;
  uchar *local_f8;
  bool is_global;
  section_size_type plen;
  char kept_section_str [10];
  Section_id reloc_secn;
  string icf_reloc_buffer;
  char addend_str [50];
  
  pRVar1 = secn->first;
  pIVar2 = (pRVar1->super_Object).input_file_;
  if (pIVar2 != (Input_file *)0x0) {
    File_read::lock(&pIVar2->file_,(Task *)0xffffffffffffffff);
  }
  local_f8 = (uchar *)0x0;
  if (first_iteration) {
                    /* try { // try from 0019d33d to 0019d341 has its CatchHandler @ 0019d8e8 */
    local_f8 = Object::section_contents(&secn->first->super_Object,secn->second,&plen,false);
  }
  paVar26 = &__return_storage_ptr__->field_2;
  __return_storage_ptr__->_M_string_length = 0;
  icf_reloc_buffer._M_dataplus._M_p = (pointer)&icf_reloc_buffer.field_2;
  (__return_storage_ptr__->_M_dataplus)._M_p = (pointer)paVar26;
  (__return_storage_ptr__->field_2)._M_local_buf[0] = '\0';
  if (num_tracked_relocs != (uint *)0x0) {
    *num_tracked_relocs = 0;
    paVar26 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
               *)(__return_storage_ptr__->_M_dataplus)._M_p;
  }
  uVar13 = (symtab->icf_->reloc_info_list_)._M_h._M_bucket_count;
  p_Var30 = (_Hash_node_base *)((ulong)secn->second ^ (ulong)secn->first);
  uVar21 = (ulong)p_Var30 % uVar13;
  p_Var32 = (symtab->icf_->reloc_info_list_)._M_h._M_buckets[uVar21];
  if (p_Var32 != (__bucket_type)0x0) {
    p_Var19 = p_Var32->_M_nxt[0x12]._M_nxt;
    p_Var3 = p_Var32->_M_nxt;
    while (((p_Var29 = p_Var3, p_Var30 != p_Var19 || (secn->first != (Relobj *)p_Var29[1]._M_nxt))
           || (secn->second != *(uint *)&p_Var29[2]._M_nxt))) {
      p_Var3 = p_Var29->_M_nxt;
      if ((p_Var3 == (_Hash_node_base *)0x0) ||
         (p_Var19 = p_Var3[0x12]._M_nxt, p_Var32 = p_Var29, uVar21 != (ulong)p_Var19 % uVar13))
      goto LAB_0019d260;
    }
    p_Var30 = p_Var32->_M_nxt;
    if (p_Var30 != (_Hash_node_base *)0x0) {
      __return_storage_ptr__->_M_string_length = 0;
      lVar28 = 0;
      paVar26->_M_local_buf[0] = '\0';
      icf_reloc_buffer._M_string_length = 0;
      icf_reloc_buffer.field_2._M_local_buf[0] = '\0';
      p_Var19 = p_Var30[6]._M_nxt;
      p_Var3 = p_Var30[9]._M_nxt;
      p_Var4 = p_Var30[0xc]._M_nxt;
      p_Var5 = p_Var30[0xf]._M_nxt;
      p_Var27 = p_Var30[3]._M_nxt;
      if (p_Var27 == p_Var30[4]._M_nxt) goto LAB_0019d282;
      goto LAB_0019ce2c;
    }
  }
LAB_0019d260:
  __return_storage_ptr__->_M_string_length = 0;
  paVar26->_M_local_buf[0] = '\0';
  icf_reloc_buffer._M_string_length = 0;
  icf_reloc_buffer.field_2._M_local_buf[0] = '\0';
  goto LAB_0019d282;
LAB_0019ce2c:
  do {
    puVar33 = *(undefined8 **)((long)&p_Var19->_M_nxt + lVar28 * 2);
    bVar34 = puVar33 == (undefined8 *)0xffffffffffffffff;
    if (bVar34) {
      puVar33 = (undefined8 *)0x0;
    }
    lVar31 = *(long *)((long)&p_Var3[1]._M_nxt + lVar28 * 4);
    lVar20 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);
    if (first_iteration) {
      p_Var6 = p_Var27->_M_nxt;
      if (p_Var6 != (_Hash_node_base *)0x0) {
        addend_str._8_4_ = *(undefined4 *)&p_Var27[1]._M_nxt;
        addend_str._16_8_ = lVar20 + lVar31;
        pTVar7 = parameters->target_;
        addend_str._0_8_ = p_Var6;
        if (pTVar7 == (Target *)0x0) {
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/parameters.h",0x69,"target");
        }
                    /* try { // try from 0019cb7f to 0019d2d3 has its CatchHandler @ 0019d8f0 */
        (*pTVar7->_vptr_Target[0x11])(pTVar7,addend_str);
        if (addend_str._8_4_ == *(int *)&p_Var27[1]._M_nxt) {
          lVar31 = *(long *)((long)&p_Var3[1]._M_nxt + lVar28 * 4);
          lVar20 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);
        }
        else {
          *(undefined4 *)&p_Var27[1]._M_nxt = addend_str._8_4_;
          lVar31 = 0;
          *(undefined8 *)((long)&p_Var3[1]._M_nxt + lVar28 * 4) = 0;
          *(undefined8 *)((long)&p_Var3->_M_nxt + lVar28 * 4) = addend_str._16_8_;
          lVar20 = addend_str._16_8_;
        }
      }
      snprintf(addend_str,0x32,"%llx %llx %llx",lVar20,lVar31,
               *(undefined8 *)((long)&p_Var4->_M_nxt + lVar28 * 2));
      if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) goto LAB_0019cbd9;
      pcVar22 = (char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length);
      puVar25 = (uint *)addend_str;
      if (puVar33 != (undefined8 *)0x0) {
        pcVar23 = (char *)*puVar33;
        pcVar15 = (char *)strlen(pcVar23);
        if (pcVar22 < pcVar15) {
                    /* WARNING: Subroutine does not return */
          std::__throw_length_error("basic_string::append");
        }
        std::string::_M_append((string *)__return_storage_ptr__,pcVar23,(ulong)pcVar15);
        pcVar22 = (char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length);
      }
      do {
        puVar24 = puVar25;
        uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;
        uVar11 = uVar10 & 0x80808080;
        puVar25 = puVar24 + 1;
      } while (uVar11 == 0);
      bVar34 = (uVar10 & 0x8080) == 0;
      if (bVar34) {
        uVar11 = uVar11 >> 0x10;
      }
      if (bVar34) {
        puVar25 = (uint *)((long)puVar24 + 6);
      }
      pcVar23 = (char *)((long)puVar25 +
                        ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str));
      if (pcVar22 < pcVar23) {
                    /* WARNING: Subroutine does not return */
        std::__throw_length_error("basic_string::append");
      }
      std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar23);
      if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {
                    /* WARNING: Subroutine does not return */
        std::__throw_length_error("basic_string::append");
      }
LAB_0019d1b1:
      std::string::_M_append((string *)__return_storage_ptr__,"@",1);
    }
    else {
      snprintf(addend_str,0x32,"%llx %llx %llx",lVar20,lVar31,
               *(undefined8 *)((long)&p_Var4->_M_nxt + lVar28 * 2));
      if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {
LAB_0019cbd9:
        reloc_secn.first = (Relobj *)p_Var27->_M_nxt;
        reloc_secn.second = *(uint *)&p_Var27[1]._M_nxt;
        if ((secn->first == reloc_secn.first) && (secn->second == reloc_secn.second)) {
          if (first_iteration) {
            if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {
                    /* WARNING: Subroutine does not return */
              std::__throw_length_error("basic_string::append");
            }
            std::string::_M_append((string *)__return_storage_ptr__,"R",1);
            puVar25 = (uint *)addend_str;
            do {
              puVar24 = puVar25;
              uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;
              uVar11 = uVar10 & 0x80808080;
              puVar25 = puVar24 + 1;
            } while (uVar11 == 0);
            bVar34 = (uVar10 & 0x8080) == 0;
            if (bVar34) {
              uVar11 = uVar11 >> 0x10;
            }
            if (bVar34) {
              puVar25 = (uint *)((long)puVar24 + 6);
            }
            pcVar22 = (char *)((long)puVar25 +
                              ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str));
            if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22) {
                    /* WARNING: Subroutine does not return */
              std::__throw_length_error("basic_string::append");
            }
            std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);
            if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {
                    /* WARNING: Subroutine does not return */
              std::__throw_length_error("basic_string::append");
            }
            goto LAB_0019d1b1;
          }
        }
        else {
          iVar12 = std::
                   _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                   ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                           *)&symtab->icf_->section_id_,&reloc_secn);
          if (puVar33 == (undefined8 *)0x0) {
LAB_0019cc40:
            if (iVar12.
                super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>
                ._M_cur != (__node_type *)0x0) {
              if (num_tracked_relocs != (uint *)0x0) {
                *num_tracked_relocs = *num_tracked_relocs + 1;
              }
              snprintf(kept_section_str,10,"%u",
                       (ulong)(kept_section_id->
                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>).
                              _M_impl._M_start
                              [*(uint *)((long)iVar12.
                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>
                                               ._M_cur + 0x18)]);
              puVar25 = (uint *)kept_section_str;
              if (first_iteration) {
                if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 5) {
                    /* WARNING: Subroutine does not return */
                  std::__throw_length_error("basic_string::append");
                }
                std::string::_M_append((string *)__return_storage_ptr__,"ICF_R",5);
                puVar25 = (uint *)addend_str;
                do {
                  puVar24 = puVar25;
                  uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;
                  uVar11 = uVar10 & 0x80808080;
                  puVar25 = puVar24 + 1;
                } while (uVar11 == 0);
                bVar34 = (uVar10 & 0x8080) == 0;
                if (bVar34) {
                  uVar11 = uVar11 >> 0x10;
                }
                if (bVar34) {
                  puVar25 = (uint *)((long)puVar24 + 6);
                }
                pcVar22 = (char *)((long)puVar25 +
                                  ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -
                                  (long)addend_str));
                if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) <
                    pcVar22) {
                    /* WARNING: Subroutine does not return */
                  std::__throw_length_error("basic_string::append");
                }
                std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);
                puVar25 = (uint *)kept_section_str;
              }
              do {
                puVar24 = puVar25;
                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;
                uVar11 = uVar10 & 0x80808080;
                puVar25 = puVar24 + 1;
              } while (uVar11 == 0);
              bVar34 = (uVar10 & 0x8080) == 0;
              if (bVar34) {
                uVar11 = uVar11 >> 0x10;
              }
              if (bVar34) {
                puVar25 = (uint *)((long)puVar24 + 6);
              }
              pcVar22 = (char *)((long)puVar25 +
                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -
                                (long)kept_section_str));
              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {
                    /* WARNING: Subroutine does not return */
                std::__throw_length_error("basic_string::append");
              }
              std::string::_M_append((string *)&icf_reloc_buffer,kept_section_str,(ulong)pcVar22);
              puVar25 = (uint *)addend_str;
              do {
                puVar24 = puVar25;
                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;
                uVar11 = uVar10 & 0x80808080;
                puVar25 = puVar24 + 1;
              } while (uVar11 == 0);
              bVar34 = (uVar10 & 0x8080) == 0;
              if (bVar34) {
                uVar11 = uVar11 >> 0x10;
              }
              if (bVar34) {
                puVar25 = (uint *)((long)puVar24 + 6);
              }
              pcVar22 = (char *)((long)puVar25 +
                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)
                                );
              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {
                    /* WARNING: Subroutine does not return */
                std::__throw_length_error("basic_string::append");
              }
              std::string::_M_append((string *)&icf_reloc_buffer,addend_str,(ulong)pcVar22);
              if (icf_reloc_buffer._M_string_length == 0x7fffffffffffffff) {
                    /* WARNING: Subroutine does not return */
                std::__throw_length_error("basic_string::append");
              }
              std::string::_M_append((string *)&icf_reloc_buffer,"@",1);
              goto LAB_0019ce15;
            }
          }
          else {
            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 0) {
              if (((*(byte *)(puVar33[2] + 0x3c) & 1) == 0) &&
                 ((*(int *)(puVar33 + 3) != 0 || ((*(byte *)((long)puVar33 + 0x3b) & 0x20) == 0))))
              goto LAB_0019cf7c;
              goto LAB_0019cc40;
            }
            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 4) goto LAB_0019cc40;
LAB_0019cf7c:
            if (((*(byte *)((long)puVar33 + 0x39) & 3) != 0) ||
               ((*(byte *)((long)puVar33 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;
            pGVar8 = parameters->options_;
            if (pGVar8 == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
            }
            if ((pGVar8->shared_).value == false) goto LAB_0019cc40;
            bVar9 = Version_script_info::get_symbol_version
                              (&(pGVar8->dynamic_list_).version_script_info_,(char *)*puVar33,
                               (string *)0x0,&is_global);
            if ((!bVar9) || (is_global != false)) {
              pGVar8 = parameters->options_;
              if (pGVar8 == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
              }
              if (((pGVar8->Bsymbolic_).value != false) ||
                 (((*(byte *)(puVar33 + 7) & 0xf) != 1 &&
                  ((pGVar8->Bsymbolic_functions_).value != false)))) goto LAB_0019cc40;
            }
          }
          if (first_iteration) {
            uVar13 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x11]._M_nxt)
                               (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);
            if ((uVar13 & 0x10) != 0) {
              if (parameters->target_ == (Target *)0x0) {
                    /* WARNING: Subroutine does not return */
                do_gold_unreachable("../../gold/parameters.h",0x69,"target");
              }
              if (parameters->target_->pti_->can_icf_inline_merge_sections != false) {
                uVar21 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x12]._M_nxt)
                                   (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);
                lVar31 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);
                if (bVar34) {
                  if (8 < *(uint *)((long)&p_Var5->_M_nxt + lVar28)) {
                    /* WARNING: Subroutine does not return */
                    do_gold_unreachable("../../gold/icf.cc",0xfb,"get_rel_addend");
                  }
                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */
                    /* WARNING: Treating indirect jump as call */
                  psVar16 = (string *)
                            (*(code *)(&DAT_00340740 +
                                      *(int *)(&DAT_00340740 +
                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4))
                            )(local_f8 + *(long *)((long)&p_Var4->_M_nxt + lVar28 * 2));
                  return psVar16;
                }
                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */
                puVar18 = Object::section_contents
                                    ((Object *)p_Var27->_M_nxt,*(uint *)&p_Var27[1]._M_nxt,
                                     (section_size_type *)kept_section_str,false);
                __s = (int *)(puVar18 + lVar31);
                if ((long)kept_section_str._0_8_ <= lVar31) {
                    /* WARNING: Subroutine does not return */
                  do_gold_unreachable("../../gold/icf.cc",0x1eb,"get_section_contents");
                }
                if ((uVar13 & 0x20) == 0) {
                  if ((ulong)kept_section_str._0_8_ < lVar31 + uVar21) {
                    uVar21 = kept_section_str._0_8_ - lVar31;
                  }
                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {
                    /* WARNING: Subroutine does not return */
                    std::__throw_length_error("basic_string::append");
                  }
LAB_0019d597:
                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,uVar21);
                }
                else {
                  if (uVar21 == 2) {
                    if ((short)*__s == 0) {
LAB_0019d70f:
                      uVar21 = 0;
                    }
                    else {
                      uVar13 = 0;
                      do {
                        uVar11 = (int)uVar13 + 1;
                        uVar13 = (ulong)uVar11;
                      } while (*(short *)((long)__s + uVar13 * 2) != 0);
                      uVar21 = (ulong)(uVar11 * 2);
                      if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {
                    /* WARNING: Subroutine does not return */
                        std::__throw_length_error("basic_string::append");
                      }
                    }
                    goto LAB_0019d597;
                  }
                  if (uVar21 == 4) {
                    if (*__s == 0) goto LAB_0019d70f;
                    uVar13 = 0;
                    do {
                      uVar11 = (int)uVar13 + 1;
                      uVar13 = (ulong)uVar11;
                    } while (__s[uVar13] != 0);
                    uVar21 = (ulong)(uVar11 * 4);
                    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {
                    /* WARNING: Subroutine does not return */
                      std::__throw_length_error("basic_string::append");
                    }
                    goto LAB_0019d597;
                  }
                  if (uVar21 != 1) {
                    /* WARNING: Subroutine does not return */
                    do_gold_unreachable("../../gold/icf.cc",0x210,"get_section_contents");
                  }
                  sVar14 = strlen((char *)__s);
                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {
                    /* WARNING: Subroutine does not return */
                    std::__throw_length_error("basic_string::append");
                  }
                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,sVar14);
                }
                if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {
                    /* WARNING: Subroutine does not return */
                  std::__throw_length_error("basic_string::append");
                }
                goto LAB_0019d1b1;
              }
            }
            if (puVar33 == (undefined8 *)0x0) {
              std::string::_M_append
                        ((string *)__return_storage_ptr__,(char *)p_Var27->_M_nxt[1]._M_nxt,
                         (ulong)p_Var27->_M_nxt[2]._M_nxt);
              snprintf(kept_section_str,10,"%u",(ulong)*(uint *)&p_Var27[1]._M_nxt);
              puVar25 = (uint *)kept_section_str;
              do {
                puVar24 = puVar25;
                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;
                uVar11 = uVar10 & 0x80808080;
                puVar25 = puVar24 + 1;
              } while (uVar11 == 0);
              bVar34 = (uVar10 & 0x8080) == 0;
              if (bVar34) {
                uVar11 = uVar11 >> 0x10;
              }
              if (bVar34) {
                puVar25 = (uint *)((long)puVar24 + 6);
              }
              pcVar22 = (char *)((long)puVar25 +
                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -
                                (long)kept_section_str));
              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)
              {
                    /* WARNING: Subroutine does not return */
                std::__throw_length_error("basic_string::append");
              }
              std::string::_M_append
                        ((string *)__return_storage_ptr__,kept_section_str,(ulong)pcVar22);
              puVar25 = (uint *)addend_str;
              do {
                puVar24 = puVar25;
                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;
                uVar11 = uVar10 & 0x80808080;
                puVar25 = puVar24 + 1;
              } while (uVar11 == 0);
              bVar34 = (uVar10 & 0x8080) == 0;
              if (bVar34) {
                uVar11 = uVar11 >> 0x10;
              }
              if (bVar34) {
                puVar25 = (uint *)((long)puVar24 + 6);
              }
              pcVar22 = (char *)((long)puVar25 +
                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)
                                );
              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)
              {
                    /* WARNING: Subroutine does not return */
                std::__throw_length_error("basic_string::append");
              }
              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);
              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {
                    /* WARNING: Subroutine does not return */
                std::__throw_length_error("basic_string::append");
              }
            }
            else {
              pcVar22 = (char *)*puVar33;
              sVar14 = strlen(pcVar22);
              if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {
                    /* WARNING: Subroutine does not return */
                std::__throw_length_error("basic_string::append");
              }
              std::string::_M_append((string *)__return_storage_ptr__,pcVar22,sVar14);
              puVar25 = (uint *)addend_str;
              do {
                puVar24 = puVar25;
                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;
                uVar11 = uVar10 & 0x80808080;
                puVar25 = puVar24 + 1;
              } while (uVar11 == 0);
              bVar34 = (uVar10 & 0x8080) == 0;
              if (bVar34) {
                uVar11 = uVar11 >> 0x10;
              }
              if (bVar34) {
                puVar25 = (uint *)((long)puVar24 + 6);
              }
              pcVar22 = (char *)((long)puVar25 +
                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)
                                );
              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)
              {
                    /* WARNING: Subroutine does not return */
                std::__throw_length_error("basic_string::append");
              }
              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);
              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {
                    /* WARNING: Subroutine does not return */
                std::__throw_length_error("basic_string::append");
              }
            }
            goto LAB_0019d1b1;
          }
        }
      }
    }
LAB_0019ce15:
    lVar28 = lVar28 + 4;
    p_Var27 = p_Var27 + 2;
  } while (p_Var30[4]._M_nxt != p_Var27);
LAB_0019d282:
  if (first_iteration) {
    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 0xb) {
                    /* WARNING: Subroutine does not return */
      std::__throw_length_error("basic_string::append");
    }
    std::string::_M_append((string *)__return_storage_ptr__,"Contents = ",0xb);
    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < plen) {
                    /* WARNING: Subroutine does not return */
      std::__throw_length_error("basic_string::append");
    }
    std::string::_M_append((string *)__return_storage_ptr__,(char *)local_f8,plen);
    std::string::_M_assign
              ((string *)
               ((section_contents->
                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
                )._M_impl._M_start + section_num),(string *)__return_storage_ptr__);
  }
  else {
    if (__return_storage_ptr__->_M_string_length != 0) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/icf.cc",0x242,"get_section_contents");
    }
    pbVar17 = (section_contents->
              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
              )._M_impl._M_start + section_num;
    std::string::_M_append
              ((string *)__return_storage_ptr__,(pbVar17->_M_dataplus)._M_p,
               pbVar17->_M_string_length);
  }
  std::string::_M_append
            ((string *)__return_storage_ptr__,icf_reloc_buffer._M_dataplus._M_p,
             icf_reloc_buffer._M_string_length);
  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
       *)icf_reloc_buffer._M_dataplus._M_p != &icf_reloc_buffer.field_2) {
    operator_delete(icf_reloc_buffer._M_dataplus._M_p);
  }
  pIVar2 = (pRVar1->super_Object).input_file_;
  if (pIVar2 != (Input_file *)0x0) {
    File_read::unlock(&pIVar2->file_,(Task *)0xffffffffffffffff);
  }
  return __return_storage_ptr__;
}



undefined8 *
FUN_0019c970(undefined8 *param_1,char param_2,ulong *param_3,uint param_4,int *param_5,long param_6,
            long *param_7,long *param_8)

{
  int *__s;
  ulong uVar1;
  long lVar2;
  long *plVar3;
  long lVar4;
  long lVar5;
  long lVar6;
  long lVar7;
  char *__s_00;
  char cVar8;
  uint uVar9;
  uint uVar10;
  long lVar11;
  ulong uVar12;
  size_t sVar13;
  char *pcVar14;
  undefined8 *puVar15;
  long lVar16;
  ulong uVar17;
  ulong uVar18;
  ulong *puVar19;
  ulong *puVar20;
  ulong *puVar21;
  long lVar22;
  long *plVar23;
  char *pcVar24;
  ulong uVar25;
  long *plVar26;
  bool bVar27;
  long local_f8;
  char local_c1;
  ulong local_c0;
  ulong local_b8 [2];
  ulong local_a8;
  int local_a0;
  undefined1 *local_98;
  long local_90;
  undefined1 local_88 [16];
  ulong local_78;
  int local_70;
  long local_68;
  
  uVar1 = *param_3;
  lVar2 = *(long *)(uVar1 + 0x28);
  if (lVar2 != 0) {
    FUN_00192a40(lVar2 + 0x28,0xffffffffffffffff);
  }
  local_f8 = 0;
  if (param_2 != '\0') {
                    /* try { // try from 0019d33d to 0019d341 has its CatchHandler @ 0019d8e8 */
    local_f8 = FUN_001c7ce0(*param_3,(int)param_3[1],&local_c0,0);
  }
  puVar15 = param_1 + 2;
  param_1[1] = 0;
  local_98 = local_88;
  *param_1 = puVar15;
  *(undefined1 *)(param_1 + 2) = 0;
  if (param_5 != (int *)0x0) {
    *param_5 = 0;
    puVar15 = (undefined8 *)*param_1;
  }
  uVar12 = *(ulong *)(*(long *)(param_6 + 0x298) + 0xb0);
  uVar25 = (ulong)(uint)param_3[1] ^ *param_3;
  uVar18 = uVar25 % uVar12;
  plVar26 = *(long **)(*(long *)(*(long *)(param_6 + 0x298) + 0xa8) + uVar18 * 8);
  if (plVar26 != (long *)0x0) {
    uVar17 = ((long *)*plVar26)[0x12];
    plVar3 = (long *)*plVar26;
    while (((plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])) ||
           ((uint)param_3[1] != *(uint *)(plVar23 + 2)))) {
      plVar3 = (long *)*plVar23;
      if ((plVar3 == (long *)0x0) ||
         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)) goto LAB_0019d260;
    }
    lVar2 = *plVar26;
    if (lVar2 != 0) {
      param_1[1] = 0;
      lVar22 = 0;
      *(undefined1 *)puVar15 = 0;
      local_90 = 0;
      local_88[0] = 0;
      lVar4 = *(long *)(lVar2 + 0x30);
      lVar5 = *(long *)(lVar2 + 0x48);
      lVar6 = *(long *)(lVar2 + 0x60);
      lVar7 = *(long *)(lVar2 + 0x78);
      puVar21 = *(ulong **)(lVar2 + 0x18);
      if (puVar21 == *(ulong **)(lVar2 + 0x20)) goto LAB_0019d282;
      goto LAB_0019ce2c;
    }
  }
LAB_0019d260:
  param_1[1] = 0;
  *(undefined1 *)puVar15 = 0;
  local_90 = 0;
  local_88[0] = 0;
  goto LAB_0019d282;
LAB_0019ce2c:
  do {
    puVar15 = *(undefined8 **)(lVar4 + lVar22 * 2);
    bVar27 = puVar15 == (undefined8 *)0xffffffffffffffff;
    if (bVar27) {
      puVar15 = (undefined8 *)0x0;
    }
    lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);
    lVar16 = *(long *)(lVar5 + lVar22 * 4);
    if (param_2 == '\0') {
      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,
               *(undefined8 *)(lVar6 + lVar22 * 2));
      if (*puVar21 != 0) {
LAB_0019cbd9:
        local_a8 = *puVar21;
        local_a0 = (int)puVar21[1];
        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {
          if (param_2 != '\0') {
            if (param_1[1] == 0x7fffffffffffffff) {
                    /* WARNING: Subroutine does not return */
              FUN_002e12b0("basic_string::append");
            }
            FUN_002aac00(param_1,"R",1);
            puVar20 = &local_78;
            do {
              puVar19 = puVar20;
              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;
              uVar10 = uVar9 & 0x80808080;
              puVar20 = (ulong *)((long)puVar19 + 4);
            } while (uVar10 == 0);
            bVar27 = (uVar9 & 0x8080) == 0;
            if (bVar27) {
              uVar10 = uVar10 >> 0x10;
            }
            if (bVar27) {
              puVar20 = (ulong *)((long)puVar19 + 6);
            }
            if ((char *)(0x7fffffffffffffff - param_1[1]) <
                (char *)((long)puVar20 +
                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {
                    /* WARNING: Subroutine does not return */
              FUN_002e12b0("basic_string::append");
            }
            FUN_002aac00(param_1,&local_78);
            if (param_1[1] == 0x7fffffffffffffff) {
                    /* WARNING: Subroutine does not return */
              FUN_002e12b0("basic_string::append");
            }
            goto LAB_0019d1b1;
          }
        }
        else {
          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);
          if (puVar15 == (undefined8 *)0x0) {
LAB_0019cc40:
            if (lVar11 != 0) {
              if (param_5 != (int *)0x0) {
                *param_5 = *param_5 + 1;
              }
              snprintf((char *)local_b8,10,"%u",
                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));
              puVar20 = local_b8;
              if (param_2 != '\0') {
                if (0x7fffffffffffffff - param_1[1] < 5) {
                    /* WARNING: Subroutine does not return */
                  FUN_002e12b0("basic_string::append");
                }
                FUN_002aac00(param_1,"ICF_R",5);
                puVar20 = &local_78;
                do {
                  puVar19 = puVar20;
                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;
                  uVar10 = uVar9 & 0x80808080;
                  puVar20 = (ulong *)((long)puVar19 + 4);
                } while (uVar10 == 0);
                bVar27 = (uVar9 & 0x8080) == 0;
                if (bVar27) {
                  uVar10 = uVar10 >> 0x10;
                }
                if (bVar27) {
                  puVar20 = (ulong *)((long)puVar19 + 6);
                }
                if ((char *)(0x7fffffffffffffff - param_1[1]) <
                    (char *)((long)puVar20 +
                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {
                    /* WARNING: Subroutine does not return */
                  FUN_002e12b0("basic_string::append");
                }
                FUN_002aac00(param_1,&local_78);
                puVar20 = local_b8;
              }
              do {
                puVar19 = puVar20;
                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;
                uVar10 = uVar9 & 0x80808080;
                puVar20 = (ulong *)((long)puVar19 + 4);
              } while (uVar10 == 0);
              bVar27 = (uVar9 & 0x8080) == 0;
              if (bVar27) {
                uVar10 = uVar10 >> 0x10;
              }
              if (bVar27) {
                puVar20 = (ulong *)((long)puVar19 + 6);
              }
              if ((char *)(0x7fffffffffffffff - local_90) <
                  (char *)((long)puVar20 +
                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {
                    /* WARNING: Subroutine does not return */
                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);
              }
              FUN_002aac00(&local_98,local_b8);
              puVar20 = &local_78;
              do {
                puVar19 = puVar20;
                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;
                uVar10 = uVar9 & 0x80808080;
                puVar20 = (ulong *)((long)puVar19 + 4);
              } while (uVar10 == 0);
              bVar27 = (uVar9 & 0x8080) == 0;
              if (bVar27) {
                uVar10 = uVar10 >> 0x10;
              }
              if (bVar27) {
                puVar20 = (ulong *)((long)puVar19 + 6);
              }
              if ((char *)(0x7fffffffffffffff - local_90) <
                  (char *)((long)puVar20 +
                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {
                    /* WARNING: Subroutine does not return */
                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);
              }
              FUN_002aac00(&local_98,&local_78);
              if (local_90 == 0x7fffffffffffffff) {
                    /* WARNING: Subroutine does not return */
                FUN_002e12b0("basic_string::append");
              }
              FUN_002aac00(&local_98,&DAT_0034070c,1);
              goto LAB_0019ce15;
            }
          }
          else {
            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {
              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&
                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))
              goto LAB_0019cf7c;
              goto LAB_0019cc40;
            }
            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;
LAB_0019cf7c:
            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||
               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;
            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);
            if (lVar16 == 0) {
                    /* WARNING: Subroutine does not return */
              FUN_00199900("../../gold/parameters.h",0x5c,"options");
            }
            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;
            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);
            if ((cVar8 == '\0') || (local_c1 != '\0')) {
              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);
              if (lVar16 == 0) {
                    /* WARNING: Subroutine does not return */
                FUN_00199900("../../gold/parameters.h",0x5c,"options");
              }
              if ((*(char *)(lVar16 + 0xd21) != '\0') ||
                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))
              goto LAB_0019cc40;
            }
          }
          if (param_2 != '\0') {
            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);
            if ((uVar12 & 0x10) != 0) {
              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {
                    /* WARNING: Subroutine does not return */
                FUN_00199900("../../gold/parameters.h",0x69,"target");
              }
              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {
                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);
                lVar11 = *(long *)(lVar5 + lVar22 * 4);
                if (bVar27) {
                  if (8 < *(uint *)(lVar7 + lVar22)) {
                    /* WARNING: Subroutine does not return */
                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");
                  }
                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */
                    /* WARNING: Treating indirect jump as call */
                  puVar15 = (undefined8 *)
                            (*(code *)(&DAT_00340740 +
                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)
                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));
                  return puVar15;
                }
                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */
                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);
                __s = (int *)(lVar16 + lVar11);
                if ((long)local_b8[0] <= lVar11) {
                    /* WARNING: Subroutine does not return */
                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");
                }
                if ((uVar12 & 0x20) == 0) {
                  if (local_b8[0] < lVar11 + uVar18) {
                    uVar18 = local_b8[0] - lVar11;
                  }
                  if (0x7fffffffffffffff - param_1[1] < uVar18) {
                    /* WARNING: Subroutine does not return */
                    FUN_002e12b0("basic_string::append");
                  }
LAB_0019d597:
                  FUN_002aac00(param_1,__s,uVar18);
                }
                else {
                  if (uVar18 == 2) {
                    if ((short)*__s == 0) {
LAB_0019d70f:
                      uVar18 = 0;
                    }
                    else {
                      uVar12 = 0;
                      do {
                        uVar10 = (int)uVar12 + 1;
                        uVar12 = (ulong)uVar10;
                      } while (*(short *)((long)__s + uVar12 * 2) != 0);
                      uVar18 = (ulong)(uVar10 * 2);
                      if (0x7fffffffffffffff - param_1[1] < uVar18) {
                    /* WARNING: Subroutine does not return */
                        FUN_002e12b0("basic_string::append");
                      }
                    }
                    goto LAB_0019d597;
                  }
                  if (uVar18 == 4) {
                    if (*__s == 0) goto LAB_0019d70f;
                    uVar12 = 0;
                    do {
                      uVar10 = (int)uVar12 + 1;
                      uVar12 = (ulong)uVar10;
                    } while (__s[uVar12] != 0);
                    uVar18 = (ulong)(uVar10 * 4);
                    if (0x7fffffffffffffff - param_1[1] < uVar18) {
                    /* WARNING: Subroutine does not return */
                      FUN_002e12b0("basic_string::append");
                    }
                    goto LAB_0019d597;
                  }
                  if (uVar18 != 1) {
                    /* WARNING: Subroutine does not return */
                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");
                  }
                  sVar13 = strlen((char *)__s);
                  if (0x7fffffffffffffff - param_1[1] < sVar13) {
                    /* WARNING: Subroutine does not return */
                    FUN_002e12b0("basic_string::append",__s);
                  }
                  FUN_002aac00(param_1,__s,sVar13);
                }
                if (param_1[1] == 0x7fffffffffffffff) {
                    /* WARNING: Subroutine does not return */
                  FUN_002e12b0("basic_string::append");
                }
                goto LAB_0019d1b1;
              }
            }
            if (puVar15 == (undefined8 *)0x0) {
              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));
              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);
              puVar20 = local_b8;
              do {
                puVar19 = puVar20;
                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;
                uVar10 = uVar9 & 0x80808080;
                puVar20 = (ulong *)((long)puVar19 + 4);
              } while (uVar10 == 0);
              bVar27 = (uVar9 & 0x8080) == 0;
              if (bVar27) {
                uVar10 = uVar10 >> 0x10;
              }
              if (bVar27) {
                puVar20 = (ulong *)((long)puVar19 + 6);
              }
              if ((char *)(0x7fffffffffffffff - param_1[1]) <
                  (char *)((long)puVar20 +
                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {
                    /* WARNING: Subroutine does not return */
                FUN_002e12b0("basic_string::append");
              }
              FUN_002aac00(param_1,local_b8);
              puVar20 = &local_78;
              do {
                puVar19 = puVar20;
                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;
                uVar10 = uVar9 & 0x80808080;
                puVar20 = (ulong *)((long)puVar19 + 4);
              } while (uVar10 == 0);
              bVar27 = (uVar9 & 0x8080) == 0;
              if (bVar27) {
                uVar10 = uVar10 >> 0x10;
              }
              if (bVar27) {
                puVar20 = (ulong *)((long)puVar19 + 6);
              }
              if ((char *)(0x7fffffffffffffff - param_1[1]) <
                  (char *)((long)puVar20 +
                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {
                    /* WARNING: Subroutine does not return */
                FUN_002e12b0("basic_string::append");
              }
              FUN_002aac00(param_1,&local_78);
              if (param_1[1] == 0x7fffffffffffffff) {
                    /* WARNING: Subroutine does not return */
                FUN_002e12b0("basic_string::append");
              }
            }
            else {
              pcVar24 = (char *)*puVar15;
              sVar13 = strlen(pcVar24);
              if (0x7fffffffffffffff - param_1[1] < sVar13) {
                    /* WARNING: Subroutine does not return */
                FUN_002e12b0("basic_string::append");
              }
              FUN_002aac00(param_1,pcVar24,sVar13);
              puVar20 = &local_78;
              do {
                puVar19 = puVar20;
                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;
                uVar10 = uVar9 & 0x80808080;
                puVar20 = (ulong *)((long)puVar19 + 4);
              } while (uVar10 == 0);
              bVar27 = (uVar9 & 0x8080) == 0;
              if (bVar27) {
                uVar10 = uVar10 >> 0x10;
              }
              if (bVar27) {
                puVar20 = (ulong *)((long)puVar19 + 6);
              }
              if ((char *)(0x7fffffffffffffff - param_1[1]) <
                  (char *)((long)puVar20 +
                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {
                    /* WARNING: Subroutine does not return */
                FUN_002e12b0("basic_string::append");
              }
              FUN_002aac00(param_1,&local_78);
              if (param_1[1] == 0x7fffffffffffffff) {
                    /* WARNING: Subroutine does not return */
                FUN_002e12b0("basic_string::append");
              }
            }
            goto LAB_0019d1b1;
          }
        }
      }
    }
    else {
      uVar12 = *puVar21;
      if (uVar12 != 0) {
        local_70 = (int)puVar21[1];
        local_68 = lVar16 + lVar11;
        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);
        local_78 = uVar12;
        if (plVar26 == (long *)0x0) {
                    /* WARNING: Subroutine does not return */
          FUN_00199900("../../gold/parameters.h",0x69,"target");
        }
                    /* try { // try from 0019cb7f to 0019d2d3 has its CatchHandler @ 0019d8f0 */
        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);
        if (local_70 == (int)puVar21[1]) {
          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);
          lVar16 = *(long *)(lVar5 + lVar22 * 4);
        }
        else {
          *(int *)(puVar21 + 1) = local_70;
          lVar11 = 0;
          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;
          *(long *)(lVar5 + lVar22 * 4) = local_68;
          lVar16 = local_68;
        }
      }
      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,
               *(undefined8 *)(lVar6 + lVar22 * 2));
      if (*puVar21 != 0) goto LAB_0019cbd9;
      pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);
      puVar20 = &local_78;
      if (puVar15 != (undefined8 *)0x0) {
        __s_00 = (char *)*puVar15;
        pcVar14 = (char *)strlen(__s_00);
        if (pcVar24 < pcVar14) {
                    /* WARNING: Subroutine does not return */
          FUN_002e12b0("basic_string::append");
        }
        FUN_002aac00(param_1,__s_00,pcVar14);
        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);
      }
      do {
        puVar19 = puVar20;
        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;
        uVar10 = uVar9 & 0x80808080;
        puVar20 = (ulong *)((long)puVar19 + 4);
      } while (uVar10 == 0);
      bVar27 = (uVar9 & 0x8080) == 0;
      if (bVar27) {
        uVar10 = uVar10 >> 0x10;
      }
      if (bVar27) {
        puVar20 = (ulong *)((long)puVar19 + 6);
      }
      if (pcVar24 < (char *)((long)puVar20 +
                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {
                    /* WARNING: Subroutine does not return */
        FUN_002e12b0("basic_string::append");
      }
      FUN_002aac00(param_1,&local_78);
      if (param_1[1] == 0x7fffffffffffffff) {
                    /* WARNING: Subroutine does not return */
        FUN_002e12b0("basic_string::append");
      }
LAB_0019d1b1:
      FUN_002aac00(param_1,&DAT_0034070c,1);
    }
LAB_0019ce15:
    lVar22 = lVar22 + 4;
    puVar21 = puVar21 + 2;
  } while (*(ulong **)(lVar2 + 0x20) != puVar21);
LAB_0019d282:
  if (param_2 == '\0') {
    if (param_1[1] != 0) {
                    /* WARNING: Subroutine does not return */
      FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents");
    }
    puVar15 = (undefined8 *)((ulong)param_4 * 0x20 + *param_8);
    FUN_002aac00(param_1,*puVar15,puVar15[1]);
  }
  else {
    if (0x7fffffffffffffff - param_1[1] < 0xb) {
                    /* WARNING: Subroutine does not return */
      FUN_002e12b0("basic_string::append");
    }
    FUN_002aac00(param_1,"Contents = ",0xb);
    if (0x7fffffffffffffff - param_1[1] < local_c0) {
                    /* WARNING: Subroutine does not return */
      FUN_002e12b0("basic_string::append");
    }
    FUN_002aac00(param_1,local_f8);
    FUN_002a95a0((ulong)param_4 * 0x20 + *param_8,param_1);
  }
  FUN_002aac00(param_1,local_98,local_90);
  if (local_98 != local_88) {
    FUN_002a2980();
  }
  lVar2 = *(long *)(uVar1 + 0x28);
  if (lVar2 != 0) {
    FUN_00193600(lVar2 + 0x28,0xffffffffffffffff);
  }
  return param_1;
}


PUSH R15
PUSH R14
PUSH R13
MOV R13,RDI
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x118
MOV RAX,qword ptr [RDX]
MOV dword ptr [RSP + 0x60],ESI
MOV RDI,qword ptr [RAX + 0x28]
MOV qword ptr [RSP + 0x38],RDX
MOV dword ptr [RSP + 0x64],ECX
MOV qword ptr [RSP + 0x48],R8
MOV qword ptr [RSP + 0x40],R9
MOV byte ptr [RSP + 0x16],SIL
MOV qword ptr [RSP + 0x58],RAX
TEST RDI,RDI
JZ 0x0019c9c1
ADD RDI,0x28
MOV RSI,-0x1
CALL 0x00192a40
MOV qword ptr [RSP + 0x50],0x0
CMP byte ptr [RSP + 0x60],0x0
JNZ 0x0019d328
LEA RAX,[RSP + 0xb0]
LEA RBX,[R13 + 0x10]
MOV qword ptr [R13 + 0x8],0x0
MOV qword ptr [RSP + 0x18],RAX
LEA RAX,[RSP + 0xc0]
MOV qword ptr [RSP + 0xb0],RAX
MOV RAX,qword ptr [RSP + 0x48]
MOV qword ptr [RSP + 0x68],RBX
MOV qword ptr [R13],RBX
MOV byte ptr [R13 + 0x10],0x0
MOV qword ptr [RSP + 0xb8],0x0
MOV byte ptr [RSP + 0xc0],0x0
TEST RAX,RAX
JZ 0x0019ca34
MOV dword ptr [RAX],0x0
MOV RBX,qword ptr [R13]
MOV RAX,qword ptr [RSP + 0x40]
XOR EDX,EDX
MOV RCX,qword ptr [RAX + 0x298]
MOV RAX,qword ptr [RSP + 0x38]
MOV R8D,dword ptr [RAX + 0x8]
MOV R11,qword ptr [RAX]
MOV RDI,qword ptr [RCX + 0xb0]
MOV RBP,R8
XOR R8,R11
MOV RAX,R8
DIV RDI
MOV RAX,qword ptr [RCX + 0xa8]
MOV R9,qword ptr [RAX + RDX*0x8]
MOV R10,RDX
TEST R9,R9
JZ 0x0019d260
MOV RSI,qword ptr [R9]
MOV RCX,qword ptr [RSI + 0x90]
JMP 0x0019cab2
MOV RAX,qword ptr [RSI]
TEST RAX,RAX
JZ 0x0019d260
MOV RCX,qword ptr [RAX + 0x90]
MOV R9,RSI
XOR EDX,EDX
MOV RSI,RAX
MOV RAX,RCX
DIV RDI
CMP R10,RDX
JNZ 0x0019d260
CMP R8,RCX
JNZ 0x0019ca88
CMP R11,qword ptr [RSI + 0x8]
JNZ 0x0019ca88
CMP EBP,dword ptr [RSI + 0x10]
JNZ 0x0019ca88
MOV RAX,qword ptr [R9]
MOV qword ptr [RSP + 0x20],RAX
TEST RAX,RAX
JZ 0x0019d260
MOV qword ptr [R13 + 0x8],0x0
XOR EBP,EBP
MOV byte ptr [RBX],0x0
MOV RAX,qword ptr [RSP + 0xb0]
MOV qword ptr [RSP + 0xb8],0x0
MOV byte ptr [RAX],0x0
MOV RAX,qword ptr [RSP + 0x20]
MOV RBX,qword ptr [RAX + 0x30]
MOV R15,qword ptr [RAX + 0x48]
MOV qword ptr [RSP + 0x30],RBX
MOV RBX,qword ptr [RAX + 0x60]
MOV qword ptr [RSP + 0x28],RBX
MOV RBX,qword ptr [RAX + 0x78]
MOV qword ptr [RSP + 0x70],RBX
MOV RBX,qword ptr [RAX + 0x18]
CMP RBX,qword ptr [RAX + 0x20]
JZ 0x0019d282
LEA R14,[RSP + 0xd0]
JMP 0x0019ce2c
MOV RAX,qword ptr [RBX]
TEST RAX,RAX
JZ 0x0019cbb0
MOV qword ptr [RSP + 0xd0],RAX
MOV EAX,dword ptr [RBX + 0x8]
ADD RCX,R8
MOV qword ptr [RSP + 0xe0],RCX
MOV dword ptr [RSP + 0xd8],EAX
MOV RAX,qword ptr [0x003f85c0]
MOV RDI,qword ptr [RAX + 0x18]
TEST RDI,RDI
JZ 0x0019d840
MOV RAX,qword ptr [RDI]
MOV RSI,R14
CALL qword ptr [RAX + 0x88]
MOV EAX,dword ptr [RSP + 0xd8]
CMP EAX,dword ptr [RBX + 0x8]
JZ 0x0019d1d0
MOV RCX,qword ptr [RSP + 0xe0]
MOV dword ptr [RBX + 0x8],EAX
XOR R8D,R8D
MOV qword ptr [R15 + RBP*0x4 + 0x8],0x0
MOV qword ptr [R15 + RBP*0x4],RCX
MOV RAX,qword ptr [RSP + 0x28]
LEA RDX,[0x340720]
MOV ESI,0x32
MOV RDI,R14
MOV R9,qword ptr [RAX + RBP*0x2]
XOR EAX,EAX
CALL 0x00144130
CMP qword ptr [RBX],0x0
JZ 0x0019d100
MOV RAX,qword ptr [RBX]
MOV EDX,dword ptr [RBX + 0x8]
MOV RDI,qword ptr [RSP + 0x38]
MOV qword ptr [RSP + 0xa0],RAX
MOV dword ptr [RSP + 0xa8],EDX
CMP qword ptr [RDI],RAX
JZ 0x0019ce88
MOV RAX,qword ptr [RSP + 0x40]
LEA RSI,[RSP + 0xa0]
MOV RAX,qword ptr [RAX + 0x298]
LEA RDI,[RAX + 0x18]
MOV qword ptr [RSP + 0x8],RAX
CALL 0x0019f9f0
MOV qword ptr [RSP + 0x8],RAX
TEST R12,R12
JZ 0x0019cc40
MOVZX EAX,byte ptr [R12 + 0x3a]
AND EAX,0x7
JZ 0x0019cf58
CMP AL,0x4
JNZ 0x0019cf7c
NOP
CMP qword ptr [RSP + 0x8],0x0
JZ 0x0019d018
MOV RAX,qword ptr [RSP + 0x48]
TEST RAX,RAX
JZ 0x0019cc59
ADD dword ptr [RAX],0x1
MOV RAX,qword ptr [RSP + 0x8]
LEA R12,[RSP + 0x90]
MOV ESI,0xa
MOV RDI,R12
MOV EDX,dword ptr [RAX + 0x18]
MOV RAX,qword ptr [RSP + 0x150]
MOV RAX,qword ptr [RAX]
MOV ECX,dword ptr [RAX + RDX*0x4]
XOR EAX,EAX
LEA RDX,[0x33c4e9]
CALL 0x00144130
CMP byte ptr [RSP + 0x16],0x0
JZ 0x0019cd21
MOV RAX,0x7fffffffffffffff
SUB RAX,qword ptr [R13 + 0x8]
CMP RAX,0x4
JBE 0x0019d870
MOV EDX,0x5
LEA RSI,[0x34070e]
MOV RDI,R13
CALL 0x002aac00
MOV RDX,R14
MOV ECX,dword ptr [RDX]
ADD RDX,0x4
LEA EAX,[RCX + -0x1010101]
NOT ECX
AND EAX,ECX
AND EAX,0x80808080
JZ 0x0019ccc7
MOV ECX,EAX
SHR ECX,0x10
TEST EAX,0x8080
CMOVZ EAX,ECX
LEA RCX,[RDX + 0x2]
CMOVZ RDX,RCX
MOV EDI,EAX
ADD DIL,AL
MOV RAX,0x7fffffffffffffff
SBB RDX,0x3
SUB RAX,qword ptr [R13 + 0x8]
SUB RDX,R14
CMP RDX,RAX
JA 0x0019d864
MOV RSI,R14
MOV RDI,R13
CALL 0x002aac00
MOV RDX,R12
MOV ECX,dword ptr [RDX]
ADD RDX,0x4
LEA EAX,[RCX + -0x1010101]
NOT ECX
AND EAX,ECX
AND EAX,0x80808080
JZ 0x0019cd24
MOV ECX,EAX
SHR ECX,0x10
TEST EAX,0x8080
CMOVZ EAX,ECX
LEA RCX,[RDX + 0x2]
CMOVZ RDX,RCX
MOV ESI,EAX
ADD SIL,AL
MOV RAX,0x7fffffffffffffff
SBB RDX,0x3
SUB RAX,qword ptr [RSP + 0xb8]
SUB RDX,R12
CMP RDX,RAX
JA 0x0019d888
MOV RDI,qword ptr [RSP + 0x18]
MOV RSI,R12
CALL 0x002aac00
MOV RDX,R14
MOV ECX,dword ptr [RDX]
ADD RDX,0x4
LEA EAX,[RCX + -0x1010101]
NOT ECX
AND EAX,ECX
AND EAX,0x80808080
JZ 0x0019cd87
MOV ECX,EAX
SHR ECX,0x10
TEST EAX,0x8080
CMOVZ EAX,ECX
LEA RCX,[RDX + 0x2]
CMOVZ RDX,RCX
MOV ESI,EAX
ADD SIL,AL
MOV RAX,0x7fffffffffffffff
SBB RDX,0x3
SUB RAX,qword ptr [RSP + 0xb8]
SUB RDX,R14
CMP RDX,RAX
JA 0x0019d87c
MOV RDI,qword ptr [RSP + 0x18]
MOV RSI,R14
CALL 0x002aac00
MOV RAX,0x7fffffffffffffff
CMP qword ptr [RSP + 0xb8],RAX
JZ 0x0019d858
MOV RDI,qword ptr [RSP + 0x18]
MOV EDX,0x1
LEA RSI,[0x34070c]
CALL 0x002aac00
MOV RAX,qword ptr [RSP + 0x20]
ADD RBP,0x4
ADD RBX,0x10
CMP qword ptr [RAX + 0x20],RBX
JZ 0x0019d282
MOV RAX,qword ptr [RSP + 0x30]
MOV byte ptr [RSP + 0x17],0x0
MOV R12,qword ptr [RAX + RBP*0x2]
CMP R12,-0x1
JZ 0x0019cf48
CMP byte ptr [RSP + 0x16],0x0
MOV R8,qword ptr [R15 + RBP*0x4 + 0x8]
MOV RCX,qword ptr [R15 + RBP*0x4]
JNZ 0x0019cb40
MOV RAX,qword ptr [RSP + 0x28]
LEA RDX,[0x340720]
MOV ESI,0x32
MOV RDI,R14
MOV R9,qword ptr [RAX + RBP*0x2]
XOR EAX,EAX
CALL 0x00144130
CMP qword ptr [RBX],0x0
JNZ 0x0019cbd9
JMP 0x0019ce15
CMP dword ptr [RDI + 0x8],EDX
JNZ 0x0019cbfc
CMP byte ptr [RSP + 0x16],0x0
JZ 0x0019ce15
MOV RAX,0x7fffffffffffffff
CMP qword ptr [R13 + 0x8],RAX
JZ 0x0019d8ac
MOV EDX,0x1
LEA RSI,[0x34f8c5]
MOV RDI,R13
CALL 0x002aac00
MOV RDX,R14
MOV ECX,dword ptr [RDX]
ADD RDX,0x4
LEA EAX,[RCX + -0x1010101]
NOT ECX
AND EAX,ECX
AND EAX,0x80808080
JZ 0x0019cec7
MOV ECX,EAX
SHR ECX,0x10
TEST EAX,0x8080
CMOVZ EAX,ECX
LEA RCX,[RDX + 0x2]
CMOVZ RDX,RCX
MOV EDI,EAX
ADD DIL,AL
MOV RAX,0x7fffffffffffffff
SBB RDX,0x3
SUB RAX,qword ptr [R13 + 0x8]
SUB RDX,R14
CMP RDX,RAX
JA 0x0019d8b8
MOV RSI,R14
MOV RDI,R13
CALL 0x002aac00
MOV RAX,0x7fffffffffffffff
CMP qword ptr [R13 + 0x8],RAX
JNZ 0x0019d1b1
LEA RDI,[0x33f24b]
CALL 0x002e12b0
MOV byte ptr [RSP + 0x17],0x1
XOR R12D,R12D
JMP 0x0019ce44
MOV RAX,qword ptr [R12 + 0x10]
TEST byte ptr [RAX + 0x3c],0x1
JNZ 0x0019cc40
MOV ESI,dword ptr [R12 + 0x18]
TEST ESI,ESI
JNZ 0x0019cf7c
TEST byte ptr [R12 + 0x3b],0x20
JNZ 0x0019cc40
TEST byte ptr [R12 + 0x39],0x3
JNZ 0x0019cc40
TEST byte ptr [R12 + 0x3b],0x10
JNZ 0x0019cc40
MOV RAX,qword ptr [0x003f85c0]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x0019d81e
CMP byte ptr [RAX + 0x2a61],0x0
JZ 0x0019cc40
MOV RSI,qword ptr [R12]
LEA RCX,[RSP + 0x87]
LEA RDI,[RAX + 0x9120]
XOR EDX,EDX
CALL 0x00241de0
TEST AL,AL
JNZ 0x0019d5c0
MOV RAX,qword ptr [0x003f85c0]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x0019d72e
CMP byte ptr [RAX + 0xd21],0x0
JNZ 0x0019cc40
MOVZX EDX,byte ptr [R12 + 0x38]
AND EDX,0xf
CMP DL,0x1
JZ 0x0019d018
CMP byte ptr [RAX + 0xde9],0x0
JNZ 0x0019cc40
NOP dword ptr [RAX + RAX*0x1]
CMP byte ptr [RSP + 0x16],0x0
JZ 0x0019ce15
MOV RDI,qword ptr [RBX]
MOV ESI,dword ptr [RBX + 0x8]
MOV RAX,qword ptr [RDI]
CALL qword ptr [RAX + 0x88]
MOV qword ptr [RSP + 0x8],RAX
TEST AL,0x10
JNZ 0x0019d1e0
TEST R12,R12
JZ 0x0019d3e0
MOV R12,qword ptr [R12]
MOV RDI,R12
CALL 0x00144490
MOV RDX,0x7fffffffffffffff
SUB RDX,qword ptr [R13 + 0x8]
CMP RAX,RDX
JA 0x0019d7ca
MOV RDX,RAX
MOV RSI,R12
MOV RDI,R13
CALL 0x002aac00
MOV RDX,R14
MOV ECX,dword ptr [RDX]
ADD RDX,0x4
LEA EAX,[RCX + -0x1010101]
NOT ECX
AND EAX,ECX
AND EAX,0x80808080
JZ 0x0019d07c
MOV ECX,EAX
SHR ECX,0x10
TEST EAX,0x8080
CMOVZ EAX,ECX
LEA RCX,[RDX + 0x2]
CMOVZ RDX,RCX
MOV EDI,EAX
ADD DIL,AL
MOV RAX,0x7fffffffffffffff
SBB RDX,0x3
SUB RAX,qword ptr [R13 + 0x8]
SUB RDX,R14
CMP RDX,RAX
JA 0x0019d8c4
MOV RSI,R14
MOV RDI,R13
CALL 0x002aac00
MOV RAX,0x7fffffffffffffff
CMP qword ptr [R13 + 0x8],RAX
JNZ 0x0019d1b1
LEA RDI,[0x33f24b]
CALL 0x002e12b0
MOV RSI,0x7fffffffffffffff
SUB RSI,qword ptr [R13 + 0x8]
TEST R12,R12
JZ 0x0019d14e
MOV R12,qword ptr [R12]
MOV qword ptr [RSP + 0x8],RSI
MOV RDI,R12
CALL 0x00144490
MOV RSI,qword ptr [RSP + 0x8]
CMP RAX,RSI
JA 0x0019d7d6
MOV RDX,RAX
MOV RSI,R12
MOV RDI,R13
CALL 0x002aac00
MOV RSI,0x7fffffffffffffff
SUB RSI,qword ptr [R13 + 0x8]
MOV RDX,R14
MOV ECX,dword ptr [RDX]
ADD RDX,0x4
LEA EAX,[RCX + -0x1010101]
NOT ECX
AND EAX,ECX
AND EAX,0x80808080
JZ 0x0019d151
MOV ECX,EAX
SHR ECX,0x10
TEST EAX,0x8080
CMOVZ EAX,ECX
LEA RCX,[RDX + 0x2]
CMOVZ RDX,RCX
MOV EDI,EAX
ADD DIL,AL
SBB RDX,0x3
SUB RDX,R14
CMP RDX,RSI
JA 0x0019d8a0
MOV RSI,R14
MOV RDI,R13
CALL 0x002aac00
MOV RAX,0x7fffffffffffffff
CMP qword ptr [R13 + 0x8],RAX
JZ 0x0019d894
MOV EDX,0x1
LEA RSI,[0x34070c]
MOV RDI,R13
CALL 0x002aac00
JMP 0x0019ce15
MOV R8,qword ptr [R15 + RBP*0x4 + 0x8]
MOV RCX,qword ptr [R15 + RBP*0x4]
JMP 0x0019cbb0
MOV RAX,qword ptr [0x003f85c0]
MOV RAX,qword ptr [RAX + 0x18]
TEST RAX,RAX
JZ 0x0019d7e2
MOV RAX,qword ptr [RAX + 0x8]
CMP byte ptr [RAX + 0x10],0x0
JZ 0x0019d03f
MOV RDI,qword ptr [RBX]
MOV ESI,dword ptr [RBX + 0x8]
MOV RAX,qword ptr [RDI]
CALL qword ptr [RAX + 0x90]
MOV R12,RAX
MOV RAX,qword ptr [R15 + RBP*0x4]
CMP byte ptr [RSP + 0x17],0x0
MOV qword ptr [RSP + 0x78],RAX
JZ 0x0019d366
MOV RAX,qword ptr [RSP + 0x28]
MOV RDI,qword ptr [RSP + 0x50]
ADD RDI,qword ptr [RAX + RBP*0x2]
MOV RAX,qword ptr [RSP + 0x70]
CMP dword ptr [RAX + RBP*0x1],0x8
JA 0x0019d79a
MOV EAX,dword ptr [RAX + RBP*0x1]
LEA RSI,[0x340740]
MOVSXD RAX,dword ptr [RSI + RAX*0x4]
ADD RAX,RSI
JMP RAX
MOV qword ptr [R13 + 0x8],0x0
MOV byte ptr [RBX],0x0
MOV RAX,qword ptr [RSP + 0xb0]
MOV qword ptr [RSP + 0xb8],0x0
MOV byte ptr [RAX],0x0
CMP byte ptr [RSP + 0x60],0x0
MOV RAX,qword ptr [R13 + 0x8]
JNZ 0x0019d4f0
TEST RAX,RAX
JNZ 0x0019d8d0
MOV EAX,dword ptr [RSP + 0x64]
MOV RBX,qword ptr [RSP + 0x158]
MOV RDI,R13
SHL RAX,0x5
ADD RAX,qword ptr [RBX]
MOV RDX,qword ptr [RAX + 0x8]
MOV RSI,qword ptr [RAX]
CALL 0x002aac00
MOV RDX,qword ptr [RSP + 0xb8]
MOV RSI,qword ptr [RSP + 0xb0]
MOV RDI,R13
CALL 0x002aac00
MOV RAX,qword ptr [RSP + 0x18]
MOV RDI,qword ptr [RSP + 0xb0]
ADD RAX,0x10
CMP RDI,RAX
JZ 0x0019d2ef
CALL 0x002a2980
MOV RAX,qword ptr [RSP + 0x58]
MOV RAX,qword ptr [RAX + 0x28]
TEST RAX,RAX
JZ 0x0019d30d
LEA RDI,[RAX + 0x28]
MOV RSI,-0x1
CALL 0x00193600
ADD RSP,0x118
MOV RAX,R13
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOV RAX,qword ptr [RSP + 0x38]
LEA RDX,[RSP + 0x88]
XOR ECX,ECX
MOV ESI,dword ptr [RAX + 0x8]
MOV RDI,qword ptr [RAX]
CALL 0x001c7ce0
MOV qword ptr [RSP + 0x50],RAX
JMP 0x0019c9d5
MOV ESI,dword ptr [RBX + 0x8]
MOV RDI,qword ptr [RBX]
LEA RDX,[RSP + 0x90]
XOR ECX,ECX
CALL 0x001c7ce0
MOV RDI,qword ptr [RSP + 0x78]
LEA RSI,[RAX + RDI*0x1]
MOV RAX,qword ptr [RSP + 0x90]
CMP RAX,RDI
JLE 0x0019d782
TEST byte ptr [RSP + 0x8],0x20
JZ 0x0019d567
CMP R12,0x2
JZ 0x0019d6c7
CMP R12,0x4
JZ 0x0019d609
CMP R12,0x1
JZ 0x0019d5d3
LEA RDX,[0x3407b0]
MOV ESI,0x210
LEA RDI,[0x3406fa]
CALL 0x00199900
MOV RAX,qword ptr [RBX]
MOV RDI,R13
MOV RDX,qword ptr [RAX + 0x10]
MOV RSI,qword ptr [RAX + 0x8]
CALL 0x002aac00
LEA R12,[RSP + 0x90]
MOV ECX,dword ptr [RBX + 0x8]
MOV ESI,0xa
XOR EAX,EAX
LEA RDX,[0x33c4e9]
MOV RDI,R12
CALL 0x00144130
MOV RDX,R12
MOV ECX,dword ptr [RDX]
ADD RDX,0x4
LEA EAX,[RCX + -0x1010101]
NOT ECX
AND EAX,ECX
AND EAX,0x80808080
JZ 0x0019d417
MOV ECX,EAX
SHR ECX,0x10
TEST EAX,0x8080
CMOVZ EAX,ECX
LEA RCX,[RDX + 0x2]
CMOVZ RDX,RCX
MOV EDI,EAX
ADD DIL,AL
MOV RAX,0x7fffffffffffffff
SBB RDX,0x3
SUB RAX,qword ptr [R13 + 0x8]
SUB RDX,R12
CMP RDX,RAX
JA 0x0019d7b2
MOV RSI,R12
MOV RDI,R13
CALL 0x002aac00
MOV RDX,R14
MOV ECX,dword ptr [RDX]
ADD RDX,0x4
LEA EAX,[RCX + -0x1010101]
NOT ECX
AND EAX,ECX
AND EAX,0x80808080
JZ 0x0019d474
MOV ECX,EAX
SHR ECX,0x10
TEST EAX,0x8080
CMOVZ EAX,ECX
LEA RCX,[RDX + 0x2]
CMOVZ RDX,RCX
MOV EDI,EAX
ADD DIL,AL
MOV RAX,0x7fffffffffffffff
SBB RDX,0x3
SUB RAX,qword ptr [R13 + 0x8]
SUB RDX,R14
CMP RDX,RAX
JA 0x0019d7be
MOV RSI,R14
MOV RDI,R13
CALL 0x002aac00
MOV RAX,0x7fffffffffffffff
CMP qword ptr [R13 + 0x8],RAX
JNZ 0x0019d1b1
LEA RDI,[0x33f24b]
CALL 0x002e12b0
MOV RDX,0x7fffffffffffffff
SUB RDX,RAX
CMP RDX,0xa
JBE 0x0019d812
MOV EDX,0xb
LEA RSI,[0x340714]
MOV RDI,R13
CALL 0x002aac00
MOV RDX,qword ptr [RSP + 0x88]
MOV RAX,0x7fffffffffffffff
SUB RAX,qword ptr [R13 + 0x8]
CMP RDX,RAX
JA 0x0019d806
MOV RSI,qword ptr [RSP + 0x50]
MOV RDI,R13
CALL 0x002aac00
MOV EDI,dword ptr [RSP + 0x64]
MOV RAX,qword ptr [RSP + 0x158]
MOV RSI,R13
SHL RDI,0x5
ADD RDI,qword ptr [RAX]
CALL 0x002a95a0
JMP 0x0019d2bc
MOV RDI,qword ptr [RSP + 0x78]
MOV RDX,RAX
LEA RCX,[RDI + R12*0x1]
SUB RDX,RDI
CMP RAX,RCX
MOV RAX,0x7fffffffffffffff
CMOVC R12,RDX
SUB RAX,qword ptr [R13 + 0x8]
CMP R12,RAX
JA 0x0019d7fa
MOV RDX,R12
MOV RDI,R13
CALL 0x002aac00
MOV RAX,0x7fffffffffffffff
CMP qword ptr [R13 + 0x8],RAX
JNZ 0x0019d1b1
LEA RDI,[0x33f24b]
CALL 0x002e12b0
CMP byte ptr [RSP + 0x87],0x0
JZ 0x0019d018
JMP 0x0019cfd7
MOV RDI,RSI
MOV qword ptr [RSP + 0x8],RSI
CALL 0x00144490
MOV RSI,qword ptr [RSP + 0x8]
MOV RDX,0x7fffffffffffffff
SUB RDX,qword ptr [R13 + 0x8]
CMP RAX,RDX
JA 0x0019d75e
MOV RDX,RAX
MOV RDI,R13
CALL 0x002aac00
JMP 0x0019d59f
MOV ECX,dword ptr [RSI]
TEST ECX,ECX
JZ 0x0019d70f
XOR EAX,EAX
LEA EDX,[RAX + 0x1]
MOV RAX,RDX
MOV EDX,dword ptr [RSI + RDX*0x4]
TEST EDX,EDX
JNZ 0x0019d615
LEA EDX,[RAX*0x4]
MOV RAX,0x7fffffffffffffff
SUB RAX,qword ptr [R13 + 0x8]
CMP RDX,RAX
JBE 0x0019d597
LEA RDI,[0x33f24b]
CALL 0x002e12b0
CMP word ptr [RSI],0x0
JZ 0x0019d70f
XOR EAX,EAX
LEA EDX,[RAX + 0x1]
CMP word ptr [RSI + RDX*0x2],0x0
MOV RAX,RDX
JNZ 0x0019d6cf
MOV RAX,0x7fffffffffffffff
ADD EDX,EDX
SUB RAX,qword ptr [R13 + 0x8]
CMP RDX,RAX
JBE 0x0019d597
LEA RDI,[0x33f24b]
CALL 0x002e12b0
XOR EDX,EDX
JMP 0x0019d597
LEA RDX,[0x340790]
MOV ESI,0x5c
LEA RDI,[0x333279]
CALL 0x00199900
LEA RDI,[0x33f24b]
CALL 0x002e12b0
LEA RDX,[0x3407b0]
MOV ESI,0x1eb
LEA RDI,[0x3406fa]
CALL 0x00199900
LEA RDX,[0x340798]
MOV ESI,0xfb
LEA RDI,[0x3406fa]
CALL 0x00199900
LEA RDI,[0x33f24b]
CALL 0x002e12b0
LEA RDI,[0x33f24b]
CALL 0x002e12b0
LEA RDI,[0x33f24b]
CALL 0x002e12b0
LEA RDI,[0x33f24b]
CALL 0x002e12b0
LEA RDX,[0x340804]
MOV ESI,0x69
LEA RDI,[0x333279]
CALL 0x00199900
LEA RDI,[0x33f24b]
CALL 0x002e12b0
LEA RDI,[0x33f24b]
CALL 0x002e12b0
LEA RDI,[0x33f24b]
CALL 0x002e12b0
LEA RDX,[0x340790]
MOV ESI,0x5c
LEA RDI,[0x333279]
CALL 0x00199900
LEA RDX,[0x340804]
MOV ESI,0x69
LEA RDI,[0x333279]
CALL 0x00199900
LEA RDI,[0x33f24b]
CALL 0x002e12b0
LEA RDI,[0x33f24b]
CALL 0x002e12b0
LEA RDI,[0x33f24b]
CALL 0x002e12b0
LEA RDI,[0x33f24b]
CALL 0x002e12b0
LEA RDI,[0x33f24b]
CALL 0x002e12b0
LEA RDI,[0x33f24b]
CALL 0x002e12b0
LEA RDI,[0x33f24b]
CALL 0x002e12b0
LEA RDI,[0x33f24b]
CALL 0x002e12b0
LEA RDI,[0x33f24b]
CALL 0x002e12b0
LEA RDI,[0x33f24b]
CALL 0x002e12b0
LEA RDX,[0x3407b0]
MOV ESI,0x242
LEA RDI,[0x3406fa]
CALL 0x00199900
(translation_unit "undefined8 *\nFUN_0019c970(undefined8 *param_1,char param_2,ulong *param_3,uint param_4,int *param_5,long param_6,\n            long *param_7,long *param_8)\n\n{\n  int *__s;\n  ulong uVar1;\n  long lVar2;\n  long *plVar3;\n  long lVar4;\n  long lVar5;\n  long lVar6;\n  long lVar7;\n  char *__s_00;\n  char cVar8;\n  uint uVar9;\n  uint uVar10;\n  long lVar11;\n  ulong uVar12;\n  size_t sVar13;\n  char *pcVar14;\n  undefined8 *puVar15;\n  long lVar16;\n  ulong uVar17;\n  ulong uVar18;\n  ulong *puVar19;\n  ulong *puVar20;\n  ulong *puVar21;\n  long lVar22;\n  long *plVar23;\n  char *pcVar24;\n  ulong uVar25;\n  long *plVar26;\n  bool bVar27;\n  long local_f8;\n  char local_c1;\n  ulong local_c0;\n  ulong local_b8 [2];\n  ulong local_a8;\n  int local_a0;\n  undefined1 *local_98;\n  long local_90;\n  undefined1 local_88 [16];\n  ulong local_78;\n  int local_70;\n  long local_68;\n  \n  uVar1 = *param_3;\n  lVar2 = *(long *)(uVar1 + 0x28);\n  if (lVar2 != 0) {\n    FUN_00192a40(lVar2 + 0x28,0xffffffffffffffff);\n  }\n  local_f8 = 0;\n  if (param_2 != '\0') {\n                    /* try { // try from 0019d33d to 0019d341 has its CatchHandler @ 0019d8e8 */\n    local_f8 = FUN_001c7ce0(*param_3,(int)param_3[1],&local_c0,0);\n  }\n  puVar15 = param_1 + 2;\n  param_1[1] = 0;\n  local_98 = local_88;\n  *param_1 = puVar15;\n  *(undefined1 *)(param_1 + 2) = 0;\n  if (param_5 != (int *)0x0) {\n    *param_5 = 0;\n    puVar15 = (undefined8 *)*param_1;\n  }\n  uVar12 = *(ulong *)(*(long *)(param_6 + 0x298) + 0xb0);\n  uVar25 = (ulong)(uint)param_3[1] ^ *param_3;\n  uVar18 = uVar25 % uVar12;\n  plVar26 = *(long **)(*(long *)(*(long *)(param_6 + 0x298) + 0xa8) + uVar18 * 8);\n  if (plVar26 != (long *)0x0) {\n    uVar17 = ((long *)*plVar26)[0x12];\n    plVar3 = (long *)*plVar26;\n    while (((plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])) ||\n           ((uint)param_3[1] != *(uint *)(plVar23 + 2)))) {\n      plVar3 = (long *)*plVar23;\n      if ((plVar3 == (long *)0x0) ||\n         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)) goto LAB_0019d260;\n    }\n    lVar2 = *plVar26;\n    if (lVar2 != 0) {\n      param_1[1] = 0;\n      lVar22 = 0;\n      *(undefined1 *)puVar15 = 0;\n      local_90 = 0;\n      local_88[0] = 0;\n      lVar4 = *(long *)(lVar2 + 0x30);\n      lVar5 = *(long *)(lVar2 + 0x48);\n      lVar6 = *(long *)(lVar2 + 0x60);\n      lVar7 = *(long *)(lVar2 + 0x78);\n      puVar21 = *(ulong **)(lVar2 + 0x18);\n      if (puVar21 == *(ulong **)(lVar2 + 0x20)) goto LAB_0019d282;\n      goto LAB_0019ce2c;\n    }\n  }\nLAB_0019d260:\n  param_1[1] = 0;\n  *(undefined1 *)puVar15 = 0;\n  local_90 = 0;\n  local_88[0] = 0;\n  goto LAB_0019d282;\nLAB_0019ce2c:\n  do {\n    puVar15 = *(undefined8 **)(lVar4 + lVar22 * 2);\n    bVar27 = puVar15 == (undefined8 *)0xffffffffffffffff;\n    if (bVar27) {\n      puVar15 = (undefined8 *)0x0;\n    }\n    lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n    lVar16 = *(long *)(lVar5 + lVar22 * 4);\n    if (param_2 == '\0') {\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) {\nLAB_0019cbd9:\n        local_a8 = *puVar21;\n        local_a0 = (int)puVar21[1];\n        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }\n    else {\n      uVar12 = *puVar21;\n      if (uVar12 != 0) {\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    /* try { // try from 0019cb7f to 0019d2d3 has its CatchHandler @ 0019d8f0 */\n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) goto LAB_0019cbd9;\n      pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      puVar20 = &local_78;\n      if (puVar15 != (undefined8 *)0x0) {\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }\n      do {\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      } while (uVar10 == 0);\n      bVar27 = (uVar9 & 0x8080) == 0;\n      if (bVar27) {\n        uVar10 = uVar10 >> 0x10;\n      }\n      if (bVar27) {\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }\n      if (pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002e12b0("basic_string::append");\n      }\n      FUN_002aac00(param_1,&local_78);\n      if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002e12b0("basic_string::append");\n      }\nLAB_0019d1b1:\n      FUN_002aac00(param_1,&DAT_0034070c,1);\n    }\nLAB_0019ce15:\n    lVar22 = lVar22 + 4;\n    puVar21 = puVar21 + 2;\n  } while (*(ulong **)(lVar2 + 0x20) != puVar21);\nLAB_0019d282:\n  if (param_2 == '\0') {\n    if (param_1[1] != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents");\n    }\n    puVar15 = (undefined8 *)((ulong)param_4 * 0x20 + *param_8);\n    FUN_002aac00(param_1,*puVar15,puVar15[1]);\n  }\n  else {\n    if (0x7fffffffffffffff - param_1[1] < 0xb) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,"Contents = ",0xb);\n    if (0x7fffffffffffffff - param_1[1] < local_c0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,local_f8);\n    FUN_002a95a0((ulong)param_4 * 0x20 + *param_8,param_1);\n  }\n  FUN_002aac00(param_1,local_98,local_90);\n  if (local_98 != local_88) {\n    FUN_002a2980();\n  }\n  lVar2 = *(long *)(uVar1 + 0x28);\n  if (lVar2 != 0) {\n    FUN_00193600(lVar2 + 0x28,0xffffffffffffffff);\n  }\n  return param_1;\n}\n\n" (function_definition "undefined8 *\nFUN_0019c970(undefined8 *param_1,char param_2,ulong *param_3,uint param_4,int *param_5,long param_6,\n            long *param_7,long *param_8)\n\n{\n  int *__s;\n  ulong uVar1;\n  long lVar2;\n  long *plVar3;\n  long lVar4;\n  long lVar5;\n  long lVar6;\n  long lVar7;\n  char *__s_00;\n  char cVar8;\n  uint uVar9;\n  uint uVar10;\n  long lVar11;\n  ulong uVar12;\n  size_t sVar13;\n  char *pcVar14;\n  undefined8 *puVar15;\n  long lVar16;\n  ulong uVar17;\n  ulong uVar18;\n  ulong *puVar19;\n  ulong *puVar20;\n  ulong *puVar21;\n  long lVar22;\n  long *plVar23;\n  char *pcVar24;\n  ulong uVar25;\n  long *plVar26;\n  bool bVar27;\n  long local_f8;\n  char local_c1;\n  ulong local_c0;\n  ulong local_b8 [2];\n  ulong local_a8;\n  int local_a0;\n  undefined1 *local_98;\n  long local_90;\n  undefined1 local_88 [16];\n  ulong local_78;\n  int local_70;\n  long local_68;\n  \n  uVar1 = *param_3;\n  lVar2 = *(long *)(uVar1 + 0x28);\n  if (lVar2 != 0) {\n    FUN_00192a40(lVar2 + 0x28,0xffffffffffffffff);\n  }\n  local_f8 = 0;\n  if (param_2 != '\0') {\n                    /* try { // try from 0019d33d to 0019d341 has its CatchHandler @ 0019d8e8 */\n    local_f8 = FUN_001c7ce0(*param_3,(int)param_3[1],&local_c0,0);\n  }\n  puVar15 = param_1 + 2;\n  param_1[1] = 0;\n  local_98 = local_88;\n  *param_1 = puVar15;\n  *(undefined1 *)(param_1 + 2) = 0;\n  if (param_5 != (int *)0x0) {\n    *param_5 = 0;\n    puVar15 = (undefined8 *)*param_1;\n  }\n  uVar12 = *(ulong *)(*(long *)(param_6 + 0x298) + 0xb0);\n  uVar25 = (ulong)(uint)param_3[1] ^ *param_3;\n  uVar18 = uVar25 % uVar12;\n  plVar26 = *(long **)(*(long *)(*(long *)(param_6 + 0x298) + 0xa8) + uVar18 * 8);\n  if (plVar26 != (long *)0x0) {\n    uVar17 = ((long *)*plVar26)[0x12];\n    plVar3 = (long *)*plVar26;\n    while (((plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])) ||\n           ((uint)param_3[1] != *(uint *)(plVar23 + 2)))) {\n      plVar3 = (long *)*plVar23;\n      if ((plVar3 == (long *)0x0) ||\n         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)) goto LAB_0019d260;\n    }\n    lVar2 = *plVar26;\n    if (lVar2 != 0) {\n      param_1[1] = 0;\n      lVar22 = 0;\n      *(undefined1 *)puVar15 = 0;\n      local_90 = 0;\n      local_88[0] = 0;\n      lVar4 = *(long *)(lVar2 + 0x30);\n      lVar5 = *(long *)(lVar2 + 0x48);\n      lVar6 = *(long *)(lVar2 + 0x60);\n      lVar7 = *(long *)(lVar2 + 0x78);\n      puVar21 = *(ulong **)(lVar2 + 0x18);\n      if (puVar21 == *(ulong **)(lVar2 + 0x20)) goto LAB_0019d282;\n      goto LAB_0019ce2c;\n    }\n  }\nLAB_0019d260:\n  param_1[1] = 0;\n  *(undefined1 *)puVar15 = 0;\n  local_90 = 0;\n  local_88[0] = 0;\n  goto LAB_0019d282;\nLAB_0019ce2c:\n  do {\n    puVar15 = *(undefined8 **)(lVar4 + lVar22 * 2);\n    bVar27 = puVar15 == (undefined8 *)0xffffffffffffffff;\n    if (bVar27) {\n      puVar15 = (undefined8 *)0x0;\n    }\n    lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n    lVar16 = *(long *)(lVar5 + lVar22 * 4);\n    if (param_2 == '\0') {\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) {\nLAB_0019cbd9:\n        local_a8 = *puVar21;\n        local_a0 = (int)puVar21[1];\n        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }\n    else {\n      uVar12 = *puVar21;\n      if (uVar12 != 0) {\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    /* try { // try from 0019cb7f to 0019d2d3 has its CatchHandler @ 0019d8f0 */\n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) goto LAB_0019cbd9;\n      pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      puVar20 = &local_78;\n      if (puVar15 != (undefined8 *)0x0) {\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }\n      do {\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      } while (uVar10 == 0);\n      bVar27 = (uVar9 & 0x8080) == 0;\n      if (bVar27) {\n        uVar10 = uVar10 >> 0x10;\n      }\n      if (bVar27) {\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }\n      if (pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002e12b0("basic_string::append");\n      }\n      FUN_002aac00(param_1,&local_78);\n      if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002e12b0("basic_string::append");\n      }\nLAB_0019d1b1:\n      FUN_002aac00(param_1,&DAT_0034070c,1);\n    }\nLAB_0019ce15:\n    lVar22 = lVar22 + 4;\n    puVar21 = puVar21 + 2;\n  } while (*(ulong **)(lVar2 + 0x20) != puVar21);\nLAB_0019d282:\n  if (param_2 == '\0') {\n    if (param_1[1] != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents");\n    }\n    puVar15 = (undefined8 *)((ulong)param_4 * 0x20 + *param_8);\n    FUN_002aac00(param_1,*puVar15,puVar15[1]);\n  }\n  else {\n    if (0x7fffffffffffffff - param_1[1] < 0xb) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,"Contents = ",0xb);\n    if (0x7fffffffffffffff - param_1[1] < local_c0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,local_f8);\n    FUN_002a95a0((ulong)param_4 * 0x20 + *param_8,param_1);\n  }\n  FUN_002aac00(param_1,local_98,local_90);\n  if (local_98 != local_88) {\n    FUN_002a2980();\n  }\n  lVar2 = *(long *)(uVar1 + 0x28);\n  if (lVar2 != 0) {\n    FUN_00193600(lVar2 + 0x28,0xffffffffffffffff);\n  }\n  return param_1;\n}" type_identifier (pointer_declarator "*\nFUN_0019c970(undefined8 *param_1,char param_2,ulong *param_3,uint param_4,int *param_5,long param_6,\n            long *param_7,long *param_8)" * (function_declarator "FUN_0019c970(undefined8 *param_1,char param_2,ulong *param_3,uint param_4,int *param_5,long param_6,\n            long *param_7,long *param_8)" identifier (parameter_list "(undefined8 *param_1,char param_2,ulong *param_3,uint param_4,int *param_5,long param_6,\n            long *param_7,long *param_8)" ( (parameter_declaration "undefined8 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "char param_2" primitive_type identifier) , (parameter_declaration "ulong *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "uint param_4" type_identifier identifier) , (parameter_declaration "int *param_5" primitive_type (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "long param_6" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long *param_7" (sized_type_specifier "long" long) (pointer_declarator "*param_7" * identifier)) , (parameter_declaration "long *param_8" (sized_type_specifier "long" long) (pointer_declarator "*param_8" * identifier)) )))) (compound_statement "{\n  int *__s;\n  ulong uVar1;\n  long lVar2;\n  long *plVar3;\n  long lVar4;\n  long lVar5;\n  long lVar6;\n  long lVar7;\n  char *__s_00;\n  char cVar8;\n  uint uVar9;\n  uint uVar10;\n  long lVar11;\n  ulong uVar12;\n  size_t sVar13;\n  char *pcVar14;\n  undefined8 *puVar15;\n  long lVar16;\n  ulong uVar17;\n  ulong uVar18;\n  ulong *puVar19;\n  ulong *puVar20;\n  ulong *puVar21;\n  long lVar22;\n  long *plVar23;\n  char *pcVar24;\n  ulong uVar25;\n  long *plVar26;\n  bool bVar27;\n  long local_f8;\n  char local_c1;\n  ulong local_c0;\n  ulong local_b8 [2];\n  ulong local_a8;\n  int local_a0;\n  undefined1 *local_98;\n  long local_90;\n  undefined1 local_88 [16];\n  ulong local_78;\n  int local_70;\n  long local_68;\n  \n  uVar1 = *param_3;\n  lVar2 = *(long *)(uVar1 + 0x28);\n  if (lVar2 != 0) {\n    FUN_00192a40(lVar2 + 0x28,0xffffffffffffffff);\n  }\n  local_f8 = 0;\n  if (param_2 != '\0') {\n                    /* try { // try from 0019d33d to 0019d341 has its CatchHandler @ 0019d8e8 */\n    local_f8 = FUN_001c7ce0(*param_3,(int)param_3[1],&local_c0,0);\n  }\n  puVar15 = param_1 + 2;\n  param_1[1] = 0;\n  local_98 = local_88;\n  *param_1 = puVar15;\n  *(undefined1 *)(param_1 + 2) = 0;\n  if (param_5 != (int *)0x0) {\n    *param_5 = 0;\n    puVar15 = (undefined8 *)*param_1;\n  }\n  uVar12 = *(ulong *)(*(long *)(param_6 + 0x298) + 0xb0);\n  uVar25 = (ulong)(uint)param_3[1] ^ *param_3;\n  uVar18 = uVar25 % uVar12;\n  plVar26 = *(long **)(*(long *)(*(long *)(param_6 + 0x298) + 0xa8) + uVar18 * 8);\n  if (plVar26 != (long *)0x0) {\n    uVar17 = ((long *)*plVar26)[0x12];\n    plVar3 = (long *)*plVar26;\n    while (((plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])) ||\n           ((uint)param_3[1] != *(uint *)(plVar23 + 2)))) {\n      plVar3 = (long *)*plVar23;\n      if ((plVar3 == (long *)0x0) ||\n         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)) goto LAB_0019d260;\n    }\n    lVar2 = *plVar26;\n    if (lVar2 != 0) {\n      param_1[1] = 0;\n      lVar22 = 0;\n      *(undefined1 *)puVar15 = 0;\n      local_90 = 0;\n      local_88[0] = 0;\n      lVar4 = *(long *)(lVar2 + 0x30);\n      lVar5 = *(long *)(lVar2 + 0x48);\n      lVar6 = *(long *)(lVar2 + 0x60);\n      lVar7 = *(long *)(lVar2 + 0x78);\n      puVar21 = *(ulong **)(lVar2 + 0x18);\n      if (puVar21 == *(ulong **)(lVar2 + 0x20)) goto LAB_0019d282;\n      goto LAB_0019ce2c;\n    }\n  }\nLAB_0019d260:\n  param_1[1] = 0;\n  *(undefined1 *)puVar15 = 0;\n  local_90 = 0;\n  local_88[0] = 0;\n  goto LAB_0019d282;\nLAB_0019ce2c:\n  do {\n    puVar15 = *(undefined8 **)(lVar4 + lVar22 * 2);\n    bVar27 = puVar15 == (undefined8 *)0xffffffffffffffff;\n    if (bVar27) {\n      puVar15 = (undefined8 *)0x0;\n    }\n    lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n    lVar16 = *(long *)(lVar5 + lVar22 * 4);\n    if (param_2 == '\0') {\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) {\nLAB_0019cbd9:\n        local_a8 = *puVar21;\n        local_a0 = (int)puVar21[1];\n        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }\n    else {\n      uVar12 = *puVar21;\n      if (uVar12 != 0) {\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    /* try { // try from 0019cb7f to 0019d2d3 has its CatchHandler @ 0019d8f0 */\n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) goto LAB_0019cbd9;\n      pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      puVar20 = &local_78;\n      if (puVar15 != (undefined8 *)0x0) {\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }\n      do {\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      } while (uVar10 == 0);\n      bVar27 = (uVar9 & 0x8080) == 0;\n      if (bVar27) {\n        uVar10 = uVar10 >> 0x10;\n      }\n      if (bVar27) {\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }\n      if (pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002e12b0("basic_string::append");\n      }\n      FUN_002aac00(param_1,&local_78);\n      if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002e12b0("basic_string::append");\n      }\nLAB_0019d1b1:\n      FUN_002aac00(param_1,&DAT_0034070c,1);\n    }\nLAB_0019ce15:\n    lVar22 = lVar22 + 4;\n    puVar21 = puVar21 + 2;\n  } while (*(ulong **)(lVar2 + 0x20) != puVar21);\nLAB_0019d282:\n  if (param_2 == '\0') {\n    if (param_1[1] != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents");\n    }\n    puVar15 = (undefined8 *)((ulong)param_4 * 0x20 + *param_8);\n    FUN_002aac00(param_1,*puVar15,puVar15[1]);\n  }\n  else {\n    if (0x7fffffffffffffff - param_1[1] < 0xb) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,"Contents = ",0xb);\n    if (0x7fffffffffffffff - param_1[1] < local_c0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,local_f8);\n    FUN_002a95a0((ulong)param_4 * 0x20 + *param_8,param_1);\n  }\n  FUN_002aac00(param_1,local_98,local_90);\n  if (local_98 != local_88) {\n    FUN_002a2980();\n  }\n  lVar2 = *(long *)(uVar1 + 0x28);\n  if (lVar2 != 0) {\n    FUN_00193600(lVar2 + 0x28,0xffffffffffffffff);\n  }\n  return param_1;\n}" { (declaration "int *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "ulong uVar1;" type_identifier identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "long *plVar3;" (sized_type_specifier "long" long) (pointer_declarator "*plVar3" * identifier) ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar7;" (sized_type_specifier "long" long) identifier ;) (declaration "char *__s_00;" primitive_type (pointer_declarator "*__s_00" * identifier) ;) (declaration "char cVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "long lVar11;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar12;" type_identifier identifier ;) (declaration "size_t sVar13;" primitive_type identifier ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "undefined8 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "long lVar16;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar17;" type_identifier identifier ;) (declaration "ulong uVar18;" type_identifier identifier ;) (declaration "ulong *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "ulong *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "ulong *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "long lVar22;" (sized_type_specifier "long" long) identifier ;) (declaration "long *plVar23;" (sized_type_specifier "long" long) (pointer_declarator "*plVar23" * identifier) ;) (declaration "char *pcVar24;" primitive_type (pointer_declarator "*pcVar24" * identifier) ;) (declaration "ulong uVar25;" type_identifier identifier ;) (declaration "long *plVar26;" (sized_type_specifier "long" long) (pointer_declarator "*plVar26" * identifier) ;) (declaration "bool bVar27;" primitive_type identifier ;) (declaration "long local_f8;" (sized_type_specifier "long" long) identifier ;) (declaration "char local_c1;" primitive_type identifier ;) (declaration "ulong local_c0;" type_identifier identifier ;) (declaration "ulong local_b8 [2];" type_identifier (array_declarator "local_b8 [2]" identifier [ number_literal ]) ;) (declaration "ulong local_a8;" type_identifier identifier ;) (declaration "int local_a0;" primitive_type identifier ;) (declaration "undefined1 *local_98;" type_identifier (pointer_declarator "*local_98" * identifier) ;) (declaration "long local_90;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 local_88 [16];" type_identifier (array_declarator "local_88 [16]" identifier [ number_literal ]) ;) (declaration "ulong local_78;" type_identifier identifier ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "long local_68;" (sized_type_specifier "long" long) identifier ;) (expression_statement "uVar1 = *param_3;" (assignment_expression "uVar1 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (expression_statement "lVar2 = *(long *)(uVar1 + 0x28);" (assignment_expression "lVar2 = *(long *)(uVar1 + 0x28)" identifier = (pointer_expression "*(long *)(uVar1 + 0x28)" * (cast_expression "(long *)(uVar1 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar1 + 0x28)" ( (binary_expression "uVar1 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (lVar2 != 0) {\n    FUN_00192a40(lVar2 + 0x28,0xffffffffffffffff);\n  }" if (parenthesized_expression "(lVar2 != 0)" ( (binary_expression "lVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_00192a40(lVar2 + 0x28,0xffffffffffffffff);\n  }" { (expression_statement "FUN_00192a40(lVar2 + 0x28,0xffffffffffffffff);" (call_expression "FUN_00192a40(lVar2 + 0x28,0xffffffffffffffff)" identifier (argument_list "(lVar2 + 0x28,0xffffffffffffffff)" ( (binary_expression "lVar2 + 0x28" identifier + number_literal) , number_literal ))) ;) })) (expression_statement "local_f8 = 0;" (assignment_expression "local_f8 = 0" identifier = number_literal) ;) (if_statement "if (param_2 != '\0') {\n                    /* try { // try from 0019d33d to 0019d341 has its CatchHandler @ 0019d8e8 */\n    local_f8 = FUN_001c7ce0(*param_3,(int)param_3[1],&local_c0,0);\n  }" if (parenthesized_expression "(param_2 != '\0')" ( (binary_expression "param_2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* try { // try from 0019d33d to 0019d341 has its CatchHandler @ 0019d8e8 */\n    local_f8 = FUN_001c7ce0(*param_3,(int)param_3[1],&local_c0,0);\n  }" { comment (expression_statement "local_f8 = FUN_001c7ce0(*param_3,(int)param_3[1],&local_c0,0);" (assignment_expression "local_f8 = FUN_001c7ce0(*param_3,(int)param_3[1],&local_c0,0)" identifier = (call_expression "FUN_001c7ce0(*param_3,(int)param_3[1],&local_c0,0)" identifier (argument_list "(*param_3,(int)param_3[1],&local_c0,0)" ( (pointer_expression "*param_3" * identifier) , (cast_expression "(int)param_3[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_3[1]" identifier [ number_literal ])) , (pointer_expression "&local_c0" & identifier) , number_literal )))) ;) })) (expression_statement "puVar15 = param_1 + 2;" (assignment_expression "puVar15 = param_1 + 2" identifier = (binary_expression "param_1 + 2" identifier + number_literal)) ;) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_98 = local_88;" (assignment_expression "local_98 = local_88" identifier = identifier) ;) (expression_statement "*param_1 = puVar15;" (assignment_expression "*param_1 = puVar15" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "*(undefined1 *)(param_1 + 2) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 2) = 0" (pointer_expression "*(undefined1 *)(param_1 + 2)" * (cast_expression "(undefined1 *)(param_1 + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (param_5 != (int *)0x0) {\n    *param_5 = 0;\n    puVar15 = (undefined8 *)*param_1;\n  }" if (parenthesized_expression "(param_5 != (int *)0x0)" ( (binary_expression "param_5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *param_5 = 0;\n    puVar15 = (undefined8 *)*param_1;\n  }" { (expression_statement "*param_5 = 0;" (assignment_expression "*param_5 = 0" (pointer_expression "*param_5" * identifier) = number_literal) ;) (expression_statement "puVar15 = (undefined8 *)*param_1;" (assignment_expression "puVar15 = (undefined8 *)*param_1" identifier = (cast_expression "(undefined8 *)*param_1" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) ;) })) (expression_statement "uVar12 = *(ulong *)(*(long *)(param_6 + 0x298) + 0xb0);" (assignment_expression "uVar12 = *(ulong *)(*(long *)(param_6 + 0x298) + 0xb0)" identifier = (pointer_expression "*(ulong *)(*(long *)(param_6 + 0x298) + 0xb0)" * (cast_expression "(ulong *)(*(long *)(param_6 + 0x298) + 0xb0)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_6 + 0x298) + 0xb0)" ( (binary_expression "*(long *)(param_6 + 0x298) + 0xb0" (pointer_expression "*(long *)(param_6 + 0x298)" * (cast_expression "(long *)(param_6 + 0x298)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x298)" ( (binary_expression "param_6 + 0x298" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar25 = (ulong)(uint)param_3[1] ^ *param_3;" (assignment_expression "uVar25 = (ulong)(uint)param_3[1] ^ *param_3" identifier = (binary_expression "(ulong)(uint)param_3[1] ^ *param_3" (cast_expression "(ulong)(uint)param_3[1]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)param_3[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_3[1]" identifier [ number_literal ]))) ^ (pointer_expression "*param_3" * identifier))) ;) (expression_statement "uVar18 = uVar25 % uVar12;" (assignment_expression "uVar18 = uVar25 % uVar12" identifier = (binary_expression "uVar25 % uVar12" identifier % identifier)) ;) (expression_statement "plVar26 = *(long **)(*(long *)(*(long *)(param_6 + 0x298) + 0xa8) + uVar18 * 8);" (assignment_expression "plVar26 = *(long **)(*(long *)(*(long *)(param_6 + 0x298) + 0xa8) + uVar18 * 8)" identifier = (pointer_expression "*(long **)(*(long *)(*(long *)(param_6 + 0x298) + 0xa8) + uVar18 * 8)" * (cast_expression "(long **)(*(long *)(*(long *)(param_6 + 0x298) + 0xa8) + uVar18 * 8)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(*(long *)(param_6 + 0x298) + 0xa8) + uVar18 * 8)" ( (binary_expression "*(long *)(*(long *)(param_6 + 0x298) + 0xa8) + uVar18 * 8" (pointer_expression "*(long *)(*(long *)(param_6 + 0x298) + 0xa8)" * (cast_expression "(long *)(*(long *)(param_6 + 0x298) + 0xa8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_6 + 0x298) + 0xa8)" ( (binary_expression "*(long *)(param_6 + 0x298) + 0xa8" (pointer_expression "*(long *)(param_6 + 0x298)" * (cast_expression "(long *)(param_6 + 0x298)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x298)" ( (binary_expression "param_6 + 0x298" identifier + number_literal) )))) + number_literal) )))) + (binary_expression "uVar18 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (plVar26 != (long *)0x0) {\n    uVar17 = ((long *)*plVar26)[0x12];\n    plVar3 = (long *)*plVar26;\n    while (((plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])) ||\n           ((uint)param_3[1] != *(uint *)(plVar23 + 2)))) {\n      plVar3 = (long *)*plVar23;\n      if ((plVar3 == (long *)0x0) ||\n         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)) goto LAB_0019d260;\n    }\n    lVar2 = *plVar26;\n    if (lVar2 != 0) {\n      param_1[1] = 0;\n      lVar22 = 0;\n      *(undefined1 *)puVar15 = 0;\n      local_90 = 0;\n      local_88[0] = 0;\n      lVar4 = *(long *)(lVar2 + 0x30);\n      lVar5 = *(long *)(lVar2 + 0x48);\n      lVar6 = *(long *)(lVar2 + 0x60);\n      lVar7 = *(long *)(lVar2 + 0x78);\n      puVar21 = *(ulong **)(lVar2 + 0x18);\n      if (puVar21 == *(ulong **)(lVar2 + 0x20)) goto LAB_0019d282;\n      goto LAB_0019ce2c;\n    }\n  }" if (parenthesized_expression "(plVar26 != (long *)0x0)" ( (binary_expression "plVar26 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar17 = ((long *)*plVar26)[0x12];\n    plVar3 = (long *)*plVar26;\n    while (((plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])) ||\n           ((uint)param_3[1] != *(uint *)(plVar23 + 2)))) {\n      plVar3 = (long *)*plVar23;\n      if ((plVar3 == (long *)0x0) ||\n         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)) goto LAB_0019d260;\n    }\n    lVar2 = *plVar26;\n    if (lVar2 != 0) {\n      param_1[1] = 0;\n      lVar22 = 0;\n      *(undefined1 *)puVar15 = 0;\n      local_90 = 0;\n      local_88[0] = 0;\n      lVar4 = *(long *)(lVar2 + 0x30);\n      lVar5 = *(long *)(lVar2 + 0x48);\n      lVar6 = *(long *)(lVar2 + 0x60);\n      lVar7 = *(long *)(lVar2 + 0x78);\n      puVar21 = *(ulong **)(lVar2 + 0x18);\n      if (puVar21 == *(ulong **)(lVar2 + 0x20)) goto LAB_0019d282;\n      goto LAB_0019ce2c;\n    }\n  }" { (expression_statement "uVar17 = ((long *)*plVar26)[0x12];" (assignment_expression "uVar17 = ((long *)*plVar26)[0x12]" identifier = (subscript_expression "((long *)*plVar26)[0x12]" (parenthesized_expression "((long *)*plVar26)" ( (cast_expression "(long *)*plVar26" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar26" * identifier)) )) [ number_literal ])) ;) (expression_statement "plVar3 = (long *)*plVar26;" (assignment_expression "plVar3 = (long *)*plVar26" identifier = (cast_expression "(long *)*plVar26" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar26" * identifier))) ;) (while_statement "while (((plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])) ||\n           ((uint)param_3[1] != *(uint *)(plVar23 + 2)))) {\n      plVar3 = (long *)*plVar23;\n      if ((plVar3 == (long *)0x0) ||\n         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)) goto LAB_0019d260;\n    }" while (parenthesized_expression "(((plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])) ||\n           ((uint)param_3[1] != *(uint *)(plVar23 + 2))))" ( (parenthesized_expression "((plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])) ||\n           ((uint)param_3[1] != *(uint *)(plVar23 + 2)))" ( (binary_expression "(plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])) ||\n           ((uint)param_3[1] != *(uint *)(plVar23 + 2))" (parenthesized_expression "(plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1]))" ( (comma_expression "plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])" (assignment_expression "plVar23 = plVar3" identifier = identifier) , (binary_expression "uVar25 != uVar17 || (*param_3 != plVar23[1])" (binary_expression "uVar25 != uVar17" identifier != identifier) || (parenthesized_expression "(*param_3 != plVar23[1])" ( (binary_expression "*param_3 != plVar23[1]" (pointer_expression "*param_3" * identifier) != (subscript_expression "plVar23[1]" identifier [ number_literal ])) )))) )) || (parenthesized_expression "((uint)param_3[1] != *(uint *)(plVar23 + 2))" ( (binary_expression "(uint)param_3[1] != *(uint *)(plVar23 + 2)" (cast_expression "(uint)param_3[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_3[1]" identifier [ number_literal ])) != (pointer_expression "*(uint *)(plVar23 + 2)" * (cast_expression "(uint *)(plVar23 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar23 + 2)" ( (binary_expression "plVar23 + 2" identifier + number_literal) ))))) ))) )) )) (compound_statement "{\n      plVar3 = (long *)*plVar23;\n      if ((plVar3 == (long *)0x0) ||\n         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)) goto LAB_0019d260;\n    }" { (expression_statement "plVar3 = (long *)*plVar23;" (assignment_expression "plVar3 = (long *)*plVar23" identifier = (cast_expression "(long *)*plVar23" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar23" * identifier))) ;) (if_statement "if ((plVar3 == (long *)0x0) ||\n         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)) goto LAB_0019d260;" if (parenthesized_expression "((plVar3 == (long *)0x0) ||\n         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12))" ( (binary_expression "(plVar3 == (long *)0x0) ||\n         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)" (parenthesized_expression "(plVar3 == (long *)0x0)" ( (binary_expression "plVar3 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)" ( (comma_expression "uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12" (assignment_expression "uVar17 = plVar3[0x12]" identifier = (subscript_expression "plVar3[0x12]" identifier [ number_literal ])) , (comma_expression "plVar26 = plVar23, uVar18 != uVar17 % uVar12" (assignment_expression "plVar26 = plVar23" identifier = identifier) , (binary_expression "uVar18 != uVar17 % uVar12" identifier != (binary_expression "uVar17 % uVar12" identifier % identifier)))) ))) )) (goto_statement "goto LAB_0019d260;" goto statement_identifier ;)) })) (expression_statement "lVar2 = *plVar26;" (assignment_expression "lVar2 = *plVar26" identifier = (pointer_expression "*plVar26" * identifier)) ;) (if_statement "if (lVar2 != 0) {\n      param_1[1] = 0;\n      lVar22 = 0;\n      *(undefined1 *)puVar15 = 0;\n      local_90 = 0;\n      local_88[0] = 0;\n      lVar4 = *(long *)(lVar2 + 0x30);\n      lVar5 = *(long *)(lVar2 + 0x48);\n      lVar6 = *(long *)(lVar2 + 0x60);\n      lVar7 = *(long *)(lVar2 + 0x78);\n      puVar21 = *(ulong **)(lVar2 + 0x18);\n      if (puVar21 == *(ulong **)(lVar2 + 0x20)) goto LAB_0019d282;\n      goto LAB_0019ce2c;\n    }" if (parenthesized_expression "(lVar2 != 0)" ( (binary_expression "lVar2 != 0" identifier != number_literal) )) (compound_statement "{\n      param_1[1] = 0;\n      lVar22 = 0;\n      *(undefined1 *)puVar15 = 0;\n      local_90 = 0;\n      local_88[0] = 0;\n      lVar4 = *(long *)(lVar2 + 0x30);\n      lVar5 = *(long *)(lVar2 + 0x48);\n      lVar6 = *(long *)(lVar2 + 0x60);\n      lVar7 = *(long *)(lVar2 + 0x78);\n      puVar21 = *(ulong **)(lVar2 + 0x18);\n      if (puVar21 == *(ulong **)(lVar2 + 0x20)) goto LAB_0019d282;\n      goto LAB_0019ce2c;\n    }" { (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "lVar22 = 0;" (assignment_expression "lVar22 = 0" identifier = number_literal) ;) (expression_statement "*(undefined1 *)puVar15 = 0;" (assignment_expression "*(undefined1 *)puVar15 = 0" (pointer_expression "*(undefined1 *)puVar15" * (cast_expression "(undefined1 *)puVar15" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "local_88[0] = 0;" (assignment_expression "local_88[0] = 0" (subscript_expression "local_88[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "lVar4 = *(long *)(lVar2 + 0x30);" (assignment_expression "lVar4 = *(long *)(lVar2 + 0x30)" identifier = (pointer_expression "*(long *)(lVar2 + 0x30)" * (cast_expression "(long *)(lVar2 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x30)" ( (binary_expression "lVar2 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "lVar5 = *(long *)(lVar2 + 0x48);" (assignment_expression "lVar5 = *(long *)(lVar2 + 0x48)" identifier = (pointer_expression "*(long *)(lVar2 + 0x48)" * (cast_expression "(long *)(lVar2 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x48)" ( (binary_expression "lVar2 + 0x48" identifier + number_literal) ))))) ;) (expression_statement "lVar6 = *(long *)(lVar2 + 0x60);" (assignment_expression "lVar6 = *(long *)(lVar2 + 0x60)" identifier = (pointer_expression "*(long *)(lVar2 + 0x60)" * (cast_expression "(long *)(lVar2 + 0x60)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x60)" ( (binary_expression "lVar2 + 0x60" identifier + number_literal) ))))) ;) (expression_statement "lVar7 = *(long *)(lVar2 + 0x78);" (assignment_expression "lVar7 = *(long *)(lVar2 + 0x78)" identifier = (pointer_expression "*(long *)(lVar2 + 0x78)" * (cast_expression "(long *)(lVar2 + 0x78)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x78)" ( (binary_expression "lVar2 + 0x78" identifier + number_literal) ))))) ;) (expression_statement "puVar21 = *(ulong **)(lVar2 + 0x18);" (assignment_expression "puVar21 = *(ulong **)(lVar2 + 0x18)" identifier = (pointer_expression "*(ulong **)(lVar2 + 0x18)" * (cast_expression "(ulong **)(lVar2 + 0x18)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar2 + 0x18)" ( (binary_expression "lVar2 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (puVar21 == *(ulong **)(lVar2 + 0x20)) goto LAB_0019d282;" if (parenthesized_expression "(puVar21 == *(ulong **)(lVar2 + 0x20))" ( (binary_expression "puVar21 == *(ulong **)(lVar2 + 0x20)" identifier == (pointer_expression "*(ulong **)(lVar2 + 0x20)" * (cast_expression "(ulong **)(lVar2 + 0x20)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar2 + 0x20)" ( (binary_expression "lVar2 + 0x20" identifier + number_literal) ))))) )) (goto_statement "goto LAB_0019d282;" goto statement_identifier ;)) (goto_statement "goto LAB_0019ce2c;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0019d260:\n  param_1[1] = 0;" statement_identifier : (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "*(undefined1 *)puVar15 = 0;" (assignment_expression "*(undefined1 *)puVar15 = 0" (pointer_expression "*(undefined1 *)puVar15" * (cast_expression "(undefined1 *)puVar15" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "local_88[0] = 0;" (assignment_expression "local_88[0] = 0" (subscript_expression "local_88[0]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0019d282;" goto statement_identifier ;) (labeled_statement "LAB_0019ce2c:\n  do {\n    puVar15 = *(undefined8 **)(lVar4 + lVar22 * 2);\n    bVar27 = puVar15 == (undefined8 *)0xffffffffffffffff;\n    if (bVar27) {\n      puVar15 = (undefined8 *)0x0;\n    }\n    lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n    lVar16 = *(long *)(lVar5 + lVar22 * 4);\n    if (param_2 == '\0') {\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) {\nLAB_0019cbd9:\n        local_a8 = *puVar21;\n        local_a0 = (int)puVar21[1];\n        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }\n    else {\n      uVar12 = *puVar21;\n      if (uVar12 != 0) {\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    /* try { // try from 0019cb7f to 0019d2d3 has its CatchHandler @ 0019d8f0 */\n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) goto LAB_0019cbd9;\n      pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      puVar20 = &local_78;\n      if (puVar15 != (undefined8 *)0x0) {\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }\n      do {\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      } while (uVar10 == 0);\n      bVar27 = (uVar9 & 0x8080) == 0;\n      if (bVar27) {\n        uVar10 = uVar10 >> 0x10;\n      }\n      if (bVar27) {\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }\n      if (pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002e12b0("basic_string::append");\n      }\n      FUN_002aac00(param_1,&local_78);\n      if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002e12b0("basic_string::append");\n      }\nLAB_0019d1b1:\n      FUN_002aac00(param_1,&DAT_0034070c,1);\n    }\nLAB_0019ce15:\n    lVar22 = lVar22 + 4;\n    puVar21 = puVar21 + 2;\n  } while (*(ulong **)(lVar2 + 0x20) != puVar21);" statement_identifier : (do_statement "do {\n    puVar15 = *(undefined8 **)(lVar4 + lVar22 * 2);\n    bVar27 = puVar15 == (undefined8 *)0xffffffffffffffff;\n    if (bVar27) {\n      puVar15 = (undefined8 *)0x0;\n    }\n    lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n    lVar16 = *(long *)(lVar5 + lVar22 * 4);\n    if (param_2 == '\0') {\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) {\nLAB_0019cbd9:\n        local_a8 = *puVar21;\n        local_a0 = (int)puVar21[1];\n        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }\n    else {\n      uVar12 = *puVar21;\n      if (uVar12 != 0) {\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    /* try { // try from 0019cb7f to 0019d2d3 has its CatchHandler @ 0019d8f0 */\n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) goto LAB_0019cbd9;\n      pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      puVar20 = &local_78;\n      if (puVar15 != (undefined8 *)0x0) {\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }\n      do {\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      } while (uVar10 == 0);\n      bVar27 = (uVar9 & 0x8080) == 0;\n      if (bVar27) {\n        uVar10 = uVar10 >> 0x10;\n      }\n      if (bVar27) {\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }\n      if (pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002e12b0("basic_string::append");\n      }\n      FUN_002aac00(param_1,&local_78);\n      if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002e12b0("basic_string::append");\n      }\nLAB_0019d1b1:\n      FUN_002aac00(param_1,&DAT_0034070c,1);\n    }\nLAB_0019ce15:\n    lVar22 = lVar22 + 4;\n    puVar21 = puVar21 + 2;\n  } while (*(ulong **)(lVar2 + 0x20) != puVar21);" do (compound_statement "{\n    puVar15 = *(undefined8 **)(lVar4 + lVar22 * 2);\n    bVar27 = puVar15 == (undefined8 *)0xffffffffffffffff;\n    if (bVar27) {\n      puVar15 = (undefined8 *)0x0;\n    }\n    lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n    lVar16 = *(long *)(lVar5 + lVar22 * 4);\n    if (param_2 == '\0') {\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) {\nLAB_0019cbd9:\n        local_a8 = *puVar21;\n        local_a0 = (int)puVar21[1];\n        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }\n    else {\n      uVar12 = *puVar21;\n      if (uVar12 != 0) {\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    /* try { // try from 0019cb7f to 0019d2d3 has its CatchHandler @ 0019d8f0 */\n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) goto LAB_0019cbd9;\n      pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      puVar20 = &local_78;\n      if (puVar15 != (undefined8 *)0x0) {\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }\n      do {\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      } while (uVar10 == 0);\n      bVar27 = (uVar9 & 0x8080) == 0;\n      if (bVar27) {\n        uVar10 = uVar10 >> 0x10;\n      }\n      if (bVar27) {\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }\n      if (pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002e12b0("basic_string::append");\n      }\n      FUN_002aac00(param_1,&local_78);\n      if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002e12b0("basic_string::append");\n      }\nLAB_0019d1b1:\n      FUN_002aac00(param_1,&DAT_0034070c,1);\n    }\nLAB_0019ce15:\n    lVar22 = lVar22 + 4;\n    puVar21 = puVar21 + 2;\n  }" { (expression_statement "puVar15 = *(undefined8 **)(lVar4 + lVar22 * 2);" (assignment_expression "puVar15 = *(undefined8 **)(lVar4 + lVar22 * 2)" identifier = (pointer_expression "*(undefined8 **)(lVar4 + lVar22 * 2)" * (cast_expression "(undefined8 **)(lVar4 + lVar22 * 2)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar4 + lVar22 * 2)" ( (binary_expression "lVar4 + lVar22 * 2" identifier + (binary_expression "lVar22 * 2" identifier * number_literal)) ))))) ;) (expression_statement "bVar27 = puVar15 == (undefined8 *)0xffffffffffffffff;" (assignment_expression "bVar27 = puVar15 == (undefined8 *)0xffffffffffffffff" identifier = (binary_expression "puVar15 == (undefined8 *)0xffffffffffffffff" identifier == (cast_expression "(undefined8 *)0xffffffffffffffff" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (bVar27) {\n      puVar15 = (undefined8 *)0x0;\n    }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n      puVar15 = (undefined8 *)0x0;\n    }" { (expression_statement "puVar15 = (undefined8 *)0x0;" (assignment_expression "puVar15 = (undefined8 *)0x0" identifier = (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);" (assignment_expression "lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4)" identifier = (pointer_expression "*(long *)(lVar5 + 8 + lVar22 * 4)" * (cast_expression "(long *)(lVar5 + 8 + lVar22 * 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 8 + lVar22 * 4)" ( (binary_expression "lVar5 + 8 + lVar22 * 4" (binary_expression "lVar5 + 8" identifier + number_literal) + (binary_expression "lVar22 * 4" identifier * number_literal)) ))))) ;) (expression_statement "lVar16 = *(long *)(lVar5 + lVar22 * 4);" (assignment_expression "lVar16 = *(long *)(lVar5 + lVar22 * 4)" identifier = (pointer_expression "*(long *)(lVar5 + lVar22 * 4)" * (cast_expression "(long *)(lVar5 + lVar22 * 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + lVar22 * 4)" ( (binary_expression "lVar5 + lVar22 * 4" identifier + (binary_expression "lVar22 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (param_2 == '\0') {\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) {\nLAB_0019cbd9:\n        local_a8 = *puVar21;\n        local_a0 = (int)puVar21[1];\n        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }\n    else {\n      uVar12 = *puVar21;\n      if (uVar12 != 0) {\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    /* try { // try from 0019cb7f to 0019d2d3 has its CatchHandler @ 0019d8f0 */\n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) goto LAB_0019cbd9;\n      pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      puVar20 = &local_78;\n      if (puVar15 != (undefined8 *)0x0) {\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }\n      do {\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      } while (uVar10 == 0);\n      bVar27 = (uVar9 & 0x8080) == 0;\n      if (bVar27) {\n        uVar10 = uVar10 >> 0x10;\n      }\n      if (bVar27) {\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }\n      if (pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002e12b0("basic_string::append");\n      }\n      FUN_002aac00(param_1,&local_78);\n      if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002e12b0("basic_string::append");\n      }\nLAB_0019d1b1:\n      FUN_002aac00(param_1,&DAT_0034070c,1);\n    }" if (parenthesized_expression "(param_2 == '\0')" ( (binary_expression "param_2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) {\nLAB_0019cbd9:\n        local_a8 = *puVar21;\n        local_a0 = (int)puVar21[1];\n        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }" { (expression_statement "snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));" (call_expression "snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2))" identifier (argument_list "((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2))" ( (cast_expression "(char *)&local_78" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_78" & identifier)) , number_literal , (string_literal ""%llx %llx %llx"" " string_content ") , identifier , identifier , (pointer_expression "*(undefined8 *)(lVar6 + lVar22 * 2)" * (cast_expression "(undefined8 *)(lVar6 + lVar22 * 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + lVar22 * 2)" ( (binary_expression "lVar6 + lVar22 * 2" identifier + (binary_expression "lVar22 * 2" identifier * number_literal)) )))) ))) ;) (if_statement "if (*puVar21 != 0) {\nLAB_0019cbd9:\n        local_a8 = *puVar21;\n        local_a0 = (int)puVar21[1];\n        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }" if (parenthesized_expression "(*puVar21 != 0)" ( (binary_expression "*puVar21 != 0" (pointer_expression "*puVar21" * identifier) != number_literal) )) (compound_statement "{\nLAB_0019cbd9:\n        local_a8 = *puVar21;\n        local_a0 = (int)puVar21[1];\n        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }" { (labeled_statement "LAB_0019cbd9:\n        local_a8 = *puVar21;" statement_identifier : (expression_statement "local_a8 = *puVar21;" (assignment_expression "local_a8 = *puVar21" identifier = (pointer_expression "*puVar21" * identifier)) ;)) (expression_statement "local_a0 = (int)puVar21[1];" (assignment_expression "local_a0 = (int)puVar21[1]" identifier = (cast_expression "(int)puVar21[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar21[1]" identifier [ number_literal ]))) ;) (if_statement "if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }" if (parenthesized_expression "((*param_3 == local_a8) && ((int)param_3[1] == local_a0))" ( (binary_expression "(*param_3 == local_a8) && ((int)param_3[1] == local_a0)" (parenthesized_expression "(*param_3 == local_a8)" ( (binary_expression "*param_3 == local_a8" (pointer_expression "*param_3" * identifier) == identifier) )) && (parenthesized_expression "((int)param_3[1] == local_a0)" ( (binary_expression "(int)param_3[1] == local_a0" (cast_expression "(int)param_3[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_3[1]" identifier [ number_literal ])) == identifier) ))) )) (compound_statement "{\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }" { (if_statement "if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }" if (parenthesized_expression "(param_2 != '\0')" ( (binary_expression "param_2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }" { (if_statement "if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }" if (parenthesized_expression "(param_1[1] == 0x7fffffffffffffff)" ( (binary_expression "param_1[1] == 0x7fffffffffffffff" (subscript_expression "param_1[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }" { comment (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (expression_statement "FUN_002aac00(param_1,"R",1);" (call_expression "FUN_002aac00(param_1,"R",1)" identifier (argument_list "(param_1,"R",1)" ( identifier , (string_literal ""R"" " string_content ") , number_literal ))) ;) (expression_statement "puVar20 = &local_78;" (assignment_expression "puVar20 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;) (do_statement "do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);" do (compound_statement "{\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            }" { (expression_statement "puVar19 = puVar20;" (assignment_expression "puVar19 = puVar20" identifier = identifier) ;) (expression_statement "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;" (assignment_expression "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" identifier = (binary_expression "(uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (binary_expression "(uint)*puVar19 + 0xfefefeff" (binary_expression "(uint)*puVar19" (parenthesized_expression "(uint)" ( identifier )) * identifier) + number_literal) & (binary_expression "~(uint)*puVar19" (unary_expression "~(uint)" ~ (parenthesized_expression "(uint)" ( identifier ))) * identifier))) ;) (expression_statement "uVar10 = uVar9 & 0x80808080;" (assignment_expression "uVar10 = uVar9 & 0x80808080" identifier = (binary_expression "uVar9 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar20 = (ulong *)((long)puVar19 + 4);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 4)" identifier = (cast_expression "(ulong *)((long)puVar19 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 4)" ( (binary_expression "(long)puVar19 + 4" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) ;) (expression_statement "bVar27 = (uVar9 & 0x8080) == 0;" (assignment_expression "bVar27 = (uVar9 & 0x8080) == 0" identifier = (binary_expression "(uVar9 & 0x8080) == 0" (parenthesized_expression "(uVar9 & 0x8080)" ( (binary_expression "uVar9 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n              uVar10 = uVar10 >> 0x10;\n            }" { (expression_statement "uVar10 = uVar10 >> 0x10;" (assignment_expression "uVar10 = uVar10 >> 0x10" identifier = (binary_expression "uVar10 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }" { (expression_statement "puVar20 = (ulong *)((long)puVar19 + 6);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 6)" identifier = (cast_expression "(ulong *)((long)puVar19 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 6)" ( (binary_expression "(long)puVar19 + 6" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (if_statement "if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }" if (parenthesized_expression "((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)))" ( (binary_expression "(char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" (cast_expression "(char *)(0x7fffffffffffffff - param_1[1])" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(0x7fffffffffffffff - param_1[1])" ( (binary_expression "0x7fffffffffffffff - param_1[1]" number_literal - (subscript_expression "param_1[1]" identifier [ number_literal ])) ))) < (cast_expression "(char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" ( (binary_expression "(long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" (cast_expression "(long)puVar20" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" ( (binary_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar10,(byte)uVar10)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar10,(byte)uVar10)" identifier (argument_list "((byte)uVar10,(byte)uVar10)" ( (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(long)&local_78" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&local_78" & identifier))) ))) )))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }" { comment (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (expression_statement "FUN_002aac00(param_1,&local_78);" (call_expression "FUN_002aac00(param_1,&local_78)" identifier (argument_list "(param_1,&local_78)" ( identifier , (pointer_expression "&local_78" & identifier) ))) ;) (if_statement "if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }" if (parenthesized_expression "(param_1[1] == 0x7fffffffffffffff)" ( (binary_expression "param_1[1] == 0x7fffffffffffffff" (subscript_expression "param_1[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_002e12b0("basic_string::append");\n            }" { comment (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (goto_statement "goto LAB_0019d1b1;" goto statement_identifier ;) })) }) (else_clause "else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }" else (compound_statement "{\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }" { (expression_statement "lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);" (assignment_expression "lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8)" identifier = (call_expression "FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8)" identifier (argument_list "(*(long *)(param_6 + 0x298) + 0x18,&local_a8)" ( (binary_expression "*(long *)(param_6 + 0x298) + 0x18" (pointer_expression "*(long *)(param_6 + 0x298)" * (cast_expression "(long *)(param_6 + 0x298)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x298)" ( (binary_expression "param_6 + 0x298" identifier + number_literal) )))) + number_literal) , (pointer_expression "&local_a8" & identifier) )))) ;) (if_statement "if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }" if (parenthesized_expression "(puVar15 == (undefined8 *)0x0)" ( (binary_expression "puVar15 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }" { (labeled_statement "LAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }" statement_identifier : (if_statement "if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }" if (parenthesized_expression "(lVar11 != 0)" ( (binary_expression "lVar11 != 0" identifier != number_literal) )) (compound_statement "{\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }" { (if_statement "if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }" if (parenthesized_expression "(param_5 != (int *)0x0)" ( (binary_expression "param_5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                *param_5 = *param_5 + 1;\n              }" { (expression_statement "*param_5 = *param_5 + 1;" (assignment_expression "*param_5 = *param_5 + 1" (pointer_expression "*param_5" * identifier) = (binary_expression "*param_5 + 1" (pointer_expression "*param_5" * identifier) + number_literal)) ;) })) (expression_statement "snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));" (call_expression "snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4))" identifier (argument_list "((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4))" ( (cast_expression "(char *)local_b8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal , (string_literal ""%u"" " string_content ") , (binary_expression "(ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4)" ( (binary_expression "*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4" (pointer_expression "*param_7" * identifier) + (binary_expression "(ulong)*(uint *)(lVar11 + 0x18) * 4" (binary_expression "(ulong)*(uint *)(lVar11 + 0x18)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(lVar11 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x18)" ( (binary_expression "lVar11 + 0x18" identifier + number_literal) )))) * number_literal)) )))) ))) ;) (expression_statement "puVar20 = local_b8;" (assignment_expression "puVar20 = local_b8" identifier = identifier) ;) (if_statement "if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }" if (parenthesized_expression "(param_2 != '\0')" ( (binary_expression "param_2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }" { (if_statement "if (0x7fffffffffffffff - param_1[1] < 5) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }" if (parenthesized_expression "(0x7fffffffffffffff - param_1[1] < 5)" ( (binary_expression "0x7fffffffffffffff - param_1[1] < 5" (binary_expression "0x7fffffffffffffff - param_1[1]" number_literal - (subscript_expression "param_1[1]" identifier [ number_literal ])) < number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }" { comment (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (expression_statement "FUN_002aac00(param_1,"ICF_R",5);" (call_expression "FUN_002aac00(param_1,"ICF_R",5)" identifier (argument_list "(param_1,"ICF_R",5)" ( identifier , (string_literal ""ICF_R"" " string_content ") , number_literal ))) ;) (expression_statement "puVar20 = &local_78;" (assignment_expression "puVar20 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;) (do_statement "do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);" do (compound_statement "{\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                }" { (expression_statement "puVar19 = puVar20;" (assignment_expression "puVar19 = puVar20" identifier = identifier) ;) (expression_statement "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;" (assignment_expression "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" identifier = (binary_expression "(uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (binary_expression "(uint)*puVar19 + 0xfefefeff" (binary_expression "(uint)*puVar19" (parenthesized_expression "(uint)" ( identifier )) * identifier) + number_literal) & (binary_expression "~(uint)*puVar19" (unary_expression "~(uint)" ~ (parenthesized_expression "(uint)" ( identifier ))) * identifier))) ;) (expression_statement "uVar10 = uVar9 & 0x80808080;" (assignment_expression "uVar10 = uVar9 & 0x80808080" identifier = (binary_expression "uVar9 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar20 = (ulong *)((long)puVar19 + 4);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 4)" identifier = (cast_expression "(ulong *)((long)puVar19 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 4)" ( (binary_expression "(long)puVar19 + 4" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) ;) (expression_statement "bVar27 = (uVar9 & 0x8080) == 0;" (assignment_expression "bVar27 = (uVar9 & 0x8080) == 0" identifier = (binary_expression "(uVar9 & 0x8080) == 0" (parenthesized_expression "(uVar9 & 0x8080)" ( (binary_expression "uVar9 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n                  uVar10 = uVar10 >> 0x10;\n                }" { (expression_statement "uVar10 = uVar10 >> 0x10;" (assignment_expression "uVar10 = uVar10 >> 0x10" identifier = (binary_expression "uVar10 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }" { (expression_statement "puVar20 = (ulong *)((long)puVar19 + 6);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 6)" identifier = (cast_expression "(ulong *)((long)puVar19 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 6)" ( (binary_expression "(long)puVar19 + 6" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (if_statement "if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }" if (parenthesized_expression "((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)))" ( (binary_expression "(char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" (cast_expression "(char *)(0x7fffffffffffffff - param_1[1])" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(0x7fffffffffffffff - param_1[1])" ( (binary_expression "0x7fffffffffffffff - param_1[1]" number_literal - (subscript_expression "param_1[1]" identifier [ number_literal ])) ))) < (cast_expression "(char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" ( (binary_expression "(long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" (cast_expression "(long)puVar20" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" ( (binary_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar10,(byte)uVar10)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar10,(byte)uVar10)" identifier (argument_list "((byte)uVar10,(byte)uVar10)" ( (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(long)&local_78" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&local_78" & identifier))) ))) )))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }" { comment (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (expression_statement "FUN_002aac00(param_1,&local_78);" (call_expression "FUN_002aac00(param_1,&local_78)" identifier (argument_list "(param_1,&local_78)" ( identifier , (pointer_expression "&local_78" & identifier) ))) ;) (expression_statement "puVar20 = local_b8;" (assignment_expression "puVar20 = local_b8" identifier = identifier) ;) })) (do_statement "do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);" do (compound_statement "{\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              }" { (expression_statement "puVar19 = puVar20;" (assignment_expression "puVar19 = puVar20" identifier = identifier) ;) (expression_statement "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;" (assignment_expression "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" identifier = (binary_expression "(uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (binary_expression "(uint)*puVar19 + 0xfefefeff" (binary_expression "(uint)*puVar19" (parenthesized_expression "(uint)" ( identifier )) * identifier) + number_literal) & (binary_expression "~(uint)*puVar19" (unary_expression "~(uint)" ~ (parenthesized_expression "(uint)" ( identifier ))) * identifier))) ;) (expression_statement "uVar10 = uVar9 & 0x80808080;" (assignment_expression "uVar10 = uVar9 & 0x80808080" identifier = (binary_expression "uVar9 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar20 = (ulong *)((long)puVar19 + 4);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 4)" identifier = (cast_expression "(ulong *)((long)puVar19 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 4)" ( (binary_expression "(long)puVar19 + 4" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) ;) (expression_statement "bVar27 = (uVar9 & 0x8080) == 0;" (assignment_expression "bVar27 = (uVar9 & 0x8080) == 0" identifier = (binary_expression "(uVar9 & 0x8080) == 0" (parenthesized_expression "(uVar9 & 0x8080)" ( (binary_expression "uVar9 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n                uVar10 = uVar10 >> 0x10;\n              }" { (expression_statement "uVar10 = uVar10 >> 0x10;" (assignment_expression "uVar10 = uVar10 >> 0x10" identifier = (binary_expression "uVar10 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }" { (expression_statement "puVar20 = (ulong *)((long)puVar19 + 6);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 6)" identifier = (cast_expression "(ulong *)((long)puVar19 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 6)" ( (binary_expression "(long)puVar19 + 6" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (if_statement "if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }" if (parenthesized_expression "((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8)))" ( (binary_expression "(char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))" (cast_expression "(char *)(0x7fffffffffffffff - local_90)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(0x7fffffffffffffff - local_90)" ( (binary_expression "0x7fffffffffffffff - local_90" number_literal - identifier) ))) < (cast_expression "(char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))" ( (binary_expression "(long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8)" (cast_expression "(long)puVar20" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8)" ( (binary_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar10,(byte)uVar10)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar10,(byte)uVar10)" identifier (argument_list "((byte)uVar10,(byte)uVar10)" ( (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(long)local_b8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) )))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }" { comment (expression_statement "FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);" (call_expression "FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00)" identifier (argument_list "("basic_string::append",uVar10 & 0xffffff00)" ( (string_literal ""basic_string::append"" " string_content ") , (binary_expression "uVar10 & 0xffffff00" identifier & number_literal) ))) ;) })) (expression_statement "FUN_002aac00(&local_98,local_b8);" (call_expression "FUN_002aac00(&local_98,local_b8)" identifier (argument_list "(&local_98,local_b8)" ( (pointer_expression "&local_98" & identifier) , identifier ))) ;) (expression_statement "puVar20 = &local_78;" (assignment_expression "puVar20 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;) (do_statement "do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);" do (compound_statement "{\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              }" { (expression_statement "puVar19 = puVar20;" (assignment_expression "puVar19 = puVar20" identifier = identifier) ;) (expression_statement "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;" (assignment_expression "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" identifier = (binary_expression "(uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (binary_expression "(uint)*puVar19 + 0xfefefeff" (binary_expression "(uint)*puVar19" (parenthesized_expression "(uint)" ( identifier )) * identifier) + number_literal) & (binary_expression "~(uint)*puVar19" (unary_expression "~(uint)" ~ (parenthesized_expression "(uint)" ( identifier ))) * identifier))) ;) (expression_statement "uVar10 = uVar9 & 0x80808080;" (assignment_expression "uVar10 = uVar9 & 0x80808080" identifier = (binary_expression "uVar9 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar20 = (ulong *)((long)puVar19 + 4);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 4)" identifier = (cast_expression "(ulong *)((long)puVar19 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 4)" ( (binary_expression "(long)puVar19 + 4" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) ;) (expression_statement "bVar27 = (uVar9 & 0x8080) == 0;" (assignment_expression "bVar27 = (uVar9 & 0x8080) == 0" identifier = (binary_expression "(uVar9 & 0x8080) == 0" (parenthesized_expression "(uVar9 & 0x8080)" ( (binary_expression "uVar9 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n                uVar10 = uVar10 >> 0x10;\n              }" { (expression_statement "uVar10 = uVar10 >> 0x10;" (assignment_expression "uVar10 = uVar10 >> 0x10" identifier = (binary_expression "uVar10 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }" { (expression_statement "puVar20 = (ulong *)((long)puVar19 + 6);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 6)" identifier = (cast_expression "(ulong *)((long)puVar19 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 6)" ( (binary_expression "(long)puVar19 + 6" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (if_statement "if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }" if (parenthesized_expression "((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)))" ( (binary_expression "(char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" (cast_expression "(char *)(0x7fffffffffffffff - local_90)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(0x7fffffffffffffff - local_90)" ( (binary_expression "0x7fffffffffffffff - local_90" number_literal - identifier) ))) < (cast_expression "(char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" ( (binary_expression "(long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" (cast_expression "(long)puVar20" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" ( (binary_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar10,(byte)uVar10)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar10,(byte)uVar10)" identifier (argument_list "((byte)uVar10,(byte)uVar10)" ( (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(long)&local_78" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&local_78" & identifier))) ))) )))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }" { comment (expression_statement "FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);" (call_expression "FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00)" identifier (argument_list "("basic_string::append",uVar10 & 0xffffff00)" ( (string_literal ""basic_string::append"" " string_content ") , (binary_expression "uVar10 & 0xffffff00" identifier & number_literal) ))) ;) })) (expression_statement "FUN_002aac00(&local_98,&local_78);" (call_expression "FUN_002aac00(&local_98,&local_78)" identifier (argument_list "(&local_98,&local_78)" ( (pointer_expression "&local_98" & identifier) , (pointer_expression "&local_78" & identifier) ))) ;) (if_statement "if (local_90 == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }" if (parenthesized_expression "(local_90 == 0x7fffffffffffffff)" ( (binary_expression "local_90 == 0x7fffffffffffffff" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }" { comment (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (expression_statement "FUN_002aac00(&local_98,&DAT_0034070c,1);" (call_expression "FUN_002aac00(&local_98,&DAT_0034070c,1)" identifier (argument_list "(&local_98,&DAT_0034070c,1)" ( (pointer_expression "&local_98" & identifier) , (pointer_expression "&DAT_0034070c" & identifier) , number_literal ))) ;) (goto_statement "goto LAB_0019ce15;" goto statement_identifier ;) }))) }) (else_clause "else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }" else (compound_statement "{\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }" { (if_statement "if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }" if (parenthesized_expression "((*(byte *)((long)puVar15 + 0x3a) & 7) == 0)" ( (binary_expression "(*(byte *)((long)puVar15 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)((long)puVar15 + 0x3a) & 7)" ( (binary_expression "*(byte *)((long)puVar15 + 0x3a) & 7" (pointer_expression "*(byte *)((long)puVar15 + 0x3a)" * (cast_expression "(byte *)((long)puVar15 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar15 + 0x3a)" ( (binary_expression "(long)puVar15 + 0x3a" (cast_expression "(long)puVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }" { (if_statement "if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;" if (parenthesized_expression "(((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))" ( (binary_expression "((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0)))" (parenthesized_expression "((*(byte *)(puVar15[2] + 0x3c) & 1) == 0)" ( (binary_expression "(*(byte *)(puVar15[2] + 0x3c) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar15[2] + 0x3c) & 1)" ( (binary_expression "*(byte *)(puVar15[2] + 0x3c) & 1" (pointer_expression "*(byte *)(puVar15[2] + 0x3c)" * (cast_expression "(byte *)(puVar15[2] + 0x3c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15[2] + 0x3c)" ( (binary_expression "puVar15[2] + 0x3c" (subscript_expression "puVar15[2]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0)))" ( (parenthesized_expression "(*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))" ( (binary_expression "*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0)" (binary_expression "*(int *)(puVar15 + 3) != 0" (pointer_expression "*(int *)(puVar15 + 3)" * (cast_expression "(int *)(puVar15 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 3)" ( (binary_expression "puVar15 + 3" identifier + number_literal) )))) != number_literal) || (parenthesized_expression "((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0)" ( (binary_expression "(*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((long)puVar15 + 0x3b) & 0x20)" ( (binary_expression "*(byte *)((long)puVar15 + 0x3b) & 0x20" (pointer_expression "*(byte *)((long)puVar15 + 0x3b)" * (cast_expression "(byte *)((long)puVar15 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar15 + 0x3b)" ( (binary_expression "(long)puVar15 + 0x3b" (cast_expression "(long)puVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (goto_statement "goto LAB_0019cf7c;" goto statement_identifier ;)) (goto_statement "goto LAB_0019cc40;" goto statement_identifier ;) })) (if_statement "if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;" if (parenthesized_expression "((*(byte *)((long)puVar15 + 0x3a) & 7) == 4)" ( (binary_expression "(*(byte *)((long)puVar15 + 0x3a) & 7) == 4" (parenthesized_expression "(*(byte *)((long)puVar15 + 0x3a) & 7)" ( (binary_expression "*(byte *)((long)puVar15 + 0x3a) & 7" (pointer_expression "*(byte *)((long)puVar15 + 0x3a)" * (cast_expression "(byte *)((long)puVar15 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar15 + 0x3a)" ( (binary_expression "(long)puVar15 + 0x3a" (cast_expression "(long)puVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0019cc40;" goto statement_identifier ;)) (labeled_statement "LAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;" statement_identifier : (if_statement "if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;" if (parenthesized_expression "(((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0))" ( (binary_expression "((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)" (parenthesized_expression "((*(byte *)((long)puVar15 + 0x39) & 3) != 0)" ( (binary_expression "(*(byte *)((long)puVar15 + 0x39) & 3) != 0" (parenthesized_expression "(*(byte *)((long)puVar15 + 0x39) & 3)" ( (binary_expression "*(byte *)((long)puVar15 + 0x39) & 3" (pointer_expression "*(byte *)((long)puVar15 + 0x39)" * (cast_expression "(byte *)((long)puVar15 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar15 + 0x39)" ( (binary_expression "(long)puVar15 + 0x39" (cast_expression "(long)puVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) || (parenthesized_expression "((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)" ( (binary_expression "(*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0" (parenthesized_expression "(*(byte *)((long)puVar15 + 0x3b) & 0x10)" ( (binary_expression "*(byte *)((long)puVar15 + 0x3b) & 0x10" (pointer_expression "*(byte *)((long)puVar15 + 0x3b)" * (cast_expression "(byte *)((long)puVar15 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar15 + 0x3b)" ( (binary_expression "(long)puVar15 + 0x3b" (cast_expression "(long)puVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0019cc40;" goto statement_identifier ;))) (expression_statement "lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);" (assignment_expression "lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003f85c0 + 0x10)" ( (binary_expression "PTR_DAT_003f85c0 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }" if (parenthesized_expression "(lVar16 == 0)" ( (binary_expression "lVar16 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }" { comment (expression_statement "FUN_00199900("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00199900("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;" if (parenthesized_expression "(*(char *)(lVar16 + 0x2a61) == '\0')" ( (binary_expression "*(char *)(lVar16 + 0x2a61) == '\0'" (pointer_expression "*(char *)(lVar16 + 0x2a61)" * (cast_expression "(char *)(lVar16 + 0x2a61)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar16 + 0x2a61)" ( (binary_expression "lVar16 + 0x2a61" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0019cc40;" goto statement_identifier ;)) (expression_statement "cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);" (assignment_expression "cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1)" identifier = (call_expression "FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1)" identifier (argument_list "(lVar16 + 0x9120,*puVar15,0,&local_c1)" ( (binary_expression "lVar16 + 0x9120" identifier + number_literal) , (pointer_expression "*puVar15" * identifier) , number_literal , (pointer_expression "&local_c1" & identifier) )))) ;) (if_statement "if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }" if (parenthesized_expression "((cVar8 == '\0') || (local_c1 != '\0'))" ( (binary_expression "(cVar8 == '\0') || (local_c1 != '\0')" (parenthesized_expression "(cVar8 == '\0')" ( (binary_expression "cVar8 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(local_c1 != '\0')" ( (binary_expression "local_c1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }" { (expression_statement "lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);" (assignment_expression "lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003f85c0 + 0x10)" ( (binary_expression "PTR_DAT_003f85c0 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar16 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }" if (parenthesized_expression "(lVar16 == 0)" ( (binary_expression "lVar16 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }" { comment (expression_statement "FUN_00199900("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00199900("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;" if (parenthesized_expression "((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))" ( (binary_expression "(*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0')))" (parenthesized_expression "(*(char *)(lVar16 + 0xd21) != '\0')" ( (binary_expression "*(char *)(lVar16 + 0xd21) != '\0'" (pointer_expression "*(char *)(lVar16 + 0xd21)" * (cast_expression "(char *)(lVar16 + 0xd21)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar16 + 0xd21)" ( (binary_expression "lVar16 + 0xd21" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0')))" ( (parenthesized_expression "((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))" ( (binary_expression "(*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0')" (binary_expression "(*(byte *)(puVar15 + 7) & 0xf) != 1" (parenthesized_expression "(*(byte *)(puVar15 + 7) & 0xf)" ( (binary_expression "*(byte *)(puVar15 + 7) & 0xf" (pointer_expression "*(byte *)(puVar15 + 7)" * (cast_expression "(byte *)(puVar15 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 7)" ( (binary_expression "puVar15 + 7" identifier + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "(*(char *)(lVar16 + 0xde9) != '\0')" ( (binary_expression "*(char *)(lVar16 + 0xde9) != '\0'" (pointer_expression "*(char *)(lVar16 + 0xde9)" * (cast_expression "(char *)(lVar16 + 0xde9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar16 + 0xde9)" ( (binary_expression "lVar16 + 0xde9" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (goto_statement "goto LAB_0019cc40;" goto statement_identifier ;)) })) }))) (if_statement "if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }" if (parenthesized_expression "(param_2 != '\0')" ( (binary_expression "param_2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }" { (expression_statement "uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);" (assignment_expression "uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1])" identifier = (call_expression "(**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1])" (parenthesized_expression "(**(code **)(*(long *)*puVar21 + 0x88))" ( (pointer_expression "**(code **)(*(long *)*puVar21 + 0x88)" * (pointer_expression "*(code **)(*(long *)*puVar21 + 0x88)" * (cast_expression "(code **)(*(long *)*puVar21 + 0x88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)*puVar21 + 0x88)" ( (binary_expression "*(long *)*puVar21 + 0x88" (pointer_expression "*(long *)*puVar21" * (cast_expression "(long *)*puVar21" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar21" * identifier))) + number_literal) ))))) )) (argument_list "((long *)*puVar21,(int)puVar21[1])" ( (cast_expression "(long *)*puVar21" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar21" * identifier)) , (cast_expression "(int)puVar21[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar21[1]" identifier [ number_literal ])) )))) ;) (if_statement "if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }" if (parenthesized_expression "((uVar12 & 0x10) != 0)" ( (binary_expression "(uVar12 & 0x10) != 0" (parenthesized_expression "(uVar12 & 0x10)" ( (binary_expression "uVar12 & 0x10" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }" { (if_statement "if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }" if (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x18) == 0)" ( (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x18) == 0" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x18)" * (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003f85c0 + 0x18)" ( (binary_expression "PTR_DAT_003f85c0 + 0x18" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }" { comment (expression_statement "FUN_00199900("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_00199900("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;) })) (if_statement "if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }" if (parenthesized_expression "(*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0')" ( (binary_expression "*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0'" (pointer_expression "*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10)" * (cast_expression "(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10)" ( (binary_expression "*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10" (pointer_expression "*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" * (cast_expression "(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" ( (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x18) + 8" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x18)" * (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003f85c0 + 0x18)" ( (binary_expression "PTR_DAT_003f85c0 + 0x18" identifier + number_literal) )))) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }" { (expression_statement "uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);" (assignment_expression "uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1])" identifier = (call_expression "(**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1])" (parenthesized_expression "(**(code **)(*(long *)*puVar21 + 0x90))" ( (pointer_expression "**(code **)(*(long *)*puVar21 + 0x90)" * (pointer_expression "*(code **)(*(long *)*puVar21 + 0x90)" * (cast_expression "(code **)(*(long *)*puVar21 + 0x90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)*puVar21 + 0x90)" ( (binary_expression "*(long *)*puVar21 + 0x90" (pointer_expression "*(long *)*puVar21" * (cast_expression "(long *)*puVar21" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar21" * identifier))) + number_literal) ))))) )) (argument_list "((long *)*puVar21,(int)puVar21[1])" ( (cast_expression "(long *)*puVar21" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar21" * identifier)) , (cast_expression "(int)puVar21[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar21[1]" identifier [ number_literal ])) )))) ;) (expression_statement "lVar11 = *(long *)(lVar5 + lVar22 * 4);" (assignment_expression "lVar11 = *(long *)(lVar5 + lVar22 * 4)" identifier = (pointer_expression "*(long *)(lVar5 + lVar22 * 4)" * (cast_expression "(long *)(lVar5 + lVar22 * 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + lVar22 * 4)" ( (binary_expression "lVar5 + lVar22 * 4" identifier + (binary_expression "lVar22 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }" { (if_statement "if (8 < *(uint *)(lVar7 + lVar22)) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }" if (parenthesized_expression "(8 < *(uint *)(lVar7 + lVar22))" ( (binary_expression "8 < *(uint *)(lVar7 + lVar22)" number_literal < (pointer_expression "*(uint *)(lVar7 + lVar22)" * (cast_expression "(uint *)(lVar7 + lVar22)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + lVar22)" ( (binary_expression "lVar7 + lVar22" identifier + identifier) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }" { comment (expression_statement "FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");" (call_expression "FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend")" identifier (argument_list "("../../gold/icf.cc",0xfb,"get_rel_addend")" ( (string_literal ""../../gold/icf.cc"" " string_content ") , number_literal , (string_literal ""get_rel_addend"" " string_content ") ))) ;) })) comment comment (expression_statement "puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));" (assignment_expression "puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2))" identifier = (cast_expression "(undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2))" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2))" (parenthesized_expression "(*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))" ( (pointer_expression "*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      )" * (cast_expression "(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      )" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      )" ( (binary_expression "&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)" (pointer_expression "&DAT_00340740" & identifier) + (pointer_expression "*(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)" * (cast_expression "(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)" ( (binary_expression "&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4" (pointer_expression "&DAT_00340740" & identifier) + (binary_expression "(ulong)*(uint *)(lVar7 + lVar22) * 4" (binary_expression "(ulong)*(uint *)(lVar7 + lVar22)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(lVar7 + lVar22)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + lVar22)" ( (binary_expression "lVar7 + lVar22" identifier + identifier) )))) * number_literal)) ))))) )))) )) (argument_list "(local_f8 + *(long *)(lVar6 + lVar22 * 2))" ( (binary_expression "local_f8 + *(long *)(lVar6 + lVar22 * 2)" identifier + (pointer_expression "*(long *)(lVar6 + lVar22 * 2)" * (cast_expression "(long *)(lVar6 + lVar22 * 2)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + lVar22 * 2)" ( (binary_expression "lVar6 + lVar22 * 2" identifier + (binary_expression "lVar22 * 2" identifier * number_literal)) ))))) ))))) ;) (return_statement "return puVar15;" return identifier ;) })) comment (expression_statement "lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);" (assignment_expression "lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0)" identifier = (call_expression "FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0)" identifier (argument_list "(*puVar21,(int)puVar21[1],local_b8,0)" ( (pointer_expression "*puVar21" * identifier) , (cast_expression "(int)puVar21[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar21[1]" identifier [ number_literal ])) , identifier , number_literal )))) ;) (expression_statement "__s = (int *)(lVar16 + lVar11);" (assignment_expression "__s = (int *)(lVar16 + lVar11)" identifier = (cast_expression "(int *)(lVar16 + lVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar16 + lVar11)" ( (binary_expression "lVar16 + lVar11" identifier + identifier) )))) ;) (if_statement "if ((long)local_b8[0] <= lVar11) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }" if (parenthesized_expression "((long)local_b8[0] <= lVar11)" ( (binary_expression "(long)local_b8[0] <= lVar11" (cast_expression "(long)local_b8[0]" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (subscript_expression "local_b8[0]" identifier [ number_literal ])) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }" { comment (expression_statement "FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");" (call_expression "FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents")" identifier (argument_list "("../../gold/icf.cc",0x1eb,"get_section_contents")" ( (string_literal ""../../gold/icf.cc"" " string_content ") , number_literal , (string_literal ""get_section_contents"" " string_content ") ))) ;) })) (if_statement "if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }" if (parenthesized_expression "((uVar12 & 0x20) == 0)" ( (binary_expression "(uVar12 & 0x20) == 0" (parenthesized_expression "(uVar12 & 0x20)" ( (binary_expression "uVar12 & 0x20" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }" { (if_statement "if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }" if (parenthesized_expression "(local_b8[0] < lVar11 + uVar18)" ( (binary_expression "local_b8[0] < lVar11 + uVar18" (subscript_expression "local_b8[0]" identifier [ number_literal ]) < (binary_expression "lVar11 + uVar18" identifier + identifier)) )) (compound_statement "{\n                    uVar18 = local_b8[0] - lVar11;\n                  }" { (expression_statement "uVar18 = local_b8[0] - lVar11;" (assignment_expression "uVar18 = local_b8[0] - lVar11" identifier = (binary_expression "local_b8[0] - lVar11" (subscript_expression "local_b8[0]" identifier [ number_literal ]) - identifier)) ;) })) (if_statement "if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append");\n                  }" if (parenthesized_expression "(0x7fffffffffffffff - param_1[1] < uVar18)" ( (binary_expression "0x7fffffffffffffff - param_1[1] < uVar18" (binary_expression "0x7fffffffffffffff - param_1[1]" number_literal - (subscript_expression "param_1[1]" identifier [ number_literal ])) < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append");\n                  }" { comment (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (labeled_statement "LAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);" statement_identifier : (expression_statement "FUN_002aac00(param_1,__s,uVar18);" (call_expression "FUN_002aac00(param_1,__s,uVar18)" identifier (argument_list "(param_1,__s,uVar18)" ( identifier , identifier , identifier ))) ;)) }) (else_clause "else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }" else (compound_statement "{\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }" { (if_statement "if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }" if (parenthesized_expression "(uVar18 == 2)" ( (binary_expression "uVar18 == 2" identifier == number_literal) )) (compound_statement "{\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }" { (if_statement "if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }" if (parenthesized_expression "((short)*__s == 0)" ( (binary_expression "(short)*__s == 0" (cast_expression "(short)*__s" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (pointer_expression "*__s" * identifier)) == number_literal) )) (compound_statement "{\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }" { (labeled_statement "LAB_0019d70f:\n                      uVar18 = 0;" statement_identifier : (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }" else (compound_statement "{\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (do_statement "do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);" do (compound_statement "{\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      }" { (expression_statement "uVar10 = (int)uVar12 + 1;" (assignment_expression "uVar10 = (int)uVar12 + 1" identifier = (binary_expression "(int)uVar12 + 1" (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar12 = (ulong)uVar10;" (assignment_expression "uVar12 = (ulong)uVar10" identifier = (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }) while (parenthesized_expression "(*(short *)((long)__s + uVar12 * 2) != 0)" ( (binary_expression "*(short *)((long)__s + uVar12 * 2) != 0" (pointer_expression "*(short *)((long)__s + uVar12 * 2)" * (cast_expression "(short *)((long)__s + uVar12 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__s + uVar12 * 2)" ( (binary_expression "(long)__s + uVar12 * 2" (cast_expression "(long)__s" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar12 * 2" identifier * number_literal)) )))) != number_literal) )) ;) (expression_statement "uVar18 = (ulong)(uVar10 * 2);" (assignment_expression "uVar18 = (ulong)(uVar10 * 2)" identifier = (call_expression "(ulong)(uVar10 * 2)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar10 * 2)" ( (binary_expression "uVar10 * 2" identifier * number_literal) )))) ;) (if_statement "if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002e12b0("basic_string::append");\n                      }" if (parenthesized_expression "(0x7fffffffffffffff - param_1[1] < uVar18)" ( (binary_expression "0x7fffffffffffffff - param_1[1] < uVar18" (binary_expression "0x7fffffffffffffff - param_1[1]" number_literal - (subscript_expression "param_1[1]" identifier [ number_literal ])) < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                        FUN_002e12b0("basic_string::append");\n                      }" { comment (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) }))) (goto_statement "goto LAB_0019d597;" goto statement_identifier ;) })) (if_statement "if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }" if (parenthesized_expression "(uVar18 == 4)" ( (binary_expression "uVar18 == 4" identifier == number_literal) )) (compound_statement "{\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }" { (if_statement "if (*__s == 0) goto LAB_0019d70f;" if (parenthesized_expression "(*__s == 0)" ( (binary_expression "*__s == 0" (pointer_expression "*__s" * identifier) == number_literal) )) (goto_statement "goto LAB_0019d70f;" goto statement_identifier ;)) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (do_statement "do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);" do (compound_statement "{\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    }" { (expression_statement "uVar10 = (int)uVar12 + 1;" (assignment_expression "uVar10 = (int)uVar12 + 1" identifier = (binary_expression "(int)uVar12 + 1" (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar12 = (ulong)uVar10;" (assignment_expression "uVar12 = (ulong)uVar10" identifier = (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }) while (parenthesized_expression "(__s[uVar12] != 0)" ( (binary_expression "__s[uVar12] != 0" (subscript_expression "__s[uVar12]" identifier [ identifier ]) != number_literal) )) ;) (expression_statement "uVar18 = (ulong)(uVar10 * 4);" (assignment_expression "uVar18 = (ulong)(uVar10 * 4)" identifier = (call_expression "(ulong)(uVar10 * 4)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar10 * 4)" ( (binary_expression "uVar10 * 4" identifier * number_literal) )))) ;) (if_statement "if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002e12b0("basic_string::append");\n                    }" if (parenthesized_expression "(0x7fffffffffffffff - param_1[1] < uVar18)" ( (binary_expression "0x7fffffffffffffff - param_1[1] < uVar18" (binary_expression "0x7fffffffffffffff - param_1[1]" number_literal - (subscript_expression "param_1[1]" identifier [ number_literal ])) < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                      FUN_002e12b0("basic_string::append");\n                    }" { comment (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (goto_statement "goto LAB_0019d597;" goto statement_identifier ;) })) (if_statement "if (uVar18 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }" if (parenthesized_expression "(uVar18 != 1)" ( (binary_expression "uVar18 != 1" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }" { comment (expression_statement "FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");" (call_expression "FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents")" identifier (argument_list "("../../gold/icf.cc",0x210,"get_section_contents")" ( (string_literal ""../../gold/icf.cc"" " string_content ") , number_literal , (string_literal ""get_section_contents"" " string_content ") ))) ;) })) (expression_statement "sVar13 = strlen((char *)__s);" (assignment_expression "sVar13 = strlen((char *)__s)" identifier = (call_expression "strlen((char *)__s)" identifier (argument_list "((char *)__s)" ( (cast_expression "(char *)__s" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append",__s);\n                  }" if (parenthesized_expression "(0x7fffffffffffffff - param_1[1] < sVar13)" ( (binary_expression "0x7fffffffffffffff - param_1[1] < sVar13" (binary_expression "0x7fffffffffffffff - param_1[1]" number_literal - (subscript_expression "param_1[1]" identifier [ number_literal ])) < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    FUN_002e12b0("basic_string::append",__s);\n                  }" { comment (expression_statement "FUN_002e12b0("basic_string::append",__s);" (call_expression "FUN_002e12b0("basic_string::append",__s)" identifier (argument_list "("basic_string::append",__s)" ( (string_literal ""basic_string::append"" " string_content ") , identifier ))) ;) })) (expression_statement "FUN_002aac00(param_1,__s,sVar13);" (call_expression "FUN_002aac00(param_1,__s,sVar13)" identifier (argument_list "(param_1,__s,sVar13)" ( identifier , identifier , identifier ))) ;) }))) (if_statement "if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }" if (parenthesized_expression "(param_1[1] == 0x7fffffffffffffff)" ( (binary_expression "param_1[1] == 0x7fffffffffffffff" (subscript_expression "param_1[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                  FUN_002e12b0("basic_string::append");\n                }" { comment (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (goto_statement "goto LAB_0019d1b1;" goto statement_identifier ;) })) })) (if_statement "if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }" if (parenthesized_expression "(puVar15 == (undefined8 *)0x0)" ( (binary_expression "puVar15 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }" { (expression_statement "FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));" (call_expression "FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10))" identifier (argument_list "(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10))" ( identifier , (pointer_expression "*(undefined8 *)(*puVar21 + 8)" * (cast_expression "(undefined8 *)(*puVar21 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*puVar21 + 8)" ( (binary_expression "*puVar21 + 8" (pointer_expression "*puVar21" * identifier) + number_literal) )))) , (pointer_expression "*(undefined8 *)(*puVar21 + 0x10)" * (cast_expression "(undefined8 *)(*puVar21 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*puVar21 + 0x10)" ( (binary_expression "*puVar21 + 0x10" (pointer_expression "*puVar21" * identifier) + number_literal) )))) ))) ;) (expression_statement "snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);" (call_expression "snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1])" identifier (argument_list "((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1])" ( (cast_expression "(char *)local_b8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal , (string_literal ""%u"" " string_content ") , (cast_expression "(ulong)(uint)puVar21[1]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)puVar21[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar21[1]" identifier [ number_literal ]))) ))) ;) (expression_statement "puVar20 = local_b8;" (assignment_expression "puVar20 = local_b8" identifier = identifier) ;) (do_statement "do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);" do (compound_statement "{\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              }" { (expression_statement "puVar19 = puVar20;" (assignment_expression "puVar19 = puVar20" identifier = identifier) ;) (expression_statement "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;" (assignment_expression "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" identifier = (binary_expression "(uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (binary_expression "(uint)*puVar19 + 0xfefefeff" (binary_expression "(uint)*puVar19" (parenthesized_expression "(uint)" ( identifier )) * identifier) + number_literal) & (binary_expression "~(uint)*puVar19" (unary_expression "~(uint)" ~ (parenthesized_expression "(uint)" ( identifier ))) * identifier))) ;) (expression_statement "uVar10 = uVar9 & 0x80808080;" (assignment_expression "uVar10 = uVar9 & 0x80808080" identifier = (binary_expression "uVar9 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar20 = (ulong *)((long)puVar19 + 4);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 4)" identifier = (cast_expression "(ulong *)((long)puVar19 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 4)" ( (binary_expression "(long)puVar19 + 4" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) ;) (expression_statement "bVar27 = (uVar9 & 0x8080) == 0;" (assignment_expression "bVar27 = (uVar9 & 0x8080) == 0" identifier = (binary_expression "(uVar9 & 0x8080) == 0" (parenthesized_expression "(uVar9 & 0x8080)" ( (binary_expression "uVar9 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n                uVar10 = uVar10 >> 0x10;\n              }" { (expression_statement "uVar10 = uVar10 >> 0x10;" (assignment_expression "uVar10 = uVar10 >> 0x10" identifier = (binary_expression "uVar10 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }" { (expression_statement "puVar20 = (ulong *)((long)puVar19 + 6);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 6)" identifier = (cast_expression "(ulong *)((long)puVar19 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 6)" ( (binary_expression "(long)puVar19 + 6" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (if_statement "if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }" if (parenthesized_expression "((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8)))" ( (binary_expression "(char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))" (cast_expression "(char *)(0x7fffffffffffffff - param_1[1])" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(0x7fffffffffffffff - param_1[1])" ( (binary_expression "0x7fffffffffffffff - param_1[1]" number_literal - (subscript_expression "param_1[1]" identifier [ number_literal ])) ))) < (cast_expression "(char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))" ( (binary_expression "(long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8)" (cast_expression "(long)puVar20" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8)" ( (binary_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar10,(byte)uVar10)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar10,(byte)uVar10)" identifier (argument_list "((byte)uVar10,(byte)uVar10)" ( (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(long)local_b8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) )))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }" { comment (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (expression_statement "FUN_002aac00(param_1,local_b8);" (call_expression "FUN_002aac00(param_1,local_b8)" identifier (argument_list "(param_1,local_b8)" ( identifier , identifier ))) ;) (expression_statement "puVar20 = &local_78;" (assignment_expression "puVar20 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;) (do_statement "do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);" do (compound_statement "{\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              }" { (expression_statement "puVar19 = puVar20;" (assignment_expression "puVar19 = puVar20" identifier = identifier) ;) (expression_statement "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;" (assignment_expression "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" identifier = (binary_expression "(uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (binary_expression "(uint)*puVar19 + 0xfefefeff" (binary_expression "(uint)*puVar19" (parenthesized_expression "(uint)" ( identifier )) * identifier) + number_literal) & (binary_expression "~(uint)*puVar19" (unary_expression "~(uint)" ~ (parenthesized_expression "(uint)" ( identifier ))) * identifier))) ;) (expression_statement "uVar10 = uVar9 & 0x80808080;" (assignment_expression "uVar10 = uVar9 & 0x80808080" identifier = (binary_expression "uVar9 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar20 = (ulong *)((long)puVar19 + 4);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 4)" identifier = (cast_expression "(ulong *)((long)puVar19 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 4)" ( (binary_expression "(long)puVar19 + 4" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) ;) (expression_statement "bVar27 = (uVar9 & 0x8080) == 0;" (assignment_expression "bVar27 = (uVar9 & 0x8080) == 0" identifier = (binary_expression "(uVar9 & 0x8080) == 0" (parenthesized_expression "(uVar9 & 0x8080)" ( (binary_expression "uVar9 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n                uVar10 = uVar10 >> 0x10;\n              }" { (expression_statement "uVar10 = uVar10 >> 0x10;" (assignment_expression "uVar10 = uVar10 >> 0x10" identifier = (binary_expression "uVar10 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }" { (expression_statement "puVar20 = (ulong *)((long)puVar19 + 6);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 6)" identifier = (cast_expression "(ulong *)((long)puVar19 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 6)" ( (binary_expression "(long)puVar19 + 6" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (if_statement "if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }" if (parenthesized_expression "((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)))" ( (binary_expression "(char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" (cast_expression "(char *)(0x7fffffffffffffff - param_1[1])" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(0x7fffffffffffffff - param_1[1])" ( (binary_expression "0x7fffffffffffffff - param_1[1]" number_literal - (subscript_expression "param_1[1]" identifier [ number_literal ])) ))) < (cast_expression "(char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" ( (binary_expression "(long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" (cast_expression "(long)puVar20" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" ( (binary_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar10,(byte)uVar10)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar10,(byte)uVar10)" identifier (argument_list "((byte)uVar10,(byte)uVar10)" ( (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(long)&local_78" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&local_78" & identifier))) ))) )))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }" { comment (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (expression_statement "FUN_002aac00(param_1,&local_78);" (call_expression "FUN_002aac00(param_1,&local_78)" identifier (argument_list "(param_1,&local_78)" ( identifier , (pointer_expression "&local_78" & identifier) ))) ;) (if_statement "if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }" if (parenthesized_expression "(param_1[1] == 0x7fffffffffffffff)" ( (binary_expression "param_1[1] == 0x7fffffffffffffff" (subscript_expression "param_1[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }" { comment (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) }) (else_clause "else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }" else (compound_statement "{\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }\n            }" { (expression_statement "pcVar24 = (char *)*puVar15;" (assignment_expression "pcVar24 = (char *)*puVar15" identifier = (cast_expression "(char *)*puVar15" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar15" * identifier))) ;) (expression_statement "sVar13 = strlen(pcVar24);" (assignment_expression "sVar13 = strlen(pcVar24)" identifier = (call_expression "strlen(pcVar24)" identifier (argument_list "(pcVar24)" ( identifier )))) ;) (if_statement "if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }" if (parenthesized_expression "(0x7fffffffffffffff - param_1[1] < sVar13)" ( (binary_expression "0x7fffffffffffffff - param_1[1] < sVar13" (binary_expression "0x7fffffffffffffff - param_1[1]" number_literal - (subscript_expression "param_1[1]" identifier [ number_literal ])) < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }" { comment (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (expression_statement "FUN_002aac00(param_1,pcVar24,sVar13);" (call_expression "FUN_002aac00(param_1,pcVar24,sVar13)" identifier (argument_list "(param_1,pcVar24,sVar13)" ( identifier , identifier , identifier ))) ;) (expression_statement "puVar20 = &local_78;" (assignment_expression "puVar20 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;) (do_statement "do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);" do (compound_statement "{\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              }" { (expression_statement "puVar19 = puVar20;" (assignment_expression "puVar19 = puVar20" identifier = identifier) ;) (expression_statement "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;" (assignment_expression "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" identifier = (binary_expression "(uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (binary_expression "(uint)*puVar19 + 0xfefefeff" (binary_expression "(uint)*puVar19" (parenthesized_expression "(uint)" ( identifier )) * identifier) + number_literal) & (binary_expression "~(uint)*puVar19" (unary_expression "~(uint)" ~ (parenthesized_expression "(uint)" ( identifier ))) * identifier))) ;) (expression_statement "uVar10 = uVar9 & 0x80808080;" (assignment_expression "uVar10 = uVar9 & 0x80808080" identifier = (binary_expression "uVar9 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar20 = (ulong *)((long)puVar19 + 4);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 4)" identifier = (cast_expression "(ulong *)((long)puVar19 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 4)" ( (binary_expression "(long)puVar19 + 4" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) ;) (expression_statement "bVar27 = (uVar9 & 0x8080) == 0;" (assignment_expression "bVar27 = (uVar9 & 0x8080) == 0" identifier = (binary_expression "(uVar9 & 0x8080) == 0" (parenthesized_expression "(uVar9 & 0x8080)" ( (binary_expression "uVar9 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n                uVar10 = uVar10 >> 0x10;\n              }" { (expression_statement "uVar10 = uVar10 >> 0x10;" (assignment_expression "uVar10 = uVar10 >> 0x10" identifier = (binary_expression "uVar10 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }" { (expression_statement "puVar20 = (ulong *)((long)puVar19 + 6);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 6)" identifier = (cast_expression "(ulong *)((long)puVar19 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 6)" ( (binary_expression "(long)puVar19 + 6" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (if_statement "if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }" if (parenthesized_expression "((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)))" ( (binary_expression "(char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" (cast_expression "(char *)(0x7fffffffffffffff - param_1[1])" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(0x7fffffffffffffff - param_1[1])" ( (binary_expression "0x7fffffffffffffff - param_1[1]" number_literal - (subscript_expression "param_1[1]" identifier [ number_literal ])) ))) < (cast_expression "(char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" ( (binary_expression "(long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" (cast_expression "(long)puVar20" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" ( (binary_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar10,(byte)uVar10)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar10,(byte)uVar10)" identifier (argument_list "((byte)uVar10,(byte)uVar10)" ( (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(long)&local_78" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&local_78" & identifier))) ))) )))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }" { comment (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (expression_statement "FUN_002aac00(param_1,&local_78);" (call_expression "FUN_002aac00(param_1,&local_78)" identifier (argument_list "(param_1,&local_78)" ( identifier , (pointer_expression "&local_78" & identifier) ))) ;) (if_statement "if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }" if (parenthesized_expression "(param_1[1] == 0x7fffffffffffffff)" ( (binary_expression "param_1[1] == 0x7fffffffffffffff" (subscript_expression "param_1[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                FUN_002e12b0("basic_string::append");\n              }" { comment (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) }))) (goto_statement "goto LAB_0019d1b1;" goto statement_identifier ;) })) }))) })) }) (else_clause "else {\n      uVar12 = *puVar21;\n      if (uVar12 != 0) {\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    /* try { // try from 0019cb7f to 0019d2d3 has its CatchHandler @ 0019d8f0 */\n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) goto LAB_0019cbd9;\n      pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      puVar20 = &local_78;\n      if (puVar15 != (undefined8 *)0x0) {\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }\n      do {\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      } while (uVar10 == 0);\n      bVar27 = (uVar9 & 0x8080) == 0;\n      if (bVar27) {\n        uVar10 = uVar10 >> 0x10;\n      }\n      if (bVar27) {\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }\n      if (pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002e12b0("basic_string::append");\n      }\n      FUN_002aac00(param_1,&local_78);\n      if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002e12b0("basic_string::append");\n      }\nLAB_0019d1b1:\n      FUN_002aac00(param_1,&DAT_0034070c,1);\n    }" else (compound_statement "{\n      uVar12 = *puVar21;\n      if (uVar12 != 0) {\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    /* try { // try from 0019cb7f to 0019d2d3 has its CatchHandler @ 0019d8f0 */\n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) goto LAB_0019cbd9;\n      pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      puVar20 = &local_78;\n      if (puVar15 != (undefined8 *)0x0) {\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }\n      do {\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      } while (uVar10 == 0);\n      bVar27 = (uVar9 & 0x8080) == 0;\n      if (bVar27) {\n        uVar10 = uVar10 >> 0x10;\n      }\n      if (bVar27) {\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }\n      if (pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002e12b0("basic_string::append");\n      }\n      FUN_002aac00(param_1,&local_78);\n      if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002e12b0("basic_string::append");\n      }\nLAB_0019d1b1:\n      FUN_002aac00(param_1,&DAT_0034070c,1);\n    }" { (expression_statement "uVar12 = *puVar21;" (assignment_expression "uVar12 = *puVar21" identifier = (pointer_expression "*puVar21" * identifier)) ;) (if_statement "if (uVar12 != 0) {\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    /* try { // try from 0019cb7f to 0019d2d3 has its CatchHandler @ 0019d8f0 */\n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }" if (parenthesized_expression "(uVar12 != 0)" ( (binary_expression "uVar12 != 0" identifier != number_literal) )) (compound_statement "{\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    /* try { // try from 0019cb7f to 0019d2d3 has its CatchHandler @ 0019d8f0 */\n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }" { (expression_statement "local_70 = (int)puVar21[1];" (assignment_expression "local_70 = (int)puVar21[1]" identifier = (cast_expression "(int)puVar21[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar21[1]" identifier [ number_literal ]))) ;) (expression_statement "local_68 = lVar16 + lVar11;" (assignment_expression "local_68 = lVar16 + lVar11" identifier = (binary_expression "lVar16 + lVar11" identifier + identifier)) ;) (expression_statement "plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);" (assignment_expression "plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18)" identifier = (pointer_expression "*(long **)(PTR_DAT_003f85c0 + 0x18)" * (cast_expression "(long **)(PTR_DAT_003f85c0 + 0x18)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_003f85c0 + 0x18)" ( (binary_expression "PTR_DAT_003f85c0 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "local_78 = uVar12;" (assignment_expression "local_78 = uVar12" identifier = identifier) ;) (if_statement "if (plVar26 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }" if (parenthesized_expression "(plVar26 == (long *)0x0)" ( (binary_expression "plVar26 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }" { comment (expression_statement "FUN_00199900("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_00199900("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;) })) comment (expression_statement "(**(code **)(*plVar26 + 0x88))(plVar26,&local_78);" (call_expression "(**(code **)(*plVar26 + 0x88))(plVar26,&local_78)" (parenthesized_expression "(**(code **)(*plVar26 + 0x88))" ( (pointer_expression "**(code **)(*plVar26 + 0x88)" * (pointer_expression "*(code **)(*plVar26 + 0x88)" * (cast_expression "(code **)(*plVar26 + 0x88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar26 + 0x88)" ( (binary_expression "*plVar26 + 0x88" (pointer_expression "*plVar26" * identifier) + number_literal) ))))) )) (argument_list "(plVar26,&local_78)" ( identifier , (pointer_expression "&local_78" & identifier) ))) ;) (if_statement "if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }" if (parenthesized_expression "(local_70 == (int)puVar21[1])" ( (binary_expression "local_70 == (int)puVar21[1]" identifier == (cast_expression "(int)puVar21[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar21[1]" identifier [ number_literal ]))) )) (compound_statement "{\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }" { (expression_statement "lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);" (assignment_expression "lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4)" identifier = (pointer_expression "*(long *)(lVar5 + 8 + lVar22 * 4)" * (cast_expression "(long *)(lVar5 + 8 + lVar22 * 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 8 + lVar22 * 4)" ( (binary_expression "lVar5 + 8 + lVar22 * 4" (binary_expression "lVar5 + 8" identifier + number_literal) + (binary_expression "lVar22 * 4" identifier * number_literal)) ))))) ;) (expression_statement "lVar16 = *(long *)(lVar5 + lVar22 * 4);" (assignment_expression "lVar16 = *(long *)(lVar5 + lVar22 * 4)" identifier = (pointer_expression "*(long *)(lVar5 + lVar22 * 4)" * (cast_expression "(long *)(lVar5 + lVar22 * 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + lVar22 * 4)" ( (binary_expression "lVar5 + lVar22 * 4" identifier + (binary_expression "lVar22 * 4" identifier * number_literal)) ))))) ;) }) (else_clause "else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }" else (compound_statement "{\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }" { (expression_statement "*(int *)(puVar21 + 1) = local_70;" (assignment_expression "*(int *)(puVar21 + 1) = local_70" (pointer_expression "*(int *)(puVar21 + 1)" * (cast_expression "(int *)(puVar21 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 1)" ( (binary_expression "puVar21 + 1" identifier + number_literal) )))) = identifier) ;) (expression_statement "lVar11 = 0;" (assignment_expression "lVar11 = 0" identifier = number_literal) ;) (expression_statement "*(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;" (assignment_expression "*(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0" (pointer_expression "*(undefined8 *)(lVar5 + 8 + lVar22 * 4)" * (cast_expression "(undefined8 *)(lVar5 + 8 + lVar22 * 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 8 + lVar22 * 4)" ( (binary_expression "lVar5 + 8 + lVar22 * 4" (binary_expression "lVar5 + 8" identifier + number_literal) + (binary_expression "lVar22 * 4" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "*(long *)(lVar5 + lVar22 * 4) = local_68;" (assignment_expression "*(long *)(lVar5 + lVar22 * 4) = local_68" (pointer_expression "*(long *)(lVar5 + lVar22 * 4)" * (cast_expression "(long *)(lVar5 + lVar22 * 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + lVar22 * 4)" ( (binary_expression "lVar5 + lVar22 * 4" identifier + (binary_expression "lVar22 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "lVar16 = local_68;" (assignment_expression "lVar16 = local_68" identifier = identifier) ;) }))) })) (expression_statement "snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));" (call_expression "snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2))" identifier (argument_list "((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2))" ( (cast_expression "(char *)&local_78" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_78" & identifier)) , number_literal , (string_literal ""%llx %llx %llx"" " string_content ") , identifier , identifier , (pointer_expression "*(undefined8 *)(lVar6 + lVar22 * 2)" * (cast_expression "(undefined8 *)(lVar6 + lVar22 * 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + lVar22 * 2)" ( (binary_expression "lVar6 + lVar22 * 2" identifier + (binary_expression "lVar22 * 2" identifier * number_literal)) )))) ))) ;) (if_statement "if (*puVar21 != 0) goto LAB_0019cbd9;" if (parenthesized_expression "(*puVar21 != 0)" ( (binary_expression "*puVar21 != 0" (pointer_expression "*puVar21" * identifier) != number_literal) )) (goto_statement "goto LAB_0019cbd9;" goto statement_identifier ;)) (expression_statement "pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);" (assignment_expression "pcVar24 = (char *)(0x7fffffffffffffff - param_1[1])" identifier = (cast_expression "(char *)(0x7fffffffffffffff - param_1[1])" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(0x7fffffffffffffff - param_1[1])" ( (binary_expression "0x7fffffffffffffff - param_1[1]" number_literal - (subscript_expression "param_1[1]" identifier [ number_literal ])) )))) ;) (expression_statement "puVar20 = &local_78;" (assignment_expression "puVar20 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;) (if_statement "if (puVar15 != (undefined8 *)0x0) {\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }" if (parenthesized_expression "(puVar15 != (undefined8 *)0x0)" ( (binary_expression "puVar15 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }" { (expression_statement "__s_00 = (char *)*puVar15;" (assignment_expression "__s_00 = (char *)*puVar15" identifier = (cast_expression "(char *)*puVar15" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar15" * identifier))) ;) (expression_statement "pcVar14 = (char *)strlen(__s_00);" (assignment_expression "pcVar14 = (char *)strlen(__s_00)" identifier = (cast_expression "(char *)strlen(__s_00)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "strlen(__s_00)" identifier (argument_list "(__s_00)" ( identifier ))))) ;) (if_statement "if (pcVar24 < pcVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002e12b0("basic_string::append");\n        }" if (parenthesized_expression "(pcVar24 < pcVar14)" ( (binary_expression "pcVar24 < pcVar14" identifier < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_002e12b0("basic_string::append");\n        }" { comment (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (expression_statement "FUN_002aac00(param_1,__s_00,pcVar14);" (call_expression "FUN_002aac00(param_1,__s_00,pcVar14)" identifier (argument_list "(param_1,__s_00,pcVar14)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);" (assignment_expression "pcVar24 = (char *)(0x7fffffffffffffff - param_1[1])" identifier = (cast_expression "(char *)(0x7fffffffffffffff - param_1[1])" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(0x7fffffffffffffff - param_1[1])" ( (binary_expression "0x7fffffffffffffff - param_1[1]" number_literal - (subscript_expression "param_1[1]" identifier [ number_literal ])) )))) ;) })) (do_statement "do {\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      } while (uVar10 == 0);" do (compound_statement "{\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      }" { (expression_statement "puVar19 = puVar20;" (assignment_expression "puVar19 = puVar20" identifier = identifier) ;) (expression_statement "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;" (assignment_expression "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" identifier = (binary_expression "(uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (binary_expression "(uint)*puVar19 + 0xfefefeff" (binary_expression "(uint)*puVar19" (parenthesized_expression "(uint)" ( identifier )) * identifier) + number_literal) & (binary_expression "~(uint)*puVar19" (unary_expression "~(uint)" ~ (parenthesized_expression "(uint)" ( identifier ))) * identifier))) ;) (expression_statement "uVar10 = uVar9 & 0x80808080;" (assignment_expression "uVar10 = uVar9 & 0x80808080" identifier = (binary_expression "uVar9 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar20 = (ulong *)((long)puVar19 + 4);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 4)" identifier = (cast_expression "(ulong *)((long)puVar19 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 4)" ( (binary_expression "(long)puVar19 + 4" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) ;) (expression_statement "bVar27 = (uVar9 & 0x8080) == 0;" (assignment_expression "bVar27 = (uVar9 & 0x8080) == 0" identifier = (binary_expression "(uVar9 & 0x8080) == 0" (parenthesized_expression "(uVar9 & 0x8080)" ( (binary_expression "uVar9 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar27) {\n        uVar10 = uVar10 >> 0x10;\n      }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n        uVar10 = uVar10 >> 0x10;\n      }" { (expression_statement "uVar10 = uVar10 >> 0x10;" (assignment_expression "uVar10 = uVar10 >> 0x10" identifier = (binary_expression "uVar10 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar27) {\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }" { (expression_statement "puVar20 = (ulong *)((long)puVar19 + 6);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 6)" identifier = (cast_expression "(ulong *)((long)puVar19 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 6)" ( (binary_expression "(long)puVar19 + 6" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (if_statement "if (pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002e12b0("basic_string::append");\n      }" if (parenthesized_expression "(pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)))" ( (binary_expression "pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" identifier < (cast_expression "(char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" ( (binary_expression "(long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" (cast_expression "(long)puVar20" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" ( (binary_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar10,(byte)uVar10)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar10,(byte)uVar10)" identifier (argument_list "((byte)uVar10,(byte)uVar10)" ( (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(long)&local_78" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&local_78" & identifier))) ))) )))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_002e12b0("basic_string::append");\n      }" { comment (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (expression_statement "FUN_002aac00(param_1,&local_78);" (call_expression "FUN_002aac00(param_1,&local_78)" identifier (argument_list "(param_1,&local_78)" ( identifier , (pointer_expression "&local_78" & identifier) ))) ;) (if_statement "if (param_1[1] == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002e12b0("basic_string::append");\n      }" if (parenthesized_expression "(param_1[1] == 0x7fffffffffffffff)" ( (binary_expression "param_1[1] == 0x7fffffffffffffff" (subscript_expression "param_1[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_002e12b0("basic_string::append");\n      }" { comment (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (labeled_statement "LAB_0019d1b1:\n      FUN_002aac00(param_1,&DAT_0034070c,1);" statement_identifier : (expression_statement "FUN_002aac00(param_1,&DAT_0034070c,1);" (call_expression "FUN_002aac00(param_1,&DAT_0034070c,1)" identifier (argument_list "(param_1,&DAT_0034070c,1)" ( identifier , (pointer_expression "&DAT_0034070c" & identifier) , number_literal ))) ;)) }))) (labeled_statement "LAB_0019ce15:\n    lVar22 = lVar22 + 4;" statement_identifier : (expression_statement "lVar22 = lVar22 + 4;" (assignment_expression "lVar22 = lVar22 + 4" identifier = (binary_expression "lVar22 + 4" identifier + number_literal)) ;)) (expression_statement "puVar21 = puVar21 + 2;" (assignment_expression "puVar21 = puVar21 + 2" identifier = (binary_expression "puVar21 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(ulong **)(lVar2 + 0x20) != puVar21)" ( (binary_expression "*(ulong **)(lVar2 + 0x20) != puVar21" (pointer_expression "*(ulong **)(lVar2 + 0x20)" * (cast_expression "(ulong **)(lVar2 + 0x20)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar2 + 0x20)" ( (binary_expression "lVar2 + 0x20" identifier + number_literal) )))) != identifier) )) ;)) (labeled_statement "LAB_0019d282:\n  if (param_2 == '\0') {\n    if (param_1[1] != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents");\n    }\n    puVar15 = (undefined8 *)((ulong)param_4 * 0x20 + *param_8);\n    FUN_002aac00(param_1,*puVar15,puVar15[1]);\n  }\n  else {\n    if (0x7fffffffffffffff - param_1[1] < 0xb) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,"Contents = ",0xb);\n    if (0x7fffffffffffffff - param_1[1] < local_c0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,local_f8);\n    FUN_002a95a0((ulong)param_4 * 0x20 + *param_8,param_1);\n  }" statement_identifier : (if_statement "if (param_2 == '\0') {\n    if (param_1[1] != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents");\n    }\n    puVar15 = (undefined8 *)((ulong)param_4 * 0x20 + *param_8);\n    FUN_002aac00(param_1,*puVar15,puVar15[1]);\n  }\n  else {\n    if (0x7fffffffffffffff - param_1[1] < 0xb) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,"Contents = ",0xb);\n    if (0x7fffffffffffffff - param_1[1] < local_c0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,local_f8);\n    FUN_002a95a0((ulong)param_4 * 0x20 + *param_8,param_1);\n  }" if (parenthesized_expression "(param_2 == '\0')" ( (binary_expression "param_2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (param_1[1] != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents");\n    }\n    puVar15 = (undefined8 *)((ulong)param_4 * 0x20 + *param_8);\n    FUN_002aac00(param_1,*puVar15,puVar15[1]);\n  }" { (if_statement "if (param_1[1] != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents");\n    }" if (parenthesized_expression "(param_1[1] != 0)" ( (binary_expression "param_1[1] != 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents");\n    }" { comment (expression_statement "FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents");" (call_expression "FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents")" identifier (argument_list "("../../gold/icf.cc",0x242,"get_section_contents")" ( (string_literal ""../../gold/icf.cc"" " string_content ") , number_literal , (string_literal ""get_section_contents"" " string_content ") ))) ;) })) (expression_statement "puVar15 = (undefined8 *)((ulong)param_4 * 0x20 + *param_8);" (assignment_expression "puVar15 = (undefined8 *)((ulong)param_4 * 0x20 + *param_8)" identifier = (cast_expression "(undefined8 *)((ulong)param_4 * 0x20 + *param_8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)param_4 * 0x20 + *param_8)" ( (binary_expression "(ulong)param_4 * 0x20 + *param_8" (binary_expression "(ulong)param_4 * 0x20" (cast_expression "(ulong)param_4" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal) + (pointer_expression "*param_8" * identifier)) )))) ;) (expression_statement "FUN_002aac00(param_1,*puVar15,puVar15[1]);" (call_expression "FUN_002aac00(param_1,*puVar15,puVar15[1])" identifier (argument_list "(param_1,*puVar15,puVar15[1])" ( identifier , (pointer_expression "*puVar15" * identifier) , (subscript_expression "puVar15[1]" identifier [ number_literal ]) ))) ;) }) (else_clause "else {\n    if (0x7fffffffffffffff - param_1[1] < 0xb) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,"Contents = ",0xb);\n    if (0x7fffffffffffffff - param_1[1] < local_c0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,local_f8);\n    FUN_002a95a0((ulong)param_4 * 0x20 + *param_8,param_1);\n  }" else (compound_statement "{\n    if (0x7fffffffffffffff - param_1[1] < 0xb) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,"Contents = ",0xb);\n    if (0x7fffffffffffffff - param_1[1] < local_c0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,local_f8);\n    FUN_002a95a0((ulong)param_4 * 0x20 + *param_8,param_1);\n  }" { (if_statement "if (0x7fffffffffffffff - param_1[1] < 0xb) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002e12b0("basic_string::append");\n    }" if (parenthesized_expression "(0x7fffffffffffffff - param_1[1] < 0xb)" ( (binary_expression "0x7fffffffffffffff - param_1[1] < 0xb" (binary_expression "0x7fffffffffffffff - param_1[1]" number_literal - (subscript_expression "param_1[1]" identifier [ number_literal ])) < number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_002e12b0("basic_string::append");\n    }" { comment (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (expression_statement "FUN_002aac00(param_1,"Contents = ",0xb);" (call_expression "FUN_002aac00(param_1,"Contents = ",0xb)" identifier (argument_list "(param_1,"Contents = ",0xb)" ( identifier , (string_literal ""Contents = "" " string_content ") , number_literal ))) ;) (if_statement "if (0x7fffffffffffffff - param_1[1] < local_c0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002e12b0("basic_string::append");\n    }" if (parenthesized_expression "(0x7fffffffffffffff - param_1[1] < local_c0)" ( (binary_expression "0x7fffffffffffffff - param_1[1] < local_c0" (binary_expression "0x7fffffffffffffff - param_1[1]" number_literal - (subscript_expression "param_1[1]" identifier [ number_literal ])) < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_002e12b0("basic_string::append");\n    }" { comment (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (expression_statement "FUN_002aac00(param_1,local_f8);" (call_expression "FUN_002aac00(param_1,local_f8)" identifier (argument_list "(param_1,local_f8)" ( identifier , identifier ))) ;) (expression_statement "FUN_002a95a0((ulong)param_4 * 0x20 + *param_8,param_1);" (call_expression "FUN_002a95a0((ulong)param_4 * 0x20 + *param_8,param_1)" identifier (argument_list "((ulong)param_4 * 0x20 + *param_8,param_1)" ( (binary_expression "(ulong)param_4 * 0x20 + *param_8" (binary_expression "(ulong)param_4 * 0x20" (cast_expression "(ulong)param_4" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal) + (pointer_expression "*param_8" * identifier)) , identifier ))) ;) })))) (expression_statement "FUN_002aac00(param_1,local_98,local_90);" (call_expression "FUN_002aac00(param_1,local_98,local_90)" identifier (argument_list "(param_1,local_98,local_90)" ( identifier , identifier , identifier ))) ;) (if_statement "if (local_98 != local_88) {\n    FUN_002a2980();\n  }" if (parenthesized_expression "(local_98 != local_88)" ( (binary_expression "local_98 != local_88" identifier != identifier) )) (compound_statement "{\n    FUN_002a2980();\n  }" { (expression_statement "FUN_002a2980();" (call_expression "FUN_002a2980()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "lVar2 = *(long *)(uVar1 + 0x28);" (assignment_expression "lVar2 = *(long *)(uVar1 + 0x28)" identifier = (pointer_expression "*(long *)(uVar1 + 0x28)" * (cast_expression "(long *)(uVar1 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar1 + 0x28)" ( (binary_expression "uVar1 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (lVar2 != 0) {\n    FUN_00193600(lVar2 + 0x28,0xffffffffffffffff);\n  }" if (parenthesized_expression "(lVar2 != 0)" ( (binary_expression "lVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_00193600(lVar2 + 0x28,0xffffffffffffffff);\n  }" { (expression_statement "FUN_00193600(lVar2 + 0x28,0xffffffffffffffff);" (call_expression "FUN_00193600(lVar2 + 0x28,0xffffffffffffffff)" identifier (argument_list "(lVar2 + 0x28,0xffffffffffffffff)" ( (binary_expression "lVar2 + 0x28" identifier + number_literal) , number_literal ))) ;) })) (return_statement "return param_1;" return identifier ;) })))
(translation_unit "/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n\nstring * gold::get_section_contents\n                   (string *__return_storage_ptr__,bool first_iteration,Section_id *secn,\n                   uint section_num,uint *num_tracked_relocs,Symbol_table *symtab,\n                   vector<unsigned_int,_std::allocator<unsigned_int>_> *kept_section_id,\n                   vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   *section_contents)\n\n{\n  int *__s;\n  Relobj *pRVar1;\n  Input_file *pIVar2;\n  _Hash_node_base *p_Var3;\n  _Hash_node_base *p_Var4;\n  _Hash_node_base *p_Var5;\n  _Hash_node_base *p_Var6;\n  Target *pTVar7;\n  General_options *pGVar8;\n  bool bVar9;\n  Valtype return_value;\n  uint uVar10;\n  uint uVar11;\n  iterator iVar12;\n  ulong uVar13;\n  size_t sVar14;\n  char *pcVar15;\n  string *psVar16;\n  pointer pbVar17;\n  uchar *puVar18;\n  _Hash_node_base *p_Var19;\n  long lVar20;\n  ulong uVar21;\n  char *pcVar22;\n  char *pcVar23;\n  uint *puVar24;\n  uint *puVar25;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar26;\n  _Hash_node_base *p_Var27;\n  long lVar28;\n  __bucket_type p_Var29;\n  string *buffer;\n  _Hash_node_base *p_Var30;\n  long lVar31;\n  __bucket_type p_Var32;\n  undefined8 *puVar33;\n  bool bVar34;\n  uchar *local_f8;\n  bool is_global;\n  section_size_type plen;\n  char kept_section_str [10];\n  Section_id reloc_secn;\n  string icf_reloc_buffer;\n  char addend_str [50];\n  \n  pRVar1 = secn->first;\n  pIVar2 = (pRVar1->super_Object).input_file_;\n  if (pIVar2 != (Input_file *)0x0) {\n    File_read::lock(&pIVar2->file_,(Task *)0xffffffffffffffff);\n  }\n  local_f8 = (uchar *)0x0;\n  if (first_iteration) {\n                    /* try { // try from 0019d33d to 0019d341 has its CatchHandler @ 0019d8e8 */\n    local_f8 = Object::section_contents(&secn->first->super_Object,secn->second,&plen,false);\n  }\n  paVar26 = &__return_storage_ptr__->field_2;\n  __return_storage_ptr__->_M_string_length = 0;\n  icf_reloc_buffer._M_dataplus._M_p = (pointer)&icf_reloc_buffer.field_2;\n  (__return_storage_ptr__->_M_dataplus)._M_p = (pointer)paVar26;\n  (__return_storage_ptr__->field_2)._M_local_buf[0] = '\0';\n  if (num_tracked_relocs != (uint *)0x0) {\n    *num_tracked_relocs = 0;\n    paVar26 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)(__return_storage_ptr__->_M_dataplus)._M_p;\n  }\n  uVar13 = (symtab->icf_->reloc_info_list_)._M_h._M_bucket_count;\n  p_Var30 = (_Hash_node_base *)((ulong)secn->second ^ (ulong)secn->first);\n  uVar21 = (ulong)p_Var30 % uVar13;\n  p_Var32 = (symtab->icf_->reloc_info_list_)._M_h._M_buckets[uVar21];\n  if (p_Var32 != (__bucket_type)0x0) {\n    p_Var19 = p_Var32->_M_nxt[0x12]._M_nxt;\n    p_Var3 = p_Var32->_M_nxt;\n    while (((p_Var29 = p_Var3, p_Var30 != p_Var19 || (secn->first != (Relobj *)p_Var29[1]._M_nxt))\n           || (secn->second != *(uint *)&p_Var29[2]._M_nxt))) {\n      p_Var3 = p_Var29->_M_nxt;\n      if ((p_Var3 == (_Hash_node_base *)0x0) ||\n         (p_Var19 = p_Var3[0x12]._M_nxt, p_Var32 = p_Var29, uVar21 != (ulong)p_Var19 % uVar13))\n      goto LAB_0019d260;\n    }\n    p_Var30 = p_Var32->_M_nxt;\n    if (p_Var30 != (_Hash_node_base *)0x0) {\n      __return_storage_ptr__->_M_string_length = 0;\n      lVar28 = 0;\n      paVar26->_M_local_buf[0] = '\0';\n      icf_reloc_buffer._M_string_length = 0;\n      icf_reloc_buffer.field_2._M_local_buf[0] = '\0';\n      p_Var19 = p_Var30[6]._M_nxt;\n      p_Var3 = p_Var30[9]._M_nxt;\n      p_Var4 = p_Var30[0xc]._M_nxt;\n      p_Var5 = p_Var30[0xf]._M_nxt;\n      p_Var27 = p_Var30[3]._M_nxt;\n      if (p_Var27 == p_Var30[4]._M_nxt) goto LAB_0019d282;\n      goto LAB_0019ce2c;\n    }\n  }\nLAB_0019d260:\n  __return_storage_ptr__->_M_string_length = 0;\n  paVar26->_M_local_buf[0] = '\0';\n  icf_reloc_buffer._M_string_length = 0;\n  icf_reloc_buffer.field_2._M_local_buf[0] = '\0';\n  goto LAB_0019d282;\nLAB_0019ce2c:\n  do {\n    puVar33 = *(undefined8 **)((long)&p_Var19->_M_nxt + lVar28 * 2);\n    bVar34 = puVar33 == (undefined8 *)0xffffffffffffffff;\n    if (bVar34) {\n      puVar33 = (undefined8 *)0x0;\n    }\n    lVar31 = *(long *)((long)&p_Var3[1]._M_nxt + lVar28 * 4);\n    lVar20 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n    if (first_iteration) {\n      p_Var6 = p_Var27->_M_nxt;\n      if (p_Var6 != (_Hash_node_base *)0x0) {\n        addend_str._8_4_ = *(undefined4 *)&p_Var27[1]._M_nxt;\n        addend_str._16_8_ = lVar20 + lVar31;\n        pTVar7 = parameters->target_;\n        addend_str._0_8_ = p_Var6;\n        if (pTVar7 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n        }\n                    /* try { // try from 0019cb7f to 0019d2d3 has its CatchHandler @ 0019d8f0 */\n        (*pTVar7->_vptr_Target[0x11])(pTVar7,addend_str);\n        if (addend_str._8_4_ == *(int *)&p_Var27[1]._M_nxt) {\n          lVar31 = *(long *)((long)&p_Var3[1]._M_nxt + lVar28 * 4);\n          lVar20 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n        }\n        else {\n          *(undefined4 *)&p_Var27[1]._M_nxt = addend_str._8_4_;\n          lVar31 = 0;\n          *(undefined8 *)((long)&p_Var3[1]._M_nxt + lVar28 * 4) = 0;\n          *(undefined8 *)((long)&p_Var3->_M_nxt + lVar28 * 4) = addend_str._16_8_;\n          lVar20 = addend_str._16_8_;\n        }\n      }\n      snprintf(addend_str,0x32,"%llx %llx %llx",lVar20,lVar31,\n               *(undefined8 *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n      if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) goto LAB_0019cbd9;\n      pcVar22 = (char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length);\n      puVar25 = (uint *)addend_str;\n      if (puVar33 != (undefined8 *)0x0) {\n        pcVar23 = (char *)*puVar33;\n        pcVar15 = (char *)strlen(pcVar23);\n        if (pcVar22 < pcVar15) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_length_error("basic_string::append");\n        }\n        std::string::_M_append((string *)__return_storage_ptr__,pcVar23,(ulong)pcVar15);\n        pcVar22 = (char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length);\n      }\n      do {\n        puVar24 = puVar25;\n        uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n        uVar11 = uVar10 & 0x80808080;\n        puVar25 = puVar24 + 1;\n      } while (uVar11 == 0);\n      bVar34 = (uVar10 & 0x8080) == 0;\n      if (bVar34) {\n        uVar11 = uVar11 >> 0x10;\n      }\n      if (bVar34) {\n        puVar25 = (uint *)((long)puVar24 + 6);\n      }\n      pcVar23 = (char *)((long)puVar25 +\n                        ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str));\n      if (pcVar22 < pcVar23) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_length_error("basic_string::append");\n      }\n      std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar23);\n      if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_length_error("basic_string::append");\n      }\nLAB_0019d1b1:\n      std::string::_M_append((string *)__return_storage_ptr__,"@",1);\n    }\n    else {\n      snprintf(addend_str,0x32,"%llx %llx %llx",lVar20,lVar31,\n               *(undefined8 *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n      if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\nLAB_0019cbd9:\n        reloc_secn.first = (Relobj *)p_Var27->_M_nxt;\n        reloc_secn.second = *(uint *)&p_Var27[1]._M_nxt;\n        if ((secn->first == reloc_secn.first) && (secn->second == reloc_secn.second)) {\n          if (first_iteration) {\n            if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            std::string::_M_append((string *)__return_storage_ptr__,"R",1);\n            puVar25 = (uint *)addend_str;\n            do {\n              puVar24 = puVar25;\n              uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n              uVar11 = uVar10 & 0x80808080;\n              puVar25 = puVar24 + 1;\n            } while (uVar11 == 0);\n            bVar34 = (uVar10 & 0x8080) == 0;\n            if (bVar34) {\n              uVar11 = uVar11 >> 0x10;\n            }\n            if (bVar34) {\n              puVar25 = (uint *)((long)puVar24 + 6);\n            }\n            pcVar22 = (char *)((long)puVar25 +\n                              ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str));\n            if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n            if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          iVar12 = std::\n                   _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&symtab->icf_->section_id_,&reloc_secn);\n          if (puVar33 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (iVar12.\n                super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                ._M_cur != (__node_type *)0x0) {\n              if (num_tracked_relocs != (uint *)0x0) {\n                *num_tracked_relocs = *num_tracked_relocs + 1;\n              }\n              snprintf(kept_section_str,10,"%u",\n                       (ulong)(kept_section_id->\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>).\n                              _M_impl._M_start\n                              [*(uint *)((long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                                               ._M_cur + 0x18)]);\n              puVar25 = (uint *)kept_section_str;\n              if (first_iteration) {\n                if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 5) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,"ICF_R",5);\n                puVar25 = (uint *)addend_str;\n                do {\n                  puVar24 = puVar25;\n                  uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                  uVar11 = uVar10 & 0x80808080;\n                  puVar25 = puVar24 + 1;\n                } while (uVar11 == 0);\n                bVar34 = (uVar10 & 0x8080) == 0;\n                if (bVar34) {\n                  uVar11 = uVar11 >> 0x10;\n                }\n                if (bVar34) {\n                  puVar25 = (uint *)((long)puVar24 + 6);\n                }\n                pcVar22 = (char *)((long)puVar25 +\n                                  ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                  (long)addend_str));\n                if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) <\n                    pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n                puVar25 = (uint *)kept_section_str;\n              }\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,addend_str,(ulong)pcVar22);\n              if (icf_reloc_buffer._M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,"@",1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar33[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar33 + 3) != 0 || ((*(byte *)((long)puVar33 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar33 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar33 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            pGVar8 = parameters->options_;\n            if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((pGVar8->shared_).value == false) goto LAB_0019cc40;\n            bVar9 = Version_script_info::get_symbol_version\n                              (&(pGVar8->dynamic_list_).version_script_info_,(char *)*puVar33,\n                               (string *)0x0,&is_global);\n            if ((!bVar9) || (is_global != false)) {\n              pGVar8 = parameters->options_;\n              if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if (((pGVar8->Bsymbolic_).value != false) ||\n                 (((*(byte *)(puVar33 + 7) & 0xf) != 1 &&\n                  ((pGVar8->Bsymbolic_functions_).value != false)))) goto LAB_0019cc40;\n            }\n          }\n          if (first_iteration) {\n            uVar13 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x11]._M_nxt)\n                               (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n            if ((uVar13 & 0x10) != 0) {\n              if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              if (parameters->target_->pti_->can_icf_inline_merge_sections != false) {\n                uVar21 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x12]._M_nxt)\n                                   (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n                lVar31 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n                if (bVar34) {\n                  if (8 < *(uint *)((long)&p_Var5->_M_nxt + lVar28)) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  psVar16 = (string *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4))\n                            )(local_f8 + *(long *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n                  return psVar16;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                puVar18 = Object::section_contents\n                                    ((Object *)p_Var27->_M_nxt,*(uint *)&p_Var27[1]._M_nxt,\n                                     (section_size_type *)kept_section_str,false);\n                __s = (int *)(puVar18 + lVar31);\n                if ((long)kept_section_str._0_8_ <= lVar31) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar13 & 0x20) == 0) {\n                  if ((ulong)kept_section_str._0_8_ < lVar31 + uVar21) {\n                    uVar21 = kept_section_str._0_8_ - lVar31;\n                  }\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\nLAB_0019d597:\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,uVar21);\n                }\n                else {\n                  if (uVar21 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar21 = 0;\n                    }\n                    else {\n                      uVar13 = 0;\n                      do {\n                        uVar11 = (int)uVar13 + 1;\n                        uVar13 = (ulong)uVar11;\n                      } while (*(short *)((long)__s + uVar13 * 2) != 0);\n                      uVar21 = (ulong)(uVar11 * 2);\n                      if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                        std::__throw_length_error("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar13 = 0;\n                    do {\n                      uVar11 = (int)uVar13 + 1;\n                      uVar13 = (ulong)uVar11;\n                    } while (__s[uVar13] != 0);\n                    uVar21 = (ulong)(uVar11 * 4);\n                    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                      std::__throw_length_error("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar14 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,sVar14);\n                }\n                if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar33 == (undefined8 *)0x0) {\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,(char *)p_Var27->_M_nxt[1]._M_nxt,\n                         (ulong)p_Var27->_M_nxt[2]._M_nxt);\n              snprintf(kept_section_str,10,"%u",(ulong)*(uint *)&p_Var27[1]._M_nxt);\n              puVar25 = (uint *)kept_section_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            else {\n              pcVar22 = (char *)*puVar33;\n              sVar14 = strlen(pcVar22);\n              if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,pcVar22,sVar14);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }\nLAB_0019ce15:\n    lVar28 = lVar28 + 4;\n    p_Var27 = p_Var27 + 2;\n  } while (p_Var30[4]._M_nxt != p_Var27);\nLAB_0019d282:\n  if (first_iteration) {\n    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 0xb) {\n                    /* WARNING: Subroutine does not return */\n      std::__throw_length_error("basic_string::append");\n    }\n    std::string::_M_append((string *)__return_storage_ptr__,"Contents = ",0xb);\n    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < plen) {\n                    /* WARNING: Subroutine does not return */\n      std::__throw_length_error("basic_string::append");\n    }\n    std::string::_M_append((string *)__return_storage_ptr__,(char *)local_f8,plen);\n    std::string::_M_assign\n              ((string *)\n               ((section_contents->\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                )._M_impl._M_start + section_num),(string *)__return_storage_ptr__);\n  }\n  else {\n    if (__return_storage_ptr__->_M_string_length != 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/icf.cc",0x242,"get_section_contents");\n    }\n    pbVar17 = (section_contents->\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              )._M_impl._M_start + section_num;\n    std::string::_M_append\n              ((string *)__return_storage_ptr__,(pbVar17->_M_dataplus)._M_p,\n               pbVar17->_M_string_length);\n  }\n  std::string::_M_append\n            ((string *)__return_storage_ptr__,icf_reloc_buffer._M_dataplus._M_p,\n             icf_reloc_buffer._M_string_length);\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)icf_reloc_buffer._M_dataplus._M_p != &icf_reloc_buffer.field_2) {\n    operator_delete(icf_reloc_buffer._M_dataplus._M_p);\n  }\n  pIVar2 = (pRVar1->super_Object).input_file_;\n  if (pIVar2 != (Input_file *)0x0) {\n    File_read::unlock(&pIVar2->file_,(Task *)0xffffffffffffffff);\n  }\n  return __return_storage_ptr__;\n}\n\n" comment comment (ERROR "string * gold::" (binary_expression "string * gold" identifier * identifier) : :) (expression_statement "get_section_contents\n                   (string *__return_storage_ptr__,bool first_iteration,Section_id *secn,\n                   uint section_num,uint *num_tracked_relocs,Symbol_table *symtab,\n                   vector<unsigned_int,_std::allocator<unsigned_int>_> *kept_section_id,\n                   vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   *section_contents)" (call_expression "get_section_contents\n                   (string *__return_storage_ptr__,bool first_iteration,Section_id *secn,\n                   uint section_num,uint *num_tracked_relocs,Symbol_table *symtab,\n                   vector<unsigned_int,_std::allocator<unsigned_int>_> *kept_section_id,\n                   vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   *section_contents)" identifier (argument_list "(string *__return_storage_ptr__,bool first_iteration,Section_id *secn,\n                   uint section_num,uint *num_tracked_relocs,Symbol_table *symtab,\n                   vector<unsigned_int,_std::allocator<unsigned_int>_> *kept_section_id,\n                   vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   *section_contents)" ( (binary_expression "string *__return_storage_ptr__" identifier * identifier) , (ERROR "bool" identifier) identifier , (binary_expression "Section_id *secn" identifier * identifier) , (ERROR "uint" identifier) identifier , (binary_expression "uint *num_tracked_relocs" identifier * identifier) , (binary_expression "Symbol_table *symtab" identifier * identifier) , (binary_expression "vector<unsigned_int" identifier < identifier) , (ERROR "_std::" identifier : :) (binary_expression "allocator<unsigned_int>_> *kept_section_id" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) > (pointer_expression "*kept_section_id" * identifier)) , (ERROR "vector<std::__cxx11::" (binary_expression "vector<std" identifier < identifier) : : identifier : :) (binary_expression "basic_string<char" identifier < identifier) , (ERROR "_std::" identifier : :) (binary_expression "char_traits<char" identifier < identifier) (ERROR ">" >) , (ERROR "_std::" identifier : :) (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) (ERROR ">" >) , (ERROR "_std::allocator<std::__cxx11::" identifier : : (binary_expression "allocator<std" identifier < identifier) : : identifier : :) (binary_expression "basic_string<char" identifier < identifier) , (ERROR "_std::" identifier : :) (binary_expression "char_traits<char" identifier < identifier) (ERROR ">" >) , (ERROR "_std::" identifier : :) (binary_expression "allocator<char>_>_>_>\n                   *section_contents" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > (pointer_expression "*section_contents" * identifier)) ))) ;) (compound_statement "{\n  int *__s;\n  Relobj *pRVar1;\n  Input_file *pIVar2;\n  _Hash_node_base *p_Var3;\n  _Hash_node_base *p_Var4;\n  _Hash_node_base *p_Var5;\n  _Hash_node_base *p_Var6;\n  Target *pTVar7;\n  General_options *pGVar8;\n  bool bVar9;\n  Valtype return_value;\n  uint uVar10;\n  uint uVar11;\n  iterator iVar12;\n  ulong uVar13;\n  size_t sVar14;\n  char *pcVar15;\n  string *psVar16;\n  pointer pbVar17;\n  uchar *puVar18;\n  _Hash_node_base *p_Var19;\n  long lVar20;\n  ulong uVar21;\n  char *pcVar22;\n  char *pcVar23;\n  uint *puVar24;\n  uint *puVar25;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar26;\n  _Hash_node_base *p_Var27;\n  long lVar28;\n  __bucket_type p_Var29;\n  string *buffer;\n  _Hash_node_base *p_Var30;\n  long lVar31;\n  __bucket_type p_Var32;\n  undefined8 *puVar33;\n  bool bVar34;\n  uchar *local_f8;\n  bool is_global;\n  section_size_type plen;\n  char kept_section_str [10];\n  Section_id reloc_secn;\n  string icf_reloc_buffer;\n  char addend_str [50];\n  \n  pRVar1 = secn->first;\n  pIVar2 = (pRVar1->super_Object).input_file_;\n  if (pIVar2 != (Input_file *)0x0) {\n    File_read::lock(&pIVar2->file_,(Task *)0xffffffffffffffff);\n  }\n  local_f8 = (uchar *)0x0;\n  if (first_iteration) {\n                    /* try { // try from 0019d33d to 0019d341 has its CatchHandler @ 0019d8e8 */\n    local_f8 = Object::section_contents(&secn->first->super_Object,secn->second,&plen,false);\n  }\n  paVar26 = &__return_storage_ptr__->field_2;\n  __return_storage_ptr__->_M_string_length = 0;\n  icf_reloc_buffer._M_dataplus._M_p = (pointer)&icf_reloc_buffer.field_2;\n  (__return_storage_ptr__->_M_dataplus)._M_p = (pointer)paVar26;\n  (__return_storage_ptr__->field_2)._M_local_buf[0] = '\0';\n  if (num_tracked_relocs != (uint *)0x0) {\n    *num_tracked_relocs = 0;\n    paVar26 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)(__return_storage_ptr__->_M_dataplus)._M_p;\n  }\n  uVar13 = (symtab->icf_->reloc_info_list_)._M_h._M_bucket_count;\n  p_Var30 = (_Hash_node_base *)((ulong)secn->second ^ (ulong)secn->first);\n  uVar21 = (ulong)p_Var30 % uVar13;\n  p_Var32 = (symtab->icf_->reloc_info_list_)._M_h._M_buckets[uVar21];\n  if (p_Var32 != (__bucket_type)0x0) {\n    p_Var19 = p_Var32->_M_nxt[0x12]._M_nxt;\n    p_Var3 = p_Var32->_M_nxt;\n    while (((p_Var29 = p_Var3, p_Var30 != p_Var19 || (secn->first != (Relobj *)p_Var29[1]._M_nxt))\n           || (secn->second != *(uint *)&p_Var29[2]._M_nxt))) {\n      p_Var3 = p_Var29->_M_nxt;\n      if ((p_Var3 == (_Hash_node_base *)0x0) ||\n         (p_Var19 = p_Var3[0x12]._M_nxt, p_Var32 = p_Var29, uVar21 != (ulong)p_Var19 % uVar13))\n      goto LAB_0019d260;\n    }\n    p_Var30 = p_Var32->_M_nxt;\n    if (p_Var30 != (_Hash_node_base *)0x0) {\n      __return_storage_ptr__->_M_string_length = 0;\n      lVar28 = 0;\n      paVar26->_M_local_buf[0] = '\0';\n      icf_reloc_buffer._M_string_length = 0;\n      icf_reloc_buffer.field_2._M_local_buf[0] = '\0';\n      p_Var19 = p_Var30[6]._M_nxt;\n      p_Var3 = p_Var30[9]._M_nxt;\n      p_Var4 = p_Var30[0xc]._M_nxt;\n      p_Var5 = p_Var30[0xf]._M_nxt;\n      p_Var27 = p_Var30[3]._M_nxt;\n      if (p_Var27 == p_Var30[4]._M_nxt) goto LAB_0019d282;\n      goto LAB_0019ce2c;\n    }\n  }\nLAB_0019d260:\n  __return_storage_ptr__->_M_string_length = 0;\n  paVar26->_M_local_buf[0] = '\0';\n  icf_reloc_buffer._M_string_length = 0;\n  icf_reloc_buffer.field_2._M_local_buf[0] = '\0';\n  goto LAB_0019d282;\nLAB_0019ce2c:\n  do {\n    puVar33 = *(undefined8 **)((long)&p_Var19->_M_nxt + lVar28 * 2);\n    bVar34 = puVar33 == (undefined8 *)0xffffffffffffffff;\n    if (bVar34) {\n      puVar33 = (undefined8 *)0x0;\n    }\n    lVar31 = *(long *)((long)&p_Var3[1]._M_nxt + lVar28 * 4);\n    lVar20 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n    if (first_iteration) {\n      p_Var6 = p_Var27->_M_nxt;\n      if (p_Var6 != (_Hash_node_base *)0x0) {\n        addend_str._8_4_ = *(undefined4 *)&p_Var27[1]._M_nxt;\n        addend_str._16_8_ = lVar20 + lVar31;\n        pTVar7 = parameters->target_;\n        addend_str._0_8_ = p_Var6;\n        if (pTVar7 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n        }\n                    /* try { // try from 0019cb7f to 0019d2d3 has its CatchHandler @ 0019d8f0 */\n        (*pTVar7->_vptr_Target[0x11])(pTVar7,addend_str);\n        if (addend_str._8_4_ == *(int *)&p_Var27[1]._M_nxt) {\n          lVar31 = *(long *)((long)&p_Var3[1]._M_nxt + lVar28 * 4);\n          lVar20 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n        }\n        else {\n          *(undefined4 *)&p_Var27[1]._M_nxt = addend_str._8_4_;\n          lVar31 = 0;\n          *(undefined8 *)((long)&p_Var3[1]._M_nxt + lVar28 * 4) = 0;\n          *(undefined8 *)((long)&p_Var3->_M_nxt + lVar28 * 4) = addend_str._16_8_;\n          lVar20 = addend_str._16_8_;\n        }\n      }\n      snprintf(addend_str,0x32,"%llx %llx %llx",lVar20,lVar31,\n               *(undefined8 *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n      if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) goto LAB_0019cbd9;\n      pcVar22 = (char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length);\n      puVar25 = (uint *)addend_str;\n      if (puVar33 != (undefined8 *)0x0) {\n        pcVar23 = (char *)*puVar33;\n        pcVar15 = (char *)strlen(pcVar23);\n        if (pcVar22 < pcVar15) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_length_error("basic_string::append");\n        }\n        std::string::_M_append((string *)__return_storage_ptr__,pcVar23,(ulong)pcVar15);\n        pcVar22 = (char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length);\n      }\n      do {\n        puVar24 = puVar25;\n        uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n        uVar11 = uVar10 & 0x80808080;\n        puVar25 = puVar24 + 1;\n      } while (uVar11 == 0);\n      bVar34 = (uVar10 & 0x8080) == 0;\n      if (bVar34) {\n        uVar11 = uVar11 >> 0x10;\n      }\n      if (bVar34) {\n        puVar25 = (uint *)((long)puVar24 + 6);\n      }\n      pcVar23 = (char *)((long)puVar25 +\n                        ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str));\n      if (pcVar22 < pcVar23) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_length_error("basic_string::append");\n      }\n      std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar23);\n      if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_length_error("basic_string::append");\n      }\nLAB_0019d1b1:\n      std::string::_M_append((string *)__return_storage_ptr__,"@",1);\n    }\n    else {\n      snprintf(addend_str,0x32,"%llx %llx %llx",lVar20,lVar31,\n               *(undefined8 *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n      if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\nLAB_0019cbd9:\n        reloc_secn.first = (Relobj *)p_Var27->_M_nxt;\n        reloc_secn.second = *(uint *)&p_Var27[1]._M_nxt;\n        if ((secn->first == reloc_secn.first) && (secn->second == reloc_secn.second)) {\n          if (first_iteration) {\n            if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            std::string::_M_append((string *)__return_storage_ptr__,"R",1);\n            puVar25 = (uint *)addend_str;\n            do {\n              puVar24 = puVar25;\n              uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n              uVar11 = uVar10 & 0x80808080;\n              puVar25 = puVar24 + 1;\n            } while (uVar11 == 0);\n            bVar34 = (uVar10 & 0x8080) == 0;\n            if (bVar34) {\n              uVar11 = uVar11 >> 0x10;\n            }\n            if (bVar34) {\n              puVar25 = (uint *)((long)puVar24 + 6);\n            }\n            pcVar22 = (char *)((long)puVar25 +\n                              ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str));\n            if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n            if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          iVar12 = std::\n                   _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&symtab->icf_->section_id_,&reloc_secn);\n          if (puVar33 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (iVar12.\n                super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                ._M_cur != (__node_type *)0x0) {\n              if (num_tracked_relocs != (uint *)0x0) {\n                *num_tracked_relocs = *num_tracked_relocs + 1;\n              }\n              snprintf(kept_section_str,10,"%u",\n                       (ulong)(kept_section_id->\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>).\n                              _M_impl._M_start\n                              [*(uint *)((long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                                               ._M_cur + 0x18)]);\n              puVar25 = (uint *)kept_section_str;\n              if (first_iteration) {\n                if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 5) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,"ICF_R",5);\n                puVar25 = (uint *)addend_str;\n                do {\n                  puVar24 = puVar25;\n                  uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                  uVar11 = uVar10 & 0x80808080;\n                  puVar25 = puVar24 + 1;\n                } while (uVar11 == 0);\n                bVar34 = (uVar10 & 0x8080) == 0;\n                if (bVar34) {\n                  uVar11 = uVar11 >> 0x10;\n                }\n                if (bVar34) {\n                  puVar25 = (uint *)((long)puVar24 + 6);\n                }\n                pcVar22 = (char *)((long)puVar25 +\n                                  ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                  (long)addend_str));\n                if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) <\n                    pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n                puVar25 = (uint *)kept_section_str;\n              }\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,addend_str,(ulong)pcVar22);\n              if (icf_reloc_buffer._M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,"@",1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar33[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar33 + 3) != 0 || ((*(byte *)((long)puVar33 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar33 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar33 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            pGVar8 = parameters->options_;\n            if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((pGVar8->shared_).value == false) goto LAB_0019cc40;\n            bVar9 = Version_script_info::get_symbol_version\n                              (&(pGVar8->dynamic_list_).version_script_info_,(char *)*puVar33,\n                               (string *)0x0,&is_global);\n            if ((!bVar9) || (is_global != false)) {\n              pGVar8 = parameters->options_;\n              if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if (((pGVar8->Bsymbolic_).value != false) ||\n                 (((*(byte *)(puVar33 + 7) & 0xf) != 1 &&\n                  ((pGVar8->Bsymbolic_functions_).value != false)))) goto LAB_0019cc40;\n            }\n          }\n          if (first_iteration) {\n            uVar13 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x11]._M_nxt)\n                               (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n            if ((uVar13 & 0x10) != 0) {\n              if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              if (parameters->target_->pti_->can_icf_inline_merge_sections != false) {\n                uVar21 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x12]._M_nxt)\n                                   (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n                lVar31 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n                if (bVar34) {\n                  if (8 < *(uint *)((long)&p_Var5->_M_nxt + lVar28)) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  psVar16 = (string *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4))\n                            )(local_f8 + *(long *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n                  return psVar16;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                puVar18 = Object::section_contents\n                                    ((Object *)p_Var27->_M_nxt,*(uint *)&p_Var27[1]._M_nxt,\n                                     (section_size_type *)kept_section_str,false);\n                __s = (int *)(puVar18 + lVar31);\n                if ((long)kept_section_str._0_8_ <= lVar31) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar13 & 0x20) == 0) {\n                  if ((ulong)kept_section_str._0_8_ < lVar31 + uVar21) {\n                    uVar21 = kept_section_str._0_8_ - lVar31;\n                  }\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\nLAB_0019d597:\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,uVar21);\n                }\n                else {\n                  if (uVar21 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar21 = 0;\n                    }\n                    else {\n                      uVar13 = 0;\n                      do {\n                        uVar11 = (int)uVar13 + 1;\n                        uVar13 = (ulong)uVar11;\n                      } while (*(short *)((long)__s + uVar13 * 2) != 0);\n                      uVar21 = (ulong)(uVar11 * 2);\n                      if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                        std::__throw_length_error("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar13 = 0;\n                    do {\n                      uVar11 = (int)uVar13 + 1;\n                      uVar13 = (ulong)uVar11;\n                    } while (__s[uVar13] != 0);\n                    uVar21 = (ulong)(uVar11 * 4);\n                    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                      std::__throw_length_error("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar14 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,sVar14);\n                }\n                if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar33 == (undefined8 *)0x0) {\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,(char *)p_Var27->_M_nxt[1]._M_nxt,\n                         (ulong)p_Var27->_M_nxt[2]._M_nxt);\n              snprintf(kept_section_str,10,"%u",(ulong)*(uint *)&p_Var27[1]._M_nxt);\n              puVar25 = (uint *)kept_section_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            else {\n              pcVar22 = (char *)*puVar33;\n              sVar14 = strlen(pcVar22);\n              if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,pcVar22,sVar14);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }\nLAB_0019ce15:\n    lVar28 = lVar28 + 4;\n    p_Var27 = p_Var27 + 2;\n  } while (p_Var30[4]._M_nxt != p_Var27);\nLAB_0019d282:\n  if (first_iteration) {\n    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 0xb) {\n                    /* WARNING: Subroutine does not return */\n      std::__throw_length_error("basic_string::append");\n    }\n    std::string::_M_append((string *)__return_storage_ptr__,"Contents = ",0xb);\n    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < plen) {\n                    /* WARNING: Subroutine does not return */\n      std::__throw_length_error("basic_string::append");\n    }\n    std::string::_M_append((string *)__return_storage_ptr__,(char *)local_f8,plen);\n    std::string::_M_assign\n              ((string *)\n               ((section_contents->\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                )._M_impl._M_start + section_num),(string *)__return_storage_ptr__);\n  }\n  else {\n    if (__return_storage_ptr__->_M_string_length != 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/icf.cc",0x242,"get_section_contents");\n    }\n    pbVar17 = (section_contents->\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              )._M_impl._M_start + section_num;\n    std::string::_M_append\n              ((string *)__return_storage_ptr__,(pbVar17->_M_dataplus)._M_p,\n               pbVar17->_M_string_length);\n  }\n  std::string::_M_append\n            ((string *)__return_storage_ptr__,icf_reloc_buffer._M_dataplus._M_p,\n             icf_reloc_buffer._M_string_length);\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)icf_reloc_buffer._M_dataplus._M_p != &icf_reloc_buffer.field_2) {\n    operator_delete(icf_reloc_buffer._M_dataplus._M_p);\n  }\n  pIVar2 = (pRVar1->super_Object).input_file_;\n  if (pIVar2 != (Input_file *)0x0) {\n    File_read::unlock(&pIVar2->file_,(Task *)0xffffffffffffffff);\n  }\n  return __return_storage_ptr__;\n}" { (declaration "int *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "Relobj *pRVar1;" type_identifier (pointer_declarator "*pRVar1" * identifier) ;) (declaration "Input_file *pIVar2;" type_identifier (pointer_declarator "*pIVar2" * identifier) ;) (declaration "_Hash_node_base *p_Var3;" type_identifier (pointer_declarator "*p_Var3" * identifier) ;) (declaration "_Hash_node_base *p_Var4;" type_identifier (pointer_declarator "*p_Var4" * identifier) ;) (declaration "_Hash_node_base *p_Var5;" type_identifier (pointer_declarator "*p_Var5" * identifier) ;) (declaration "_Hash_node_base *p_Var6;" type_identifier (pointer_declarator "*p_Var6" * identifier) ;) (declaration "Target *pTVar7;" type_identifier (pointer_declarator "*pTVar7" * identifier) ;) (declaration "General_options *pGVar8;" type_identifier (pointer_declarator "*pGVar8" * identifier) ;) (declaration "bool bVar9;" primitive_type identifier ;) (declaration "Valtype return_value;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "iterator iVar12;" type_identifier identifier ;) (declaration "ulong uVar13;" type_identifier identifier ;) (declaration "size_t sVar14;" primitive_type identifier ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "string *psVar16;" type_identifier (pointer_declarator "*psVar16" * identifier) ;) (declaration "pointer pbVar17;" type_identifier identifier ;) (declaration "uchar *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "_Hash_node_base *p_Var19;" type_identifier (pointer_declarator "*p_Var19" * identifier) ;) (declaration "long lVar20;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar21;" type_identifier identifier ;) (declaration "char *pcVar22;" primitive_type (pointer_declarator "*pcVar22" * identifier) ;) (declaration "char *pcVar23;" primitive_type (pointer_declarator "*pcVar23" * identifier) ;) (declaration "uint *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "uint *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (expression_statement "allocator<char>_>_9\n  *paVar26;" (binary_expression "allocator<char>_>_9\n  *paVar26" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n  *paVar26" identifier * identifier)) ;) (declaration "_Hash_node_base *p_Var27;" type_identifier (pointer_declarator "*p_Var27" * identifier) ;) (declaration "long lVar28;" (sized_type_specifier "long" long) identifier ;) (declaration "__bucket_type p_Var29;" type_identifier identifier ;) (declaration "string *buffer;" type_identifier (pointer_declarator "*buffer" * identifier) ;) (declaration "_Hash_node_base *p_Var30;" type_identifier (pointer_declarator "*p_Var30" * identifier) ;) (declaration "long lVar31;" (sized_type_specifier "long" long) identifier ;) (declaration "__bucket_type p_Var32;" type_identifier identifier ;) (declaration "undefined8 *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "bool bVar34;" primitive_type identifier ;) (declaration "uchar *local_f8;" type_identifier (pointer_declarator "*local_f8" * identifier) ;) (declaration "bool is_global;" primitive_type identifier ;) (declaration "section_size_type plen;" type_identifier identifier ;) (declaration "char kept_section_str [10];" primitive_type (array_declarator "kept_section_str [10]" identifier [ number_literal ]) ;) (declaration "Section_id reloc_secn;" type_identifier identifier ;) (declaration "string icf_reloc_buffer;" type_identifier identifier ;) (declaration "char addend_str [50];" primitive_type (array_declarator "addend_str [50]" identifier [ number_literal ]) ;) (expression_statement "pRVar1 = secn->first;" (assignment_expression "pRVar1 = secn->first" identifier = (field_expression "secn->first" identifier -> field_identifier)) ;) (expression_statement "pIVar2 = (pRVar1->super_Object).input_file_;" (assignment_expression "pIVar2 = (pRVar1->super_Object).input_file_" identifier = (field_expression "(pRVar1->super_Object).input_file_" (parenthesized_expression "(pRVar1->super_Object)" ( (field_expression "pRVar1->super_Object" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (pIVar2 != (Input_file *)0x0) {\n    File_read::lock(&pIVar2->file_,(Task *)0xffffffffffffffff);\n  }" if (parenthesized_expression "(pIVar2 != (Input_file *)0x0)" ( (binary_expression "pIVar2 != (Input_file *)0x0" identifier != (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    File_read::lock(&pIVar2->file_,(Task *)0xffffffffffffffff);\n  }" { (labeled_statement "File_read::lock(&pIVar2->file_,(Task *)0xffffffffffffffff);" statement_identifier : (ERROR ":" :) (expression_statement "lock(&pIVar2->file_,(Task *)0xffffffffffffffff);" (call_expression "lock(&pIVar2->file_,(Task *)0xffffffffffffffff)" identifier (argument_list "(&pIVar2->file_,(Task *)0xffffffffffffffff)" ( (pointer_expression "&pIVar2->file_" & (field_expression "pIVar2->file_" identifier -> field_identifier)) , (cast_expression "(Task *)0xffffffffffffffff" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;)) })) (expression_statement "local_f8 = (uchar *)0x0;" (assignment_expression "local_f8 = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (first_iteration) {\n                    /* try { // try from 0019d33d to 0019d341 has its CatchHandler @ 0019d8e8 */\n    local_f8 = Object::section_contents(&secn->first->super_Object,secn->second,&plen,false);\n  }" if (parenthesized_expression "(first_iteration)" ( identifier )) (compound_statement "{\n                    /* try { // try from 0019d33d to 0019d341 has its CatchHandler @ 0019d8e8 */\n    local_f8 = Object::section_contents(&secn->first->super_Object,secn->second,&plen,false);\n  }" { comment (ERROR "local_f8 = Object::" (assignment_expression "local_f8 = Object" identifier = identifier) : :) (expression_statement "section_contents(&secn->first->super_Object,secn->second,&plen,false);" (call_expression "section_contents(&secn->first->super_Object,secn->second,&plen,false)" identifier (argument_list "(&secn->first->super_Object,secn->second,&plen,false)" ( (pointer_expression "&secn->first->super_Object" & (field_expression "secn->first->super_Object" (field_expression "secn->first" identifier -> field_identifier) -> field_identifier)) , (field_expression "secn->second" identifier -> field_identifier) , (pointer_expression "&plen" & identifier) , false ))) ;) })) (expression_statement "paVar26 = &__return_storage_ptr__->field_2;" (assignment_expression "paVar26 = &__return_storage_ptr__->field_2" identifier = (pointer_expression "&__return_storage_ptr__->field_2" & (field_expression "__return_storage_ptr__->field_2" identifier -> field_identifier))) ;) (expression_statement "__return_storage_ptr__->_M_string_length = 0;" (assignment_expression "__return_storage_ptr__->_M_string_length = 0" (field_expression "__return_storage_ptr__->_M_string_length" identifier -> field_identifier) = number_literal) ;) (expression_statement "icf_reloc_buffer._M_dataplus._M_p = (pointer)&icf_reloc_buffer.field_2;" (assignment_expression "icf_reloc_buffer._M_dataplus._M_p = (pointer)&icf_reloc_buffer.field_2" (field_expression "icf_reloc_buffer._M_dataplus._M_p" (field_expression "icf_reloc_buffer._M_dataplus" identifier . field_identifier) . field_identifier) = (binary_expression "(pointer)&icf_reloc_buffer.field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "icf_reloc_buffer.field_2" identifier . field_identifier))) ;) (expression_statement "(__return_storage_ptr__->_M_dataplus)._M_p = (pointer)paVar26;" (assignment_expression "(__return_storage_ptr__->_M_dataplus)._M_p = (pointer)paVar26" (field_expression "(__return_storage_ptr__->_M_dataplus)._M_p" (parenthesized_expression "(__return_storage_ptr__->_M_dataplus)" ( (field_expression "__return_storage_ptr__->_M_dataplus" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(pointer)paVar26" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "(__return_storage_ptr__->field_2)._M_local_buf[0] = '\0';" (assignment_expression "(__return_storage_ptr__->field_2)._M_local_buf[0] = '\0'" (subscript_expression "(__return_storage_ptr__->field_2)._M_local_buf[0]" (field_expression "(__return_storage_ptr__->field_2)._M_local_buf" (parenthesized_expression "(__return_storage_ptr__->field_2)" ( (field_expression "__return_storage_ptr__->field_2" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (num_tracked_relocs != (uint *)0x0) {\n    *num_tracked_relocs = 0;\n    paVar26 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)(__return_storage_ptr__->_M_dataplus)._M_p;\n  }" if (parenthesized_expression "(num_tracked_relocs != (uint *)0x0)" ( (binary_expression "num_tracked_relocs != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *num_tracked_relocs = 0;\n    paVar26 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)(__return_storage_ptr__->_M_dataplus)._M_p;\n  }" { (expression_statement "*num_tracked_relocs = 0;" (assignment_expression "*num_tracked_relocs = 0" (pointer_expression "*num_tracked_relocs" * identifier) = number_literal) ;) (expression_statement "paVar26 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)(__return_storage_ptr__->_M_dataplus)._M_p;" (assignment_expression "paVar26 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)(__return_storage_ptr__->_M_dataplus)._M_p" identifier = (field_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)(__return_storage_ptr__->_M_dataplus)._M_p" (call_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)(__return_storage_ptr__->_M_dataplus)" (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) (ERROR "*" *) )) (argument_list "(__return_storage_ptr__->_M_dataplus)" ( (field_expression "__return_storage_ptr__->_M_dataplus" identifier -> field_identifier) ))) . field_identifier)) ;) })) (expression_statement "uVar13 = (symtab->icf_->reloc_info_list_)._M_h._M_bucket_count;" (assignment_expression "uVar13 = (symtab->icf_->reloc_info_list_)._M_h._M_bucket_count" identifier = (field_expression "(symtab->icf_->reloc_info_list_)._M_h._M_bucket_count" (field_expression "(symtab->icf_->reloc_info_list_)._M_h" (parenthesized_expression "(symtab->icf_->reloc_info_list_)" ( (field_expression "symtab->icf_->reloc_info_list_" (field_expression "symtab->icf_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "p_Var30 = (_Hash_node_base *)((ulong)secn->second ^ (ulong)secn->first);" (assignment_expression "p_Var30 = (_Hash_node_base *)((ulong)secn->second ^ (ulong)secn->first)" identifier = (cast_expression "(_Hash_node_base *)((ulong)secn->second ^ (ulong)secn->first)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)secn->second ^ (ulong)secn->first)" ( (binary_expression "(ulong)secn->second ^ (ulong)secn->first" (cast_expression "(ulong)secn->second" ( (type_descriptor "ulong" type_identifier) ) (field_expression "secn->second" identifier -> field_identifier)) ^ (cast_expression "(ulong)secn->first" ( (type_descriptor "ulong" type_identifier) ) (field_expression "secn->first" identifier -> field_identifier))) )))) ;) (expression_statement "uVar21 = (ulong)p_Var30 % uVar13;" (assignment_expression "uVar21 = (ulong)p_Var30 % uVar13" identifier = (binary_expression "(ulong)p_Var30 % uVar13" (cast_expression "(ulong)p_Var30" ( (type_descriptor "ulong" type_identifier) ) identifier) % identifier)) ;) (expression_statement "p_Var32 = (symtab->icf_->reloc_info_list_)._M_h._M_buckets[uVar21];" (assignment_expression "p_Var32 = (symtab->icf_->reloc_info_list_)._M_h._M_buckets[uVar21]" identifier = (subscript_expression "(symtab->icf_->reloc_info_list_)._M_h._M_buckets[uVar21]" (field_expression "(symtab->icf_->reloc_info_list_)._M_h._M_buckets" (field_expression "(symtab->icf_->reloc_info_list_)._M_h" (parenthesized_expression "(symtab->icf_->reloc_info_list_)" ( (field_expression "symtab->icf_->reloc_info_list_" (field_expression "symtab->icf_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) . field_identifier) [ identifier ])) ;) (if_statement "if (p_Var32 != (__bucket_type)0x0) {\n    p_Var19 = p_Var32->_M_nxt[0x12]._M_nxt;\n    p_Var3 = p_Var32->_M_nxt;\n    while (((p_Var29 = p_Var3, p_Var30 != p_Var19 || (secn->first != (Relobj *)p_Var29[1]._M_nxt))\n           || (secn->second != *(uint *)&p_Var29[2]._M_nxt))) {\n      p_Var3 = p_Var29->_M_nxt;\n      if ((p_Var3 == (_Hash_node_base *)0x0) ||\n         (p_Var19 = p_Var3[0x12]._M_nxt, p_Var32 = p_Var29, uVar21 != (ulong)p_Var19 % uVar13))\n      goto LAB_0019d260;\n    }\n    p_Var30 = p_Var32->_M_nxt;\n    if (p_Var30 != (_Hash_node_base *)0x0) {\n      __return_storage_ptr__->_M_string_length = 0;\n      lVar28 = 0;\n      paVar26->_M_local_buf[0] = '\0';\n      icf_reloc_buffer._M_string_length = 0;\n      icf_reloc_buffer.field_2._M_local_buf[0] = '\0';\n      p_Var19 = p_Var30[6]._M_nxt;\n      p_Var3 = p_Var30[9]._M_nxt;\n      p_Var4 = p_Var30[0xc]._M_nxt;\n      p_Var5 = p_Var30[0xf]._M_nxt;\n      p_Var27 = p_Var30[3]._M_nxt;\n      if (p_Var27 == p_Var30[4]._M_nxt) goto LAB_0019d282;\n      goto LAB_0019ce2c;\n    }\n  }" if (parenthesized_expression "(p_Var32 != (__bucket_type)0x0)" ( (binary_expression "p_Var32 != (__bucket_type)0x0" identifier != (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) )) (compound_statement "{\n    p_Var19 = p_Var32->_M_nxt[0x12]._M_nxt;\n    p_Var3 = p_Var32->_M_nxt;\n    while (((p_Var29 = p_Var3, p_Var30 != p_Var19 || (secn->first != (Relobj *)p_Var29[1]._M_nxt))\n           || (secn->second != *(uint *)&p_Var29[2]._M_nxt))) {\n      p_Var3 = p_Var29->_M_nxt;\n      if ((p_Var3 == (_Hash_node_base *)0x0) ||\n         (p_Var19 = p_Var3[0x12]._M_nxt, p_Var32 = p_Var29, uVar21 != (ulong)p_Var19 % uVar13))\n      goto LAB_0019d260;\n    }\n    p_Var30 = p_Var32->_M_nxt;\n    if (p_Var30 != (_Hash_node_base *)0x0) {\n      __return_storage_ptr__->_M_string_length = 0;\n      lVar28 = 0;\n      paVar26->_M_local_buf[0] = '\0';\n      icf_reloc_buffer._M_string_length = 0;\n      icf_reloc_buffer.field_2._M_local_buf[0] = '\0';\n      p_Var19 = p_Var30[6]._M_nxt;\n      p_Var3 = p_Var30[9]._M_nxt;\n      p_Var4 = p_Var30[0xc]._M_nxt;\n      p_Var5 = p_Var30[0xf]._M_nxt;\n      p_Var27 = p_Var30[3]._M_nxt;\n      if (p_Var27 == p_Var30[4]._M_nxt) goto LAB_0019d282;\n      goto LAB_0019ce2c;\n    }\n  }" { (expression_statement "p_Var19 = p_Var32->_M_nxt[0x12]._M_nxt;" (assignment_expression "p_Var19 = p_Var32->_M_nxt[0x12]._M_nxt" identifier = (field_expression "p_Var32->_M_nxt[0x12]._M_nxt" (subscript_expression "p_Var32->_M_nxt[0x12]" (field_expression "p_Var32->_M_nxt" identifier -> field_identifier) [ number_literal ]) . field_identifier)) ;) (expression_statement "p_Var3 = p_Var32->_M_nxt;" (assignment_expression "p_Var3 = p_Var32->_M_nxt" identifier = (field_expression "p_Var32->_M_nxt" identifier -> field_identifier)) ;) (while_statement "while (((p_Var29 = p_Var3, p_Var30 != p_Var19 || (secn->first != (Relobj *)p_Var29[1]._M_nxt))\n           || (secn->second != *(uint *)&p_Var29[2]._M_nxt))) {\n      p_Var3 = p_Var29->_M_nxt;\n      if ((p_Var3 == (_Hash_node_base *)0x0) ||\n         (p_Var19 = p_Var3[0x12]._M_nxt, p_Var32 = p_Var29, uVar21 != (ulong)p_Var19 % uVar13))\n      goto LAB_0019d260;\n    }" while (parenthesized_expression "(((p_Var29 = p_Var3, p_Var30 != p_Var19 || (secn->first != (Relobj *)p_Var29[1]._M_nxt))\n           || (secn->second != *(uint *)&p_Var29[2]._M_nxt)))" ( (parenthesized_expression "((p_Var29 = p_Var3, p_Var30 != p_Var19 || (secn->first != (Relobj *)p_Var29[1]._M_nxt))\n           || (secn->second != *(uint *)&p_Var29[2]._M_nxt))" ( (binary_expression "(p_Var29 = p_Var3, p_Var30 != p_Var19 || (secn->first != (Relobj *)p_Var29[1]._M_nxt))\n           || (secn->second != *(uint *)&p_Var29[2]._M_nxt)" (parenthesized_expression "(p_Var29 = p_Var3, p_Var30 != p_Var19 || (secn->first != (Relobj *)p_Var29[1]._M_nxt))" ( (comma_expression "p_Var29 = p_Var3, p_Var30 != p_Var19 || (secn->first != (Relobj *)p_Var29[1]._M_nxt)" (assignment_expression "p_Var29 = p_Var3" identifier = identifier) , (binary_expression "p_Var30 != p_Var19 || (secn->first != (Relobj *)p_Var29[1]._M_nxt)" (binary_expression "p_Var30 != p_Var19" identifier != identifier) || (parenthesized_expression "(secn->first != (Relobj *)p_Var29[1]._M_nxt)" ( (binary_expression "secn->first != (Relobj *)p_Var29[1]._M_nxt" (field_expression "secn->first" identifier -> field_identifier) != (cast_expression "(Relobj *)p_Var29[1]._M_nxt" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "p_Var29[1]._M_nxt" (subscript_expression "p_Var29[1]" identifier [ number_literal ]) . field_identifier))) )))) )) || (parenthesized_expression "(secn->second != *(uint *)&p_Var29[2]._M_nxt)" ( (binary_expression "secn->second != *(uint *)&p_Var29[2]._M_nxt" (field_expression "secn->second" identifier -> field_identifier) != (pointer_expression "*(uint *)&p_Var29[2]._M_nxt" * (cast_expression "(uint *)&p_Var29[2]._M_nxt" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var29[2]._M_nxt" & (field_expression "p_Var29[2]._M_nxt" (subscript_expression "p_Var29[2]" identifier [ number_literal ]) . field_identifier))))) ))) )) )) (compound_statement "{\n      p_Var3 = p_Var29->_M_nxt;\n      if ((p_Var3 == (_Hash_node_base *)0x0) ||\n         (p_Var19 = p_Var3[0x12]._M_nxt, p_Var32 = p_Var29, uVar21 != (ulong)p_Var19 % uVar13))\n      goto LAB_0019d260;\n    }" { (expression_statement "p_Var3 = p_Var29->_M_nxt;" (assignment_expression "p_Var3 = p_Var29->_M_nxt" identifier = (field_expression "p_Var29->_M_nxt" identifier -> field_identifier)) ;) (if_statement "if ((p_Var3 == (_Hash_node_base *)0x0) ||\n         (p_Var19 = p_Var3[0x12]._M_nxt, p_Var32 = p_Var29, uVar21 != (ulong)p_Var19 % uVar13))\n      goto LAB_0019d260;" if (parenthesized_expression "((p_Var3 == (_Hash_node_base *)0x0) ||\n         (p_Var19 = p_Var3[0x12]._M_nxt, p_Var32 = p_Var29, uVar21 != (ulong)p_Var19 % uVar13))" ( (binary_expression "(p_Var3 == (_Hash_node_base *)0x0) ||\n         (p_Var19 = p_Var3[0x12]._M_nxt, p_Var32 = p_Var29, uVar21 != (ulong)p_Var19 % uVar13)" (parenthesized_expression "(p_Var3 == (_Hash_node_base *)0x0)" ( (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)) )) || (parenthesized_expression "(p_Var19 = p_Var3[0x12]._M_nxt, p_Var32 = p_Var29, uVar21 != (ulong)p_Var19 % uVar13)" ( (comma_expression "p_Var19 = p_Var3[0x12]._M_nxt, p_Var32 = p_Var29, uVar21 != (ulong)p_Var19 % uVar13" (assignment_expression "p_Var19 = p_Var3[0x12]._M_nxt" identifier = (field_expression "p_Var3[0x12]._M_nxt" (subscript_expression "p_Var3[0x12]" identifier [ number_literal ]) . field_identifier)) , (comma_expression "p_Var32 = p_Var29, uVar21 != (ulong)p_Var19 % uVar13" (assignment_expression "p_Var32 = p_Var29" identifier = identifier) , (binary_expression "uVar21 != (ulong)p_Var19 % uVar13" identifier != (binary_expression "(ulong)p_Var19 % uVar13" (cast_expression "(ulong)p_Var19" ( (type_descriptor "ulong" type_identifier) ) identifier) % identifier)))) ))) )) (goto_statement "goto LAB_0019d260;" goto statement_identifier ;)) })) (expression_statement "p_Var30 = p_Var32->_M_nxt;" (assignment_expression "p_Var30 = p_Var32->_M_nxt" identifier = (field_expression "p_Var32->_M_nxt" identifier -> field_identifier)) ;) (if_statement "if (p_Var30 != (_Hash_node_base *)0x0) {\n      __return_storage_ptr__->_M_string_length = 0;\n      lVar28 = 0;\n      paVar26->_M_local_buf[0] = '\0';\n      icf_reloc_buffer._M_string_length = 0;\n      icf_reloc_buffer.field_2._M_local_buf[0] = '\0';\n      p_Var19 = p_Var30[6]._M_nxt;\n      p_Var3 = p_Var30[9]._M_nxt;\n      p_Var4 = p_Var30[0xc]._M_nxt;\n      p_Var5 = p_Var30[0xf]._M_nxt;\n      p_Var27 = p_Var30[3]._M_nxt;\n      if (p_Var27 == p_Var30[4]._M_nxt) goto LAB_0019d282;\n      goto LAB_0019ce2c;\n    }" if (parenthesized_expression "(p_Var30 != (_Hash_node_base *)0x0)" ( (binary_expression "p_Var30 != (_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      __return_storage_ptr__->_M_string_length = 0;\n      lVar28 = 0;\n      paVar26->_M_local_buf[0] = '\0';\n      icf_reloc_buffer._M_string_length = 0;\n      icf_reloc_buffer.field_2._M_local_buf[0] = '\0';\n      p_Var19 = p_Var30[6]._M_nxt;\n      p_Var3 = p_Var30[9]._M_nxt;\n      p_Var4 = p_Var30[0xc]._M_nxt;\n      p_Var5 = p_Var30[0xf]._M_nxt;\n      p_Var27 = p_Var30[3]._M_nxt;\n      if (p_Var27 == p_Var30[4]._M_nxt) goto LAB_0019d282;\n      goto LAB_0019ce2c;\n    }" { (expression_statement "__return_storage_ptr__->_M_string_length = 0;" (assignment_expression "__return_storage_ptr__->_M_string_length = 0" (field_expression "__return_storage_ptr__->_M_string_length" identifier -> field_identifier) = number_literal) ;) (expression_statement "lVar28 = 0;" (assignment_expression "lVar28 = 0" identifier = number_literal) ;) (expression_statement "paVar26->_M_local_buf[0] = '\0';" (assignment_expression "paVar26->_M_local_buf[0] = '\0'" (subscript_expression "paVar26->_M_local_buf[0]" (field_expression "paVar26->_M_local_buf" identifier -> field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "icf_reloc_buffer._M_string_length = 0;" (assignment_expression "icf_reloc_buffer._M_string_length = 0" (field_expression "icf_reloc_buffer._M_string_length" identifier . field_identifier) = number_literal) ;) (expression_statement "icf_reloc_buffer.field_2._M_local_buf[0] = '\0';" (assignment_expression "icf_reloc_buffer.field_2._M_local_buf[0] = '\0'" (subscript_expression "icf_reloc_buffer.field_2._M_local_buf[0]" (field_expression "icf_reloc_buffer.field_2._M_local_buf" (field_expression "icf_reloc_buffer.field_2" identifier . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "p_Var19 = p_Var30[6]._M_nxt;" (assignment_expression "p_Var19 = p_Var30[6]._M_nxt" identifier = (field_expression "p_Var30[6]._M_nxt" (subscript_expression "p_Var30[6]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "p_Var3 = p_Var30[9]._M_nxt;" (assignment_expression "p_Var3 = p_Var30[9]._M_nxt" identifier = (field_expression "p_Var30[9]._M_nxt" (subscript_expression "p_Var30[9]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "p_Var4 = p_Var30[0xc]._M_nxt;" (assignment_expression "p_Var4 = p_Var30[0xc]._M_nxt" identifier = (field_expression "p_Var30[0xc]._M_nxt" (subscript_expression "p_Var30[0xc]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "p_Var5 = p_Var30[0xf]._M_nxt;" (assignment_expression "p_Var5 = p_Var30[0xf]._M_nxt" identifier = (field_expression "p_Var30[0xf]._M_nxt" (subscript_expression "p_Var30[0xf]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "p_Var27 = p_Var30[3]._M_nxt;" (assignment_expression "p_Var27 = p_Var30[3]._M_nxt" identifier = (field_expression "p_Var30[3]._M_nxt" (subscript_expression "p_Var30[3]" identifier [ number_literal ]) . field_identifier)) ;) (if_statement "if (p_Var27 == p_Var30[4]._M_nxt) goto LAB_0019d282;" if (parenthesized_expression "(p_Var27 == p_Var30[4]._M_nxt)" ( (binary_expression "p_Var27 == p_Var30[4]._M_nxt" identifier == (field_expression "p_Var30[4]._M_nxt" (subscript_expression "p_Var30[4]" identifier [ number_literal ]) . field_identifier)) )) (goto_statement "goto LAB_0019d282;" goto statement_identifier ;)) (goto_statement "goto LAB_0019ce2c;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0019d260:\n  __return_storage_ptr__->_M_string_length = 0;" statement_identifier : (expression_statement "__return_storage_ptr__->_M_string_length = 0;" (assignment_expression "__return_storage_ptr__->_M_string_length = 0" (field_expression "__return_storage_ptr__->_M_string_length" identifier -> field_identifier) = number_literal) ;)) (expression_statement "paVar26->_M_local_buf[0] = '\0';" (assignment_expression "paVar26->_M_local_buf[0] = '\0'" (subscript_expression "paVar26->_M_local_buf[0]" (field_expression "paVar26->_M_local_buf" identifier -> field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "icf_reloc_buffer._M_string_length = 0;" (assignment_expression "icf_reloc_buffer._M_string_length = 0" (field_expression "icf_reloc_buffer._M_string_length" identifier . field_identifier) = number_literal) ;) (expression_statement "icf_reloc_buffer.field_2._M_local_buf[0] = '\0';" (assignment_expression "icf_reloc_buffer.field_2._M_local_buf[0] = '\0'" (subscript_expression "icf_reloc_buffer.field_2._M_local_buf[0]" (field_expression "icf_reloc_buffer.field_2._M_local_buf" (field_expression "icf_reloc_buffer.field_2" identifier . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (goto_statement "goto LAB_0019d282;" goto statement_identifier ;) (labeled_statement "LAB_0019ce2c:\n  do {\n    puVar33 = *(undefined8 **)((long)&p_Var19->_M_nxt + lVar28 * 2);\n    bVar34 = puVar33 == (undefined8 *)0xffffffffffffffff;\n    if (bVar34) {\n      puVar33 = (undefined8 *)0x0;\n    }\n    lVar31 = *(long *)((long)&p_Var3[1]._M_nxt + lVar28 * 4);\n    lVar20 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n    if (first_iteration) {\n      p_Var6 = p_Var27->_M_nxt;\n      if (p_Var6 != (_Hash_node_base *)0x0) {\n        addend_str._8_4_ = *(undefined4 *)&p_Var27[1]._M_nxt;\n        addend_str._16_8_ = lVar20 + lVar31;\n        pTVar7 = parameters->target_;\n        addend_str._0_8_ = p_Var6;\n        if (pTVar7 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n        }\n                    /* try { // try from 0019cb7f to 0019d2d3 has its CatchHandler @ 0019d8f0 */\n        (*pTVar7->_vptr_Target[0x11])(pTVar7,addend_str);\n        if (addend_str._8_4_ == *(int *)&p_Var27[1]._M_nxt) {\n          lVar31 = *(long *)((long)&p_Var3[1]._M_nxt + lVar28 * 4);\n          lVar20 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n        }\n        else {\n          *(undefined4 *)&p_Var27[1]._M_nxt = addend_str._8_4_;\n          lVar31 = 0;\n          *(undefined8 *)((long)&p_Var3[1]._M_nxt + lVar28 * 4) = 0;\n          *(undefined8 *)((long)&p_Var3->_M_nxt + lVar28 * 4) = addend_str._16_8_;\n          lVar20 = addend_str._16_8_;\n        }\n      }\n      snprintf(addend_str,0x32,"%llx %llx %llx",lVar20,lVar31,\n               *(undefined8 *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n      if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) goto LAB_0019cbd9;\n      pcVar22 = (char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length);\n      puVar25 = (uint *)addend_str;\n      if (puVar33 != (undefined8 *)0x0) {\n        pcVar23 = (char *)*puVar33;\n        pcVar15 = (char *)strlen(pcVar23);\n        if (pcVar22 < pcVar15) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_length_error("basic_string::append");\n        }\n        std::string::_M_append((string *)__return_storage_ptr__,pcVar23,(ulong)pcVar15);\n        pcVar22 = (char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length);\n      }\n      do {\n        puVar24 = puVar25;\n        uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n        uVar11 = uVar10 & 0x80808080;\n        puVar25 = puVar24 + 1;\n      } while (uVar11 == 0);\n      bVar34 = (uVar10 & 0x8080) == 0;\n      if (bVar34) {\n        uVar11 = uVar11 >> 0x10;\n      }\n      if (bVar34) {\n        puVar25 = (uint *)((long)puVar24 + 6);\n      }\n      pcVar23 = (char *)((long)puVar25 +\n                        ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str));\n      if (pcVar22 < pcVar23) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_length_error("basic_string::append");\n      }\n      std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar23);\n      if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_length_error("basic_string::append");\n      }\nLAB_0019d1b1:\n      std::string::_M_append((string *)__return_storage_ptr__,"@",1);\n    }\n    else {\n      snprintf(addend_str,0x32,"%llx %llx %llx",lVar20,lVar31,\n               *(undefined8 *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n      if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\nLAB_0019cbd9:\n        reloc_secn.first = (Relobj *)p_Var27->_M_nxt;\n        reloc_secn.second = *(uint *)&p_Var27[1]._M_nxt;\n        if ((secn->first == reloc_secn.first) && (secn->second == reloc_secn.second)) {\n          if (first_iteration) {\n            if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            std::string::_M_append((string *)__return_storage_ptr__,"R",1);\n            puVar25 = (uint *)addend_str;\n            do {\n              puVar24 = puVar25;\n              uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n              uVar11 = uVar10 & 0x80808080;\n              puVar25 = puVar24 + 1;\n            } while (uVar11 == 0);\n            bVar34 = (uVar10 & 0x8080) == 0;\n            if (bVar34) {\n              uVar11 = uVar11 >> 0x10;\n            }\n            if (bVar34) {\n              puVar25 = (uint *)((long)puVar24 + 6);\n            }\n            pcVar22 = (char *)((long)puVar25 +\n                              ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str));\n            if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n            if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          iVar12 = std::\n                   _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&symtab->icf_->section_id_,&reloc_secn);\n          if (puVar33 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (iVar12.\n                super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                ._M_cur != (__node_type *)0x0) {\n              if (num_tracked_relocs != (uint *)0x0) {\n                *num_tracked_relocs = *num_tracked_relocs + 1;\n              }\n              snprintf(kept_section_str,10,"%u",\n                       (ulong)(kept_section_id->\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>).\n                              _M_impl._M_start\n                              [*(uint *)((long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                                               ._M_cur + 0x18)]);\n              puVar25 = (uint *)kept_section_str;\n              if (first_iteration) {\n                if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 5) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,"ICF_R",5);\n                puVar25 = (uint *)addend_str;\n                do {\n                  puVar24 = puVar25;\n                  uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                  uVar11 = uVar10 & 0x80808080;\n                  puVar25 = puVar24 + 1;\n                } while (uVar11 == 0);\n                bVar34 = (uVar10 & 0x8080) == 0;\n                if (bVar34) {\n                  uVar11 = uVar11 >> 0x10;\n                }\n                if (bVar34) {\n                  puVar25 = (uint *)((long)puVar24 + 6);\n                }\n                pcVar22 = (char *)((long)puVar25 +\n                                  ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                  (long)addend_str));\n                if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) <\n                    pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n                puVar25 = (uint *)kept_section_str;\n              }\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,addend_str,(ulong)pcVar22);\n              if (icf_reloc_buffer._M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,"@",1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar33[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar33 + 3) != 0 || ((*(byte *)((long)puVar33 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar33 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar33 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            pGVar8 = parameters->options_;\n            if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((pGVar8->shared_).value == false) goto LAB_0019cc40;\n            bVar9 = Version_script_info::get_symbol_version\n                              (&(pGVar8->dynamic_list_).version_script_info_,(char *)*puVar33,\n                               (string *)0x0,&is_global);\n            if ((!bVar9) || (is_global != false)) {\n              pGVar8 = parameters->options_;\n              if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if (((pGVar8->Bsymbolic_).value != false) ||\n                 (((*(byte *)(puVar33 + 7) & 0xf) != 1 &&\n                  ((pGVar8->Bsymbolic_functions_).value != false)))) goto LAB_0019cc40;\n            }\n          }\n          if (first_iteration) {\n            uVar13 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x11]._M_nxt)\n                               (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n            if ((uVar13 & 0x10) != 0) {\n              if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              if (parameters->target_->pti_->can_icf_inline_merge_sections != false) {\n                uVar21 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x12]._M_nxt)\n                                   (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n                lVar31 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n                if (bVar34) {\n                  if (8 < *(uint *)((long)&p_Var5->_M_nxt + lVar28)) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  psVar16 = (string *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4))\n                            )(local_f8 + *(long *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n                  return psVar16;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                puVar18 = Object::section_contents\n                                    ((Object *)p_Var27->_M_nxt,*(uint *)&p_Var27[1]._M_nxt,\n                                     (section_size_type *)kept_section_str,false);\n                __s = (int *)(puVar18 + lVar31);\n                if ((long)kept_section_str._0_8_ <= lVar31) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar13 & 0x20) == 0) {\n                  if ((ulong)kept_section_str._0_8_ < lVar31 + uVar21) {\n                    uVar21 = kept_section_str._0_8_ - lVar31;\n                  }\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\nLAB_0019d597:\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,uVar21);\n                }\n                else {\n                  if (uVar21 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar21 = 0;\n                    }\n                    else {\n                      uVar13 = 0;\n                      do {\n                        uVar11 = (int)uVar13 + 1;\n                        uVar13 = (ulong)uVar11;\n                      } while (*(short *)((long)__s + uVar13 * 2) != 0);\n                      uVar21 = (ulong)(uVar11 * 2);\n                      if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                        std::__throw_length_error("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar13 = 0;\n                    do {\n                      uVar11 = (int)uVar13 + 1;\n                      uVar13 = (ulong)uVar11;\n                    } while (__s[uVar13] != 0);\n                    uVar21 = (ulong)(uVar11 * 4);\n                    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                      std::__throw_length_error("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar14 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,sVar14);\n                }\n                if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar33 == (undefined8 *)0x0) {\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,(char *)p_Var27->_M_nxt[1]._M_nxt,\n                         (ulong)p_Var27->_M_nxt[2]._M_nxt);\n              snprintf(kept_section_str,10,"%u",(ulong)*(uint *)&p_Var27[1]._M_nxt);\n              puVar25 = (uint *)kept_section_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            else {\n              pcVar22 = (char *)*puVar33;\n              sVar14 = strlen(pcVar22);\n              if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,pcVar22,sVar14);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }\nLAB_0019ce15:\n    lVar28 = lVar28 + 4;\n    p_Var27 = p_Var27 + 2;\n  } while (p_Var30[4]._M_nxt != p_Var27);" statement_identifier : (do_statement "do {\n    puVar33 = *(undefined8 **)((long)&p_Var19->_M_nxt + lVar28 * 2);\n    bVar34 = puVar33 == (undefined8 *)0xffffffffffffffff;\n    if (bVar34) {\n      puVar33 = (undefined8 *)0x0;\n    }\n    lVar31 = *(long *)((long)&p_Var3[1]._M_nxt + lVar28 * 4);\n    lVar20 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n    if (first_iteration) {\n      p_Var6 = p_Var27->_M_nxt;\n      if (p_Var6 != (_Hash_node_base *)0x0) {\n        addend_str._8_4_ = *(undefined4 *)&p_Var27[1]._M_nxt;\n        addend_str._16_8_ = lVar20 + lVar31;\n        pTVar7 = parameters->target_;\n        addend_str._0_8_ = p_Var6;\n        if (pTVar7 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n        }\n                    /* try { // try from 0019cb7f to 0019d2d3 has its CatchHandler @ 0019d8f0 */\n        (*pTVar7->_vptr_Target[0x11])(pTVar7,addend_str);\n        if (addend_str._8_4_ == *(int *)&p_Var27[1]._M_nxt) {\n          lVar31 = *(long *)((long)&p_Var3[1]._M_nxt + lVar28 * 4);\n          lVar20 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n        }\n        else {\n          *(undefined4 *)&p_Var27[1]._M_nxt = addend_str._8_4_;\n          lVar31 = 0;\n          *(undefined8 *)((long)&p_Var3[1]._M_nxt + lVar28 * 4) = 0;\n          *(undefined8 *)((long)&p_Var3->_M_nxt + lVar28 * 4) = addend_str._16_8_;\n          lVar20 = addend_str._16_8_;\n        }\n      }\n      snprintf(addend_str,0x32,"%llx %llx %llx",lVar20,lVar31,\n               *(undefined8 *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n      if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) goto LAB_0019cbd9;\n      pcVar22 = (char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length);\n      puVar25 = (uint *)addend_str;\n      if (puVar33 != (undefined8 *)0x0) {\n        pcVar23 = (char *)*puVar33;\n        pcVar15 = (char *)strlen(pcVar23);\n        if (pcVar22 < pcVar15) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_length_error("basic_string::append");\n        }\n        std::string::_M_append((string *)__return_storage_ptr__,pcVar23,(ulong)pcVar15);\n        pcVar22 = (char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length);\n      }\n      do {\n        puVar24 = puVar25;\n        uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n        uVar11 = uVar10 & 0x80808080;\n        puVar25 = puVar24 + 1;\n      } while (uVar11 == 0);\n      bVar34 = (uVar10 & 0x8080) == 0;\n      if (bVar34) {\n        uVar11 = uVar11 >> 0x10;\n      }\n      if (bVar34) {\n        puVar25 = (uint *)((long)puVar24 + 6);\n      }\n      pcVar23 = (char *)((long)puVar25 +\n                        ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str));\n      if (pcVar22 < pcVar23) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_length_error("basic_string::append");\n      }\n      std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar23);\n      if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_length_error("basic_string::append");\n      }\nLAB_0019d1b1:\n      std::string::_M_append((string *)__return_storage_ptr__,"@",1);\n    }\n    else {\n      snprintf(addend_str,0x32,"%llx %llx %llx",lVar20,lVar31,\n               *(undefined8 *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n      if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\nLAB_0019cbd9:\n        reloc_secn.first = (Relobj *)p_Var27->_M_nxt;\n        reloc_secn.second = *(uint *)&p_Var27[1]._M_nxt;\n        if ((secn->first == reloc_secn.first) && (secn->second == reloc_secn.second)) {\n          if (first_iteration) {\n            if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            std::string::_M_append((string *)__return_storage_ptr__,"R",1);\n            puVar25 = (uint *)addend_str;\n            do {\n              puVar24 = puVar25;\n              uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n              uVar11 = uVar10 & 0x80808080;\n              puVar25 = puVar24 + 1;\n            } while (uVar11 == 0);\n            bVar34 = (uVar10 & 0x8080) == 0;\n            if (bVar34) {\n              uVar11 = uVar11 >> 0x10;\n            }\n            if (bVar34) {\n              puVar25 = (uint *)((long)puVar24 + 6);\n            }\n            pcVar22 = (char *)((long)puVar25 +\n                              ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str));\n            if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n            if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          iVar12 = std::\n                   _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&symtab->icf_->section_id_,&reloc_secn);\n          if (puVar33 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (iVar12.\n                super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                ._M_cur != (__node_type *)0x0) {\n              if (num_tracked_relocs != (uint *)0x0) {\n                *num_tracked_relocs = *num_tracked_relocs + 1;\n              }\n              snprintf(kept_section_str,10,"%u",\n                       (ulong)(kept_section_id->\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>).\n                              _M_impl._M_start\n                              [*(uint *)((long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                                               ._M_cur + 0x18)]);\n              puVar25 = (uint *)kept_section_str;\n              if (first_iteration) {\n                if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 5) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,"ICF_R",5);\n                puVar25 = (uint *)addend_str;\n                do {\n                  puVar24 = puVar25;\n                  uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                  uVar11 = uVar10 & 0x80808080;\n                  puVar25 = puVar24 + 1;\n                } while (uVar11 == 0);\n                bVar34 = (uVar10 & 0x8080) == 0;\n                if (bVar34) {\n                  uVar11 = uVar11 >> 0x10;\n                }\n                if (bVar34) {\n                  puVar25 = (uint *)((long)puVar24 + 6);\n                }\n                pcVar22 = (char *)((long)puVar25 +\n                                  ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                  (long)addend_str));\n                if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) <\n                    pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n                puVar25 = (uint *)kept_section_str;\n              }\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,addend_str,(ulong)pcVar22);\n              if (icf_reloc_buffer._M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,"@",1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar33[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar33 + 3) != 0 || ((*(byte *)((long)puVar33 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar33 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar33 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            pGVar8 = parameters->options_;\n            if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((pGVar8->shared_).value == false) goto LAB_0019cc40;\n            bVar9 = Version_script_info::get_symbol_version\n                              (&(pGVar8->dynamic_list_).version_script_info_,(char *)*puVar33,\n                               (string *)0x0,&is_global);\n            if ((!bVar9) || (is_global != false)) {\n              pGVar8 = parameters->options_;\n              if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if (((pGVar8->Bsymbolic_).value != false) ||\n                 (((*(byte *)(puVar33 + 7) & 0xf) != 1 &&\n                  ((pGVar8->Bsymbolic_functions_).value != false)))) goto LAB_0019cc40;\n            }\n          }\n          if (first_iteration) {\n            uVar13 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x11]._M_nxt)\n                               (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n            if ((uVar13 & 0x10) != 0) {\n              if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              if (parameters->target_->pti_->can_icf_inline_merge_sections != false) {\n                uVar21 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x12]._M_nxt)\n                                   (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n                lVar31 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n                if (bVar34) {\n                  if (8 < *(uint *)((long)&p_Var5->_M_nxt + lVar28)) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  psVar16 = (string *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4))\n                            )(local_f8 + *(long *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n                  return psVar16;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                puVar18 = Object::section_contents\n                                    ((Object *)p_Var27->_M_nxt,*(uint *)&p_Var27[1]._M_nxt,\n                                     (section_size_type *)kept_section_str,false);\n                __s = (int *)(puVar18 + lVar31);\n                if ((long)kept_section_str._0_8_ <= lVar31) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar13 & 0x20) == 0) {\n                  if ((ulong)kept_section_str._0_8_ < lVar31 + uVar21) {\n                    uVar21 = kept_section_str._0_8_ - lVar31;\n                  }\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\nLAB_0019d597:\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,uVar21);\n                }\n                else {\n                  if (uVar21 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar21 = 0;\n                    }\n                    else {\n                      uVar13 = 0;\n                      do {\n                        uVar11 = (int)uVar13 + 1;\n                        uVar13 = (ulong)uVar11;\n                      } while (*(short *)((long)__s + uVar13 * 2) != 0);\n                      uVar21 = (ulong)(uVar11 * 2);\n                      if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                        std::__throw_length_error("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar13 = 0;\n                    do {\n                      uVar11 = (int)uVar13 + 1;\n                      uVar13 = (ulong)uVar11;\n                    } while (__s[uVar13] != 0);\n                    uVar21 = (ulong)(uVar11 * 4);\n                    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                      std::__throw_length_error("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar14 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,sVar14);\n                }\n                if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar33 == (undefined8 *)0x0) {\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,(char *)p_Var27->_M_nxt[1]._M_nxt,\n                         (ulong)p_Var27->_M_nxt[2]._M_nxt);\n              snprintf(kept_section_str,10,"%u",(ulong)*(uint *)&p_Var27[1]._M_nxt);\n              puVar25 = (uint *)kept_section_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            else {\n              pcVar22 = (char *)*puVar33;\n              sVar14 = strlen(pcVar22);\n              if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,pcVar22,sVar14);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }\nLAB_0019ce15:\n    lVar28 = lVar28 + 4;\n    p_Var27 = p_Var27 + 2;\n  } while (p_Var30[4]._M_nxt != p_Var27);" do (compound_statement "{\n    puVar33 = *(undefined8 **)((long)&p_Var19->_M_nxt + lVar28 * 2);\n    bVar34 = puVar33 == (undefined8 *)0xffffffffffffffff;\n    if (bVar34) {\n      puVar33 = (undefined8 *)0x0;\n    }\n    lVar31 = *(long *)((long)&p_Var3[1]._M_nxt + lVar28 * 4);\n    lVar20 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n    if (first_iteration) {\n      p_Var6 = p_Var27->_M_nxt;\n      if (p_Var6 != (_Hash_node_base *)0x0) {\n        addend_str._8_4_ = *(undefined4 *)&p_Var27[1]._M_nxt;\n        addend_str._16_8_ = lVar20 + lVar31;\n        pTVar7 = parameters->target_;\n        addend_str._0_8_ = p_Var6;\n        if (pTVar7 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n        }\n                    /* try { // try from 0019cb7f to 0019d2d3 has its CatchHandler @ 0019d8f0 */\n        (*pTVar7->_vptr_Target[0x11])(pTVar7,addend_str);\n        if (addend_str._8_4_ == *(int *)&p_Var27[1]._M_nxt) {\n          lVar31 = *(long *)((long)&p_Var3[1]._M_nxt + lVar28 * 4);\n          lVar20 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n        }\n        else {\n          *(undefined4 *)&p_Var27[1]._M_nxt = addend_str._8_4_;\n          lVar31 = 0;\n          *(undefined8 *)((long)&p_Var3[1]._M_nxt + lVar28 * 4) = 0;\n          *(undefined8 *)((long)&p_Var3->_M_nxt + lVar28 * 4) = addend_str._16_8_;\n          lVar20 = addend_str._16_8_;\n        }\n      }\n      snprintf(addend_str,0x32,"%llx %llx %llx",lVar20,lVar31,\n               *(undefined8 *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n      if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) goto LAB_0019cbd9;\n      pcVar22 = (char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length);\n      puVar25 = (uint *)addend_str;\n      if (puVar33 != (undefined8 *)0x0) {\n        pcVar23 = (char *)*puVar33;\n        pcVar15 = (char *)strlen(pcVar23);\n        if (pcVar22 < pcVar15) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_length_error("basic_string::append");\n        }\n        std::string::_M_append((string *)__return_storage_ptr__,pcVar23,(ulong)pcVar15);\n        pcVar22 = (char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length);\n      }\n      do {\n        puVar24 = puVar25;\n        uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n        uVar11 = uVar10 & 0x80808080;\n        puVar25 = puVar24 + 1;\n      } while (uVar11 == 0);\n      bVar34 = (uVar10 & 0x8080) == 0;\n      if (bVar34) {\n        uVar11 = uVar11 >> 0x10;\n      }\n      if (bVar34) {\n        puVar25 = (uint *)((long)puVar24 + 6);\n      }\n      pcVar23 = (char *)((long)puVar25 +\n                        ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str));\n      if (pcVar22 < pcVar23) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_length_error("basic_string::append");\n      }\n      std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar23);\n      if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_length_error("basic_string::append");\n      }\nLAB_0019d1b1:\n      std::string::_M_append((string *)__return_storage_ptr__,"@",1);\n    }\n    else {\n      snprintf(addend_str,0x32,"%llx %llx %llx",lVar20,lVar31,\n               *(undefined8 *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n      if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\nLAB_0019cbd9:\n        reloc_secn.first = (Relobj *)p_Var27->_M_nxt;\n        reloc_secn.second = *(uint *)&p_Var27[1]._M_nxt;\n        if ((secn->first == reloc_secn.first) && (secn->second == reloc_secn.second)) {\n          if (first_iteration) {\n            if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            std::string::_M_append((string *)__return_storage_ptr__,"R",1);\n            puVar25 = (uint *)addend_str;\n            do {\n              puVar24 = puVar25;\n              uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n              uVar11 = uVar10 & 0x80808080;\n              puVar25 = puVar24 + 1;\n            } while (uVar11 == 0);\n            bVar34 = (uVar10 & 0x8080) == 0;\n            if (bVar34) {\n              uVar11 = uVar11 >> 0x10;\n            }\n            if (bVar34) {\n              puVar25 = (uint *)((long)puVar24 + 6);\n            }\n            pcVar22 = (char *)((long)puVar25 +\n                              ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str));\n            if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n            if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          iVar12 = std::\n                   _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&symtab->icf_->section_id_,&reloc_secn);\n          if (puVar33 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (iVar12.\n                super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                ._M_cur != (__node_type *)0x0) {\n              if (num_tracked_relocs != (uint *)0x0) {\n                *num_tracked_relocs = *num_tracked_relocs + 1;\n              }\n              snprintf(kept_section_str,10,"%u",\n                       (ulong)(kept_section_id->\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>).\n                              _M_impl._M_start\n                              [*(uint *)((long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                                               ._M_cur + 0x18)]);\n              puVar25 = (uint *)kept_section_str;\n              if (first_iteration) {\n                if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 5) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,"ICF_R",5);\n                puVar25 = (uint *)addend_str;\n                do {\n                  puVar24 = puVar25;\n                  uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                  uVar11 = uVar10 & 0x80808080;\n                  puVar25 = puVar24 + 1;\n                } while (uVar11 == 0);\n                bVar34 = (uVar10 & 0x8080) == 0;\n                if (bVar34) {\n                  uVar11 = uVar11 >> 0x10;\n                }\n                if (bVar34) {\n                  puVar25 = (uint *)((long)puVar24 + 6);\n                }\n                pcVar22 = (char *)((long)puVar25 +\n                                  ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                  (long)addend_str));\n                if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) <\n                    pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n                puVar25 = (uint *)kept_section_str;\n              }\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,addend_str,(ulong)pcVar22);\n              if (icf_reloc_buffer._M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,"@",1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar33[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar33 + 3) != 0 || ((*(byte *)((long)puVar33 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar33 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar33 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            pGVar8 = parameters->options_;\n            if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((pGVar8->shared_).value == false) goto LAB_0019cc40;\n            bVar9 = Version_script_info::get_symbol_version\n                              (&(pGVar8->dynamic_list_).version_script_info_,(char *)*puVar33,\n                               (string *)0x0,&is_global);\n            if ((!bVar9) || (is_global != false)) {\n              pGVar8 = parameters->options_;\n              if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if (((pGVar8->Bsymbolic_).value != false) ||\n                 (((*(byte *)(puVar33 + 7) & 0xf) != 1 &&\n                  ((pGVar8->Bsymbolic_functions_).value != false)))) goto LAB_0019cc40;\n            }\n          }\n          if (first_iteration) {\n            uVar13 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x11]._M_nxt)\n                               (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n            if ((uVar13 & 0x10) != 0) {\n              if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              if (parameters->target_->pti_->can_icf_inline_merge_sections != false) {\n                uVar21 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x12]._M_nxt)\n                                   (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n                lVar31 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n                if (bVar34) {\n                  if (8 < *(uint *)((long)&p_Var5->_M_nxt + lVar28)) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  psVar16 = (string *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4))\n                            )(local_f8 + *(long *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n                  return psVar16;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                puVar18 = Object::section_contents\n                                    ((Object *)p_Var27->_M_nxt,*(uint *)&p_Var27[1]._M_nxt,\n                                     (section_size_type *)kept_section_str,false);\n                __s = (int *)(puVar18 + lVar31);\n                if ((long)kept_section_str._0_8_ <= lVar31) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar13 & 0x20) == 0) {\n                  if ((ulong)kept_section_str._0_8_ < lVar31 + uVar21) {\n                    uVar21 = kept_section_str._0_8_ - lVar31;\n                  }\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\nLAB_0019d597:\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,uVar21);\n                }\n                else {\n                  if (uVar21 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar21 = 0;\n                    }\n                    else {\n                      uVar13 = 0;\n                      do {\n                        uVar11 = (int)uVar13 + 1;\n                        uVar13 = (ulong)uVar11;\n                      } while (*(short *)((long)__s + uVar13 * 2) != 0);\n                      uVar21 = (ulong)(uVar11 * 2);\n                      if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                        std::__throw_length_error("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar13 = 0;\n                    do {\n                      uVar11 = (int)uVar13 + 1;\n                      uVar13 = (ulong)uVar11;\n                    } while (__s[uVar13] != 0);\n                    uVar21 = (ulong)(uVar11 * 4);\n                    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                      std::__throw_length_error("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar14 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,sVar14);\n                }\n                if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar33 == (undefined8 *)0x0) {\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,(char *)p_Var27->_M_nxt[1]._M_nxt,\n                         (ulong)p_Var27->_M_nxt[2]._M_nxt);\n              snprintf(kept_section_str,10,"%u",(ulong)*(uint *)&p_Var27[1]._M_nxt);\n              puVar25 = (uint *)kept_section_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            else {\n              pcVar22 = (char *)*puVar33;\n              sVar14 = strlen(pcVar22);\n              if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,pcVar22,sVar14);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }\nLAB_0019ce15:\n    lVar28 = lVar28 + 4;\n    p_Var27 = p_Var27 + 2;\n  }" { (expression_statement "puVar33 = *(undefined8 **)((long)&p_Var19->_M_nxt + lVar28 * 2);" (assignment_expression "puVar33 = *(undefined8 **)((long)&p_Var19->_M_nxt + lVar28 * 2)" identifier = (pointer_expression "*(undefined8 **)((long)&p_Var19->_M_nxt + lVar28 * 2)" * (cast_expression "(undefined8 **)((long)&p_Var19->_M_nxt + lVar28 * 2)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((long)&p_Var19->_M_nxt + lVar28 * 2)" ( (binary_expression "(long)&p_Var19->_M_nxt + lVar28 * 2" (cast_expression "(long)&p_Var19->_M_nxt" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&p_Var19->_M_nxt" & (field_expression "p_Var19->_M_nxt" identifier -> field_identifier))) + (binary_expression "lVar28 * 2" identifier * number_literal)) ))))) ;) (expression_statement "bVar34 = puVar33 == (undefined8 *)0xffffffffffffffff;" (assignment_expression "bVar34 = puVar33 == (undefined8 *)0xffffffffffffffff" identifier = (binary_expression "puVar33 == (undefined8 *)0xffffffffffffffff" identifier == (cast_expression "(undefined8 *)0xffffffffffffffff" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (bVar34) {\n      puVar33 = (undefined8 *)0x0;\n    }" if (parenthesized_expression "(bVar34)" ( identifier )) (compound_statement "{\n      puVar33 = (undefined8 *)0x0;\n    }" { (expression_statement "puVar33 = (undefined8 *)0x0;" (assignment_expression "puVar33 = (undefined8 *)0x0" identifier = (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "lVar31 = *(long *)((long)&p_Var3[1]._M_nxt + lVar28 * 4);" (assignment_expression "lVar31 = *(long *)((long)&p_Var3[1]._M_nxt + lVar28 * 4)" identifier = (pointer_expression "*(long *)((long)&p_Var3[1]._M_nxt + lVar28 * 4)" * (cast_expression "(long *)((long)&p_Var3[1]._M_nxt + lVar28 * 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&p_Var3[1]._M_nxt + lVar28 * 4)" ( (binary_expression "(long)&p_Var3[1]._M_nxt + lVar28 * 4" (cast_expression "(long)&p_Var3[1]._M_nxt" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&p_Var3[1]._M_nxt" & (field_expression "p_Var3[1]._M_nxt" (subscript_expression "p_Var3[1]" identifier [ number_literal ]) . field_identifier))) + (binary_expression "lVar28 * 4" identifier * number_literal)) ))))) ;) (expression_statement "lVar20 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);" (assignment_expression "lVar20 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4)" identifier = (pointer_expression "*(long *)((long)&p_Var3->_M_nxt + lVar28 * 4)" * (cast_expression "(long *)((long)&p_Var3->_M_nxt + lVar28 * 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&p_Var3->_M_nxt + lVar28 * 4)" ( (binary_expression "(long)&p_Var3->_M_nxt + lVar28 * 4" (cast_expression "(long)&p_Var3->_M_nxt" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&p_Var3->_M_nxt" & (field_expression "p_Var3->_M_nxt" identifier -> field_identifier))) + (binary_expression "lVar28 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (first_iteration) {\n      p_Var6 = p_Var27->_M_nxt;\n      if (p_Var6 != (_Hash_node_base *)0x0) {\n        addend_str._8_4_ = *(undefined4 *)&p_Var27[1]._M_nxt;\n        addend_str._16_8_ = lVar20 + lVar31;\n        pTVar7 = parameters->target_;\n        addend_str._0_8_ = p_Var6;\n        if (pTVar7 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n        }\n                    /* try { // try from 0019cb7f to 0019d2d3 has its CatchHandler @ 0019d8f0 */\n        (*pTVar7->_vptr_Target[0x11])(pTVar7,addend_str);\n        if (addend_str._8_4_ == *(int *)&p_Var27[1]._M_nxt) {\n          lVar31 = *(long *)((long)&p_Var3[1]._M_nxt + lVar28 * 4);\n          lVar20 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n        }\n        else {\n          *(undefined4 *)&p_Var27[1]._M_nxt = addend_str._8_4_;\n          lVar31 = 0;\n          *(undefined8 *)((long)&p_Var3[1]._M_nxt + lVar28 * 4) = 0;\n          *(undefined8 *)((long)&p_Var3->_M_nxt + lVar28 * 4) = addend_str._16_8_;\n          lVar20 = addend_str._16_8_;\n        }\n      }\n      snprintf(addend_str,0x32,"%llx %llx %llx",lVar20,lVar31,\n               *(undefined8 *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n      if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) goto LAB_0019cbd9;\n      pcVar22 = (char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length);\n      puVar25 = (uint *)addend_str;\n      if (puVar33 != (undefined8 *)0x0) {\n        pcVar23 = (char *)*puVar33;\n        pcVar15 = (char *)strlen(pcVar23);\n        if (pcVar22 < pcVar15) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_length_error("basic_string::append");\n        }\n        std::string::_M_append((string *)__return_storage_ptr__,pcVar23,(ulong)pcVar15);\n        pcVar22 = (char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length);\n      }\n      do {\n        puVar24 = puVar25;\n        uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n        uVar11 = uVar10 & 0x80808080;\n        puVar25 = puVar24 + 1;\n      } while (uVar11 == 0);\n      bVar34 = (uVar10 & 0x8080) == 0;\n      if (bVar34) {\n        uVar11 = uVar11 >> 0x10;\n      }\n      if (bVar34) {\n        puVar25 = (uint *)((long)puVar24 + 6);\n      }\n      pcVar23 = (char *)((long)puVar25 +\n                        ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str));\n      if (pcVar22 < pcVar23) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_length_error("basic_string::append");\n      }\n      std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar23);\n      if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_length_error("basic_string::append");\n      }\nLAB_0019d1b1:\n      std::string::_M_append((string *)__return_storage_ptr__,"@",1);\n    }\n    else {\n      snprintf(addend_str,0x32,"%llx %llx %llx",lVar20,lVar31,\n               *(undefined8 *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n      if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\nLAB_0019cbd9:\n        reloc_secn.first = (Relobj *)p_Var27->_M_nxt;\n        reloc_secn.second = *(uint *)&p_Var27[1]._M_nxt;\n        if ((secn->first == reloc_secn.first) && (secn->second == reloc_secn.second)) {\n          if (first_iteration) {\n            if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            std::string::_M_append((string *)__return_storage_ptr__,"R",1);\n            puVar25 = (uint *)addend_str;\n            do {\n              puVar24 = puVar25;\n              uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n              uVar11 = uVar10 & 0x80808080;\n              puVar25 = puVar24 + 1;\n            } while (uVar11 == 0);\n            bVar34 = (uVar10 & 0x8080) == 0;\n            if (bVar34) {\n              uVar11 = uVar11 >> 0x10;\n            }\n            if (bVar34) {\n              puVar25 = (uint *)((long)puVar24 + 6);\n            }\n            pcVar22 = (char *)((long)puVar25 +\n                              ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str));\n            if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n            if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          iVar12 = std::\n                   _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&symtab->icf_->section_id_,&reloc_secn);\n          if (puVar33 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (iVar12.\n                super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                ._M_cur != (__node_type *)0x0) {\n              if (num_tracked_relocs != (uint *)0x0) {\n                *num_tracked_relocs = *num_tracked_relocs + 1;\n              }\n              snprintf(kept_section_str,10,"%u",\n                       (ulong)(kept_section_id->\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>).\n                              _M_impl._M_start\n                              [*(uint *)((long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                                               ._M_cur + 0x18)]);\n              puVar25 = (uint *)kept_section_str;\n              if (first_iteration) {\n                if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 5) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,"ICF_R",5);\n                puVar25 = (uint *)addend_str;\n                do {\n                  puVar24 = puVar25;\n                  uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                  uVar11 = uVar10 & 0x80808080;\n                  puVar25 = puVar24 + 1;\n                } while (uVar11 == 0);\n                bVar34 = (uVar10 & 0x8080) == 0;\n                if (bVar34) {\n                  uVar11 = uVar11 >> 0x10;\n                }\n                if (bVar34) {\n                  puVar25 = (uint *)((long)puVar24 + 6);\n                }\n                pcVar22 = (char *)((long)puVar25 +\n                                  ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                  (long)addend_str));\n                if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) <\n                    pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n                puVar25 = (uint *)kept_section_str;\n              }\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,addend_str,(ulong)pcVar22);\n              if (icf_reloc_buffer._M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,"@",1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar33[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar33 + 3) != 0 || ((*(byte *)((long)puVar33 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar33 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar33 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            pGVar8 = parameters->options_;\n            if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((pGVar8->shared_).value == false) goto LAB_0019cc40;\n            bVar9 = Version_script_info::get_symbol_version\n                              (&(pGVar8->dynamic_list_).version_script_info_,(char *)*puVar33,\n                               (string *)0x0,&is_global);\n            if ((!bVar9) || (is_global != false)) {\n              pGVar8 = parameters->options_;\n              if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if (((pGVar8->Bsymbolic_).value != false) ||\n                 (((*(byte *)(puVar33 + 7) & 0xf) != 1 &&\n                  ((pGVar8->Bsymbolic_functions_).value != false)))) goto LAB_0019cc40;\n            }\n          }\n          if (first_iteration) {\n            uVar13 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x11]._M_nxt)\n                               (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n            if ((uVar13 & 0x10) != 0) {\n              if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              if (parameters->target_->pti_->can_icf_inline_merge_sections != false) {\n                uVar21 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x12]._M_nxt)\n                                   (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n                lVar31 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n                if (bVar34) {\n                  if (8 < *(uint *)((long)&p_Var5->_M_nxt + lVar28)) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  psVar16 = (string *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4))\n                            )(local_f8 + *(long *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n                  return psVar16;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                puVar18 = Object::section_contents\n                                    ((Object *)p_Var27->_M_nxt,*(uint *)&p_Var27[1]._M_nxt,\n                                     (section_size_type *)kept_section_str,false);\n                __s = (int *)(puVar18 + lVar31);\n                if ((long)kept_section_str._0_8_ <= lVar31) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar13 & 0x20) == 0) {\n                  if ((ulong)kept_section_str._0_8_ < lVar31 + uVar21) {\n                    uVar21 = kept_section_str._0_8_ - lVar31;\n                  }\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\nLAB_0019d597:\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,uVar21);\n                }\n                else {\n                  if (uVar21 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar21 = 0;\n                    }\n                    else {\n                      uVar13 = 0;\n                      do {\n                        uVar11 = (int)uVar13 + 1;\n                        uVar13 = (ulong)uVar11;\n                      } while (*(short *)((long)__s + uVar13 * 2) != 0);\n                      uVar21 = (ulong)(uVar11 * 2);\n                      if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                        std::__throw_length_error("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar13 = 0;\n                    do {\n                      uVar11 = (int)uVar13 + 1;\n                      uVar13 = (ulong)uVar11;\n                    } while (__s[uVar13] != 0);\n                    uVar21 = (ulong)(uVar11 * 4);\n                    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                      std::__throw_length_error("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar14 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,sVar14);\n                }\n                if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar33 == (undefined8 *)0x0) {\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,(char *)p_Var27->_M_nxt[1]._M_nxt,\n                         (ulong)p_Var27->_M_nxt[2]._M_nxt);\n              snprintf(kept_section_str,10,"%u",(ulong)*(uint *)&p_Var27[1]._M_nxt);\n              puVar25 = (uint *)kept_section_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            else {\n              pcVar22 = (char *)*puVar33;\n              sVar14 = strlen(pcVar22);\n              if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,pcVar22,sVar14);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }" if (parenthesized_expression "(first_iteration)" ( identifier )) (compound_statement "{\n      p_Var6 = p_Var27->_M_nxt;\n      if (p_Var6 != (_Hash_node_base *)0x0) {\n        addend_str._8_4_ = *(undefined4 *)&p_Var27[1]._M_nxt;\n        addend_str._16_8_ = lVar20 + lVar31;\n        pTVar7 = parameters->target_;\n        addend_str._0_8_ = p_Var6;\n        if (pTVar7 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n        }\n                    /* try { // try from 0019cb7f to 0019d2d3 has its CatchHandler @ 0019d8f0 */\n        (*pTVar7->_vptr_Target[0x11])(pTVar7,addend_str);\n        if (addend_str._8_4_ == *(int *)&p_Var27[1]._M_nxt) {\n          lVar31 = *(long *)((long)&p_Var3[1]._M_nxt + lVar28 * 4);\n          lVar20 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n        }\n        else {\n          *(undefined4 *)&p_Var27[1]._M_nxt = addend_str._8_4_;\n          lVar31 = 0;\n          *(undefined8 *)((long)&p_Var3[1]._M_nxt + lVar28 * 4) = 0;\n          *(undefined8 *)((long)&p_Var3->_M_nxt + lVar28 * 4) = addend_str._16_8_;\n          lVar20 = addend_str._16_8_;\n        }\n      }\n      snprintf(addend_str,0x32,"%llx %llx %llx",lVar20,lVar31,\n               *(undefined8 *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n      if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) goto LAB_0019cbd9;\n      pcVar22 = (char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length);\n      puVar25 = (uint *)addend_str;\n      if (puVar33 != (undefined8 *)0x0) {\n        pcVar23 = (char *)*puVar33;\n        pcVar15 = (char *)strlen(pcVar23);\n        if (pcVar22 < pcVar15) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_length_error("basic_string::append");\n        }\n        std::string::_M_append((string *)__return_storage_ptr__,pcVar23,(ulong)pcVar15);\n        pcVar22 = (char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length);\n      }\n      do {\n        puVar24 = puVar25;\n        uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n        uVar11 = uVar10 & 0x80808080;\n        puVar25 = puVar24 + 1;\n      } while (uVar11 == 0);\n      bVar34 = (uVar10 & 0x8080) == 0;\n      if (bVar34) {\n        uVar11 = uVar11 >> 0x10;\n      }\n      if (bVar34) {\n        puVar25 = (uint *)((long)puVar24 + 6);\n      }\n      pcVar23 = (char *)((long)puVar25 +\n                        ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str));\n      if (pcVar22 < pcVar23) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_length_error("basic_string::append");\n      }\n      std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar23);\n      if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_length_error("basic_string::append");\n      }\nLAB_0019d1b1:\n      std::string::_M_append((string *)__return_storage_ptr__,"@",1);\n    }" { (expression_statement "p_Var6 = p_Var27->_M_nxt;" (assignment_expression "p_Var6 = p_Var27->_M_nxt" identifier = (field_expression "p_Var27->_M_nxt" identifier -> field_identifier)) ;) (if_statement "if (p_Var6 != (_Hash_node_base *)0x0) {\n        addend_str._8_4_ = *(undefined4 *)&p_Var27[1]._M_nxt;\n        addend_str._16_8_ = lVar20 + lVar31;\n        pTVar7 = parameters->target_;\n        addend_str._0_8_ = p_Var6;\n        if (pTVar7 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n        }\n                    /* try { // try from 0019cb7f to 0019d2d3 has its CatchHandler @ 0019d8f0 */\n        (*pTVar7->_vptr_Target[0x11])(pTVar7,addend_str);\n        if (addend_str._8_4_ == *(int *)&p_Var27[1]._M_nxt) {\n          lVar31 = *(long *)((long)&p_Var3[1]._M_nxt + lVar28 * 4);\n          lVar20 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n        }\n        else {\n          *(undefined4 *)&p_Var27[1]._M_nxt = addend_str._8_4_;\n          lVar31 = 0;\n          *(undefined8 *)((long)&p_Var3[1]._M_nxt + lVar28 * 4) = 0;\n          *(undefined8 *)((long)&p_Var3->_M_nxt + lVar28 * 4) = addend_str._16_8_;\n          lVar20 = addend_str._16_8_;\n        }\n      }" if (parenthesized_expression "(p_Var6 != (_Hash_node_base *)0x0)" ( (binary_expression "p_Var6 != (_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        addend_str._8_4_ = *(undefined4 *)&p_Var27[1]._M_nxt;\n        addend_str._16_8_ = lVar20 + lVar31;\n        pTVar7 = parameters->target_;\n        addend_str._0_8_ = p_Var6;\n        if (pTVar7 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n        }\n                    /* try { // try from 0019cb7f to 0019d2d3 has its CatchHandler @ 0019d8f0 */\n        (*pTVar7->_vptr_Target[0x11])(pTVar7,addend_str);\n        if (addend_str._8_4_ == *(int *)&p_Var27[1]._M_nxt) {\n          lVar31 = *(long *)((long)&p_Var3[1]._M_nxt + lVar28 * 4);\n          lVar20 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n        }\n        else {\n          *(undefined4 *)&p_Var27[1]._M_nxt = addend_str._8_4_;\n          lVar31 = 0;\n          *(undefined8 *)((long)&p_Var3[1]._M_nxt + lVar28 * 4) = 0;\n          *(undefined8 *)((long)&p_Var3->_M_nxt + lVar28 * 4) = addend_str._16_8_;\n          lVar20 = addend_str._16_8_;\n        }\n      }" { (expression_statement "addend_str._8_4_ = *(undefined4 *)&p_Var27[1]._M_nxt;" (assignment_expression "addend_str._8_4_ = *(undefined4 *)&p_Var27[1]._M_nxt" (field_expression "addend_str._8_4_" identifier . field_identifier) = (pointer_expression "*(undefined4 *)&p_Var27[1]._M_nxt" * (cast_expression "(undefined4 *)&p_Var27[1]._M_nxt" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var27[1]._M_nxt" & (field_expression "p_Var27[1]._M_nxt" (subscript_expression "p_Var27[1]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "addend_str._16_8_ = lVar20 + lVar31;" (assignment_expression "addend_str._16_8_ = lVar20 + lVar31" (field_expression "addend_str._16_8_" identifier . field_identifier) = (binary_expression "lVar20 + lVar31" identifier + identifier)) ;) (expression_statement "pTVar7 = parameters->target_;" (assignment_expression "pTVar7 = parameters->target_" identifier = (field_expression "parameters->target_" identifier -> field_identifier)) ;) (expression_statement "addend_str._0_8_ = p_Var6;" (assignment_expression "addend_str._0_8_ = p_Var6" (field_expression "addend_str._0_8_" identifier . field_identifier) = identifier) ;) (if_statement "if (pTVar7 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n        }" if (parenthesized_expression "(pTVar7 == (Target *)0x0)" ( (binary_expression "pTVar7 == (Target *)0x0" identifier == (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n        }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x69,"target");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;) })) comment (expression_statement "(*pTVar7->_vptr_Target[0x11])(pTVar7,addend_str);" (call_expression "(*pTVar7->_vptr_Target[0x11])(pTVar7,addend_str)" (parenthesized_expression "(*pTVar7->_vptr_Target[0x11])" ( (pointer_expression "*pTVar7->_vptr_Target[0x11]" * (subscript_expression "pTVar7->_vptr_Target[0x11]" (field_expression "pTVar7->_vptr_Target" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pTVar7,addend_str)" ( identifier , identifier ))) ;) (if_statement "if (addend_str._8_4_ == *(int *)&p_Var27[1]._M_nxt) {\n          lVar31 = *(long *)((long)&p_Var3[1]._M_nxt + lVar28 * 4);\n          lVar20 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n        }\n        else {\n          *(undefined4 *)&p_Var27[1]._M_nxt = addend_str._8_4_;\n          lVar31 = 0;\n          *(undefined8 *)((long)&p_Var3[1]._M_nxt + lVar28 * 4) = 0;\n          *(undefined8 *)((long)&p_Var3->_M_nxt + lVar28 * 4) = addend_str._16_8_;\n          lVar20 = addend_str._16_8_;\n        }" if (parenthesized_expression "(addend_str._8_4_ == *(int *)&p_Var27[1]._M_nxt)" ( (binary_expression "addend_str._8_4_ == *(int *)&p_Var27[1]._M_nxt" (field_expression "addend_str._8_4_" identifier . field_identifier) == (pointer_expression "*(int *)&p_Var27[1]._M_nxt" * (cast_expression "(int *)&p_Var27[1]._M_nxt" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var27[1]._M_nxt" & (field_expression "p_Var27[1]._M_nxt" (subscript_expression "p_Var27[1]" identifier [ number_literal ]) . field_identifier))))) )) (compound_statement "{\n          lVar31 = *(long *)((long)&p_Var3[1]._M_nxt + lVar28 * 4);\n          lVar20 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n        }" { (expression_statement "lVar31 = *(long *)((long)&p_Var3[1]._M_nxt + lVar28 * 4);" (assignment_expression "lVar31 = *(long *)((long)&p_Var3[1]._M_nxt + lVar28 * 4)" identifier = (pointer_expression "*(long *)((long)&p_Var3[1]._M_nxt + lVar28 * 4)" * (cast_expression "(long *)((long)&p_Var3[1]._M_nxt + lVar28 * 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&p_Var3[1]._M_nxt + lVar28 * 4)" ( (binary_expression "(long)&p_Var3[1]._M_nxt + lVar28 * 4" (cast_expression "(long)&p_Var3[1]._M_nxt" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&p_Var3[1]._M_nxt" & (field_expression "p_Var3[1]._M_nxt" (subscript_expression "p_Var3[1]" identifier [ number_literal ]) . field_identifier))) + (binary_expression "lVar28 * 4" identifier * number_literal)) ))))) ;) (expression_statement "lVar20 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);" (assignment_expression "lVar20 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4)" identifier = (pointer_expression "*(long *)((long)&p_Var3->_M_nxt + lVar28 * 4)" * (cast_expression "(long *)((long)&p_Var3->_M_nxt + lVar28 * 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&p_Var3->_M_nxt + lVar28 * 4)" ( (binary_expression "(long)&p_Var3->_M_nxt + lVar28 * 4" (cast_expression "(long)&p_Var3->_M_nxt" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&p_Var3->_M_nxt" & (field_expression "p_Var3->_M_nxt" identifier -> field_identifier))) + (binary_expression "lVar28 * 4" identifier * number_literal)) ))))) ;) }) (else_clause "else {\n          *(undefined4 *)&p_Var27[1]._M_nxt = addend_str._8_4_;\n          lVar31 = 0;\n          *(undefined8 *)((long)&p_Var3[1]._M_nxt + lVar28 * 4) = 0;\n          *(undefined8 *)((long)&p_Var3->_M_nxt + lVar28 * 4) = addend_str._16_8_;\n          lVar20 = addend_str._16_8_;\n        }" else (compound_statement "{\n          *(undefined4 *)&p_Var27[1]._M_nxt = addend_str._8_4_;\n          lVar31 = 0;\n          *(undefined8 *)((long)&p_Var3[1]._M_nxt + lVar28 * 4) = 0;\n          *(undefined8 *)((long)&p_Var3->_M_nxt + lVar28 * 4) = addend_str._16_8_;\n          lVar20 = addend_str._16_8_;\n        }" { (expression_statement "*(undefined4 *)&p_Var27[1]._M_nxt = addend_str._8_4_;" (assignment_expression "*(undefined4 *)&p_Var27[1]._M_nxt = addend_str._8_4_" (pointer_expression "*(undefined4 *)&p_Var27[1]._M_nxt" * (cast_expression "(undefined4 *)&p_Var27[1]._M_nxt" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var27[1]._M_nxt" & (field_expression "p_Var27[1]._M_nxt" (subscript_expression "p_Var27[1]" identifier [ number_literal ]) . field_identifier)))) = (field_expression "addend_str._8_4_" identifier . field_identifier)) ;) (expression_statement "lVar31 = 0;" (assignment_expression "lVar31 = 0" identifier = number_literal) ;) (expression_statement "*(undefined8 *)((long)&p_Var3[1]._M_nxt + lVar28 * 4) = 0;" (assignment_expression "*(undefined8 *)((long)&p_Var3[1]._M_nxt + lVar28 * 4) = 0" (pointer_expression "*(undefined8 *)((long)&p_Var3[1]._M_nxt + lVar28 * 4)" * (cast_expression "(undefined8 *)((long)&p_Var3[1]._M_nxt + lVar28 * 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&p_Var3[1]._M_nxt + lVar28 * 4)" ( (binary_expression "(long)&p_Var3[1]._M_nxt + lVar28 * 4" (cast_expression "(long)&p_Var3[1]._M_nxt" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&p_Var3[1]._M_nxt" & (field_expression "p_Var3[1]._M_nxt" (subscript_expression "p_Var3[1]" identifier [ number_literal ]) . field_identifier))) + (binary_expression "lVar28 * 4" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "*(undefined8 *)((long)&p_Var3->_M_nxt + lVar28 * 4) = addend_str._16_8_;" (assignment_expression "*(undefined8 *)((long)&p_Var3->_M_nxt + lVar28 * 4) = addend_str._16_8_" (pointer_expression "*(undefined8 *)((long)&p_Var3->_M_nxt + lVar28 * 4)" * (cast_expression "(undefined8 *)((long)&p_Var3->_M_nxt + lVar28 * 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&p_Var3->_M_nxt + lVar28 * 4)" ( (binary_expression "(long)&p_Var3->_M_nxt + lVar28 * 4" (cast_expression "(long)&p_Var3->_M_nxt" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&p_Var3->_M_nxt" & (field_expression "p_Var3->_M_nxt" identifier -> field_identifier))) + (binary_expression "lVar28 * 4" identifier * number_literal)) )))) = (field_expression "addend_str._16_8_" identifier . field_identifier)) ;) (expression_statement "lVar20 = addend_str._16_8_;" (assignment_expression "lVar20 = addend_str._16_8_" identifier = (field_expression "addend_str._16_8_" identifier . field_identifier)) ;) }))) })) (expression_statement "snprintf(addend_str,0x32,"%llx %llx %llx",lVar20,lVar31,\n               *(undefined8 *)((long)&p_Var4->_M_nxt + lVar28 * 2));" (call_expression "snprintf(addend_str,0x32,"%llx %llx %llx",lVar20,lVar31,\n               *(undefined8 *)((long)&p_Var4->_M_nxt + lVar28 * 2))" identifier (argument_list "(addend_str,0x32,"%llx %llx %llx",lVar20,lVar31,\n               *(undefined8 *)((long)&p_Var4->_M_nxt + lVar28 * 2))" ( identifier , number_literal , (string_literal ""%llx %llx %llx"" " string_content ") , identifier , identifier , (pointer_expression "*(undefined8 *)((long)&p_Var4->_M_nxt + lVar28 * 2)" * (cast_expression "(undefined8 *)((long)&p_Var4->_M_nxt + lVar28 * 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&p_Var4->_M_nxt + lVar28 * 2)" ( (binary_expression "(long)&p_Var4->_M_nxt + lVar28 * 2" (cast_expression "(long)&p_Var4->_M_nxt" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&p_Var4->_M_nxt" & (field_expression "p_Var4->_M_nxt" identifier -> field_identifier))) + (binary_expression "lVar28 * 2" identifier * number_literal)) )))) ))) ;) (if_statement "if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) goto LAB_0019cbd9;" if (parenthesized_expression "(p_Var27->_M_nxt != (_Hash_node_base *)0x0)" ( (binary_expression "p_Var27->_M_nxt != (_Hash_node_base *)0x0" (field_expression "p_Var27->_M_nxt" identifier -> field_identifier) != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0019cbd9;" goto statement_identifier ;)) (expression_statement "pcVar22 = (char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length);" (assignment_expression "pcVar22 = (char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length)" identifier = (cast_expression "(char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length)" ( (binary_expression "0x7fffffffffffffff - __return_storage_ptr__->_M_string_length" number_literal - (field_expression "__return_storage_ptr__->_M_string_length" identifier -> field_identifier)) )))) ;) (expression_statement "puVar25 = (uint *)addend_str;" (assignment_expression "puVar25 = (uint *)addend_str" identifier = (cast_expression "(uint *)addend_str" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (puVar33 != (undefined8 *)0x0) {\n        pcVar23 = (char *)*puVar33;\n        pcVar15 = (char *)strlen(pcVar23);\n        if (pcVar22 < pcVar15) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_length_error("basic_string::append");\n        }\n        std::string::_M_append((string *)__return_storage_ptr__,pcVar23,(ulong)pcVar15);\n        pcVar22 = (char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length);\n      }" if (parenthesized_expression "(puVar33 != (undefined8 *)0x0)" ( (binary_expression "puVar33 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar23 = (char *)*puVar33;\n        pcVar15 = (char *)strlen(pcVar23);\n        if (pcVar22 < pcVar15) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_length_error("basic_string::append");\n        }\n        std::string::_M_append((string *)__return_storage_ptr__,pcVar23,(ulong)pcVar15);\n        pcVar22 = (char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length);\n      }" { (expression_statement "pcVar23 = (char *)*puVar33;" (assignment_expression "pcVar23 = (char *)*puVar33" identifier = (cast_expression "(char *)*puVar33" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar33" * identifier))) ;) (expression_statement "pcVar15 = (char *)strlen(pcVar23);" (assignment_expression "pcVar15 = (char *)strlen(pcVar23)" identifier = (cast_expression "(char *)strlen(pcVar23)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "strlen(pcVar23)" identifier (argument_list "(pcVar23)" ( identifier ))))) ;) (if_statement "if (pcVar22 < pcVar15) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_length_error("basic_string::append");\n        }" if (parenthesized_expression "(pcVar22 < pcVar15)" ( (binary_expression "pcVar22 < pcVar15" identifier < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          std::__throw_length_error("basic_string::append");\n        }" { comment (labeled_statement "std::__throw_length_error("basic_string::append");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_length_error("basic_string::append");" (call_expression "__throw_length_error("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;)) })) (labeled_statement "std::string::_M_append((string *)__return_storage_ptr__,pcVar23,(ulong)pcVar15);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_append((string *)__return_storage_ptr__,pcVar23,(ulong)pcVar15);" statement_identifier : (ERROR ":" :) (expression_statement "_M_append((string *)__return_storage_ptr__,pcVar23,(ulong)pcVar15);" (call_expression "_M_append((string *)__return_storage_ptr__,pcVar23,(ulong)pcVar15)" identifier (argument_list "((string *)__return_storage_ptr__,pcVar23,(ulong)pcVar15)" ( (cast_expression "(string *)__return_storage_ptr__" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (cast_expression "(ulong)pcVar15" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;))) (expression_statement "pcVar22 = (char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length);" (assignment_expression "pcVar22 = (char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length)" identifier = (cast_expression "(char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length)" ( (binary_expression "0x7fffffffffffffff - __return_storage_ptr__->_M_string_length" number_literal - (field_expression "__return_storage_ptr__->_M_string_length" identifier -> field_identifier)) )))) ;) })) (do_statement "do {\n        puVar24 = puVar25;\n        uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n        uVar11 = uVar10 & 0x80808080;\n        puVar25 = puVar24 + 1;\n      } while (uVar11 == 0);" do (compound_statement "{\n        puVar24 = puVar25;\n        uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n        uVar11 = uVar10 & 0x80808080;\n        puVar25 = puVar24 + 1;\n      }" { (expression_statement "puVar24 = puVar25;" (assignment_expression "puVar24 = puVar25" identifier = identifier) ;) (expression_statement "uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;" (assignment_expression "uVar10 = *puVar24 + 0xfefefeff & ~*puVar24" identifier = (binary_expression "*puVar24 + 0xfefefeff & ~*puVar24" (binary_expression "*puVar24 + 0xfefefeff" (pointer_expression "*puVar24" * identifier) + number_literal) & (unary_expression "~*puVar24" ~ (pointer_expression "*puVar24" * identifier)))) ;) (expression_statement "uVar11 = uVar10 & 0x80808080;" (assignment_expression "uVar11 = uVar10 & 0x80808080" identifier = (binary_expression "uVar10 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar25 = puVar24 + 1;" (assignment_expression "puVar25 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) ;) (expression_statement "bVar34 = (uVar10 & 0x8080) == 0;" (assignment_expression "bVar34 = (uVar10 & 0x8080) == 0" identifier = (binary_expression "(uVar10 & 0x8080) == 0" (parenthesized_expression "(uVar10 & 0x8080)" ( (binary_expression "uVar10 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar34) {\n        uVar11 = uVar11 >> 0x10;\n      }" if (parenthesized_expression "(bVar34)" ( identifier )) (compound_statement "{\n        uVar11 = uVar11 >> 0x10;\n      }" { (expression_statement "uVar11 = uVar11 >> 0x10;" (assignment_expression "uVar11 = uVar11 >> 0x10" identifier = (binary_expression "uVar11 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar34) {\n        puVar25 = (uint *)((long)puVar24 + 6);\n      }" if (parenthesized_expression "(bVar34)" ( identifier )) (compound_statement "{\n        puVar25 = (uint *)((long)puVar24 + 6);\n      }" { (expression_statement "puVar25 = (uint *)((long)puVar24 + 6);" (assignment_expression "puVar25 = (uint *)((long)puVar24 + 6)" identifier = (cast_expression "(uint *)((long)puVar24 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar24 + 6)" ( (binary_expression "(long)puVar24 + 6" (cast_expression "(long)puVar24" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (expression_statement "pcVar23 = (char *)((long)puVar25 +\n                        ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str));" (assignment_expression "pcVar23 = (char *)((long)puVar25 +\n                        ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str))" identifier = (cast_expression "(char *)((long)puVar25 +\n                        ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar25 +\n                        ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str))" ( (binary_expression "(long)puVar25 +\n                        ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)" (cast_expression "(long)puVar25" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)" ( (binary_expression "(-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar11,(byte)uVar11)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar11,(byte)uVar11)" identifier (argument_list "((byte)uVar11,(byte)uVar11)" ( (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(long)addend_str" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) )))) ;) (if_statement "if (pcVar22 < pcVar23) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_length_error("basic_string::append");\n      }" if (parenthesized_expression "(pcVar22 < pcVar23)" ( (binary_expression "pcVar22 < pcVar23" identifier < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        std::__throw_length_error("basic_string::append");\n      }" { comment (labeled_statement "std::__throw_length_error("basic_string::append");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_length_error("basic_string::append");" (call_expression "__throw_length_error("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;)) })) (labeled_statement "std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar23);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar23);" statement_identifier : (ERROR ":" :) (expression_statement "_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar23);" (call_expression "_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar23)" identifier (argument_list "((string *)__return_storage_ptr__,addend_str,(ulong)pcVar23)" ( (cast_expression "(string *)__return_storage_ptr__" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (cast_expression "(ulong)pcVar23" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;))) (if_statement "if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_length_error("basic_string::append");\n      }" if (parenthesized_expression "(__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff)" ( (binary_expression "__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff" (field_expression "__return_storage_ptr__->_M_string_length" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        std::__throw_length_error("basic_string::append");\n      }" { comment (labeled_statement "std::__throw_length_error("basic_string::append");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_length_error("basic_string::append");" (call_expression "__throw_length_error("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;)) })) (labeled_statement "LAB_0019d1b1:\n      std::string::_M_append((string *)__return_storage_ptr__,"@",1);" statement_identifier : (labeled_statement "std::string::_M_append((string *)__return_storage_ptr__,"@",1);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_append((string *)__return_storage_ptr__,"@",1);" statement_identifier : (ERROR ":" :) (expression_statement "_M_append((string *)__return_storage_ptr__,"@",1);" (call_expression "_M_append((string *)__return_storage_ptr__,"@",1)" identifier (argument_list "((string *)__return_storage_ptr__,"@",1)" ( (cast_expression "(string *)__return_storage_ptr__" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""@"" " string_content ") , number_literal ))) ;)))) }) (else_clause "else {\n      snprintf(addend_str,0x32,"%llx %llx %llx",lVar20,lVar31,\n               *(undefined8 *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n      if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\nLAB_0019cbd9:\n        reloc_secn.first = (Relobj *)p_Var27->_M_nxt;\n        reloc_secn.second = *(uint *)&p_Var27[1]._M_nxt;\n        if ((secn->first == reloc_secn.first) && (secn->second == reloc_secn.second)) {\n          if (first_iteration) {\n            if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            std::string::_M_append((string *)__return_storage_ptr__,"R",1);\n            puVar25 = (uint *)addend_str;\n            do {\n              puVar24 = puVar25;\n              uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n              uVar11 = uVar10 & 0x80808080;\n              puVar25 = puVar24 + 1;\n            } while (uVar11 == 0);\n            bVar34 = (uVar10 & 0x8080) == 0;\n            if (bVar34) {\n              uVar11 = uVar11 >> 0x10;\n            }\n            if (bVar34) {\n              puVar25 = (uint *)((long)puVar24 + 6);\n            }\n            pcVar22 = (char *)((long)puVar25 +\n                              ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str));\n            if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n            if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          iVar12 = std::\n                   _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&symtab->icf_->section_id_,&reloc_secn);\n          if (puVar33 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (iVar12.\n                super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                ._M_cur != (__node_type *)0x0) {\n              if (num_tracked_relocs != (uint *)0x0) {\n                *num_tracked_relocs = *num_tracked_relocs + 1;\n              }\n              snprintf(kept_section_str,10,"%u",\n                       (ulong)(kept_section_id->\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>).\n                              _M_impl._M_start\n                              [*(uint *)((long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                                               ._M_cur + 0x18)]);\n              puVar25 = (uint *)kept_section_str;\n              if (first_iteration) {\n                if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 5) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,"ICF_R",5);\n                puVar25 = (uint *)addend_str;\n                do {\n                  puVar24 = puVar25;\n                  uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                  uVar11 = uVar10 & 0x80808080;\n                  puVar25 = puVar24 + 1;\n                } while (uVar11 == 0);\n                bVar34 = (uVar10 & 0x8080) == 0;\n                if (bVar34) {\n                  uVar11 = uVar11 >> 0x10;\n                }\n                if (bVar34) {\n                  puVar25 = (uint *)((long)puVar24 + 6);\n                }\n                pcVar22 = (char *)((long)puVar25 +\n                                  ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                  (long)addend_str));\n                if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) <\n                    pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n                puVar25 = (uint *)kept_section_str;\n              }\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,addend_str,(ulong)pcVar22);\n              if (icf_reloc_buffer._M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,"@",1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar33[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar33 + 3) != 0 || ((*(byte *)((long)puVar33 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar33 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar33 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            pGVar8 = parameters->options_;\n            if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((pGVar8->shared_).value == false) goto LAB_0019cc40;\n            bVar9 = Version_script_info::get_symbol_version\n                              (&(pGVar8->dynamic_list_).version_script_info_,(char *)*puVar33,\n                               (string *)0x0,&is_global);\n            if ((!bVar9) || (is_global != false)) {\n              pGVar8 = parameters->options_;\n              if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if (((pGVar8->Bsymbolic_).value != false) ||\n                 (((*(byte *)(puVar33 + 7) & 0xf) != 1 &&\n                  ((pGVar8->Bsymbolic_functions_).value != false)))) goto LAB_0019cc40;\n            }\n          }\n          if (first_iteration) {\n            uVar13 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x11]._M_nxt)\n                               (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n            if ((uVar13 & 0x10) != 0) {\n              if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              if (parameters->target_->pti_->can_icf_inline_merge_sections != false) {\n                uVar21 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x12]._M_nxt)\n                                   (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n                lVar31 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n                if (bVar34) {\n                  if (8 < *(uint *)((long)&p_Var5->_M_nxt + lVar28)) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  psVar16 = (string *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4))\n                            )(local_f8 + *(long *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n                  return psVar16;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                puVar18 = Object::section_contents\n                                    ((Object *)p_Var27->_M_nxt,*(uint *)&p_Var27[1]._M_nxt,\n                                     (section_size_type *)kept_section_str,false);\n                __s = (int *)(puVar18 + lVar31);\n                if ((long)kept_section_str._0_8_ <= lVar31) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar13 & 0x20) == 0) {\n                  if ((ulong)kept_section_str._0_8_ < lVar31 + uVar21) {\n                    uVar21 = kept_section_str._0_8_ - lVar31;\n                  }\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\nLAB_0019d597:\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,uVar21);\n                }\n                else {\n                  if (uVar21 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar21 = 0;\n                    }\n                    else {\n                      uVar13 = 0;\n                      do {\n                        uVar11 = (int)uVar13 + 1;\n                        uVar13 = (ulong)uVar11;\n                      } while (*(short *)((long)__s + uVar13 * 2) != 0);\n                      uVar21 = (ulong)(uVar11 * 2);\n                      if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                        std::__throw_length_error("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar13 = 0;\n                    do {\n                      uVar11 = (int)uVar13 + 1;\n                      uVar13 = (ulong)uVar11;\n                    } while (__s[uVar13] != 0);\n                    uVar21 = (ulong)(uVar11 * 4);\n                    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                      std::__throw_length_error("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar14 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,sVar14);\n                }\n                if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar33 == (undefined8 *)0x0) {\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,(char *)p_Var27->_M_nxt[1]._M_nxt,\n                         (ulong)p_Var27->_M_nxt[2]._M_nxt);\n              snprintf(kept_section_str,10,"%u",(ulong)*(uint *)&p_Var27[1]._M_nxt);\n              puVar25 = (uint *)kept_section_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            else {\n              pcVar22 = (char *)*puVar33;\n              sVar14 = strlen(pcVar22);\n              if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,pcVar22,sVar14);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }" else (compound_statement "{\n      snprintf(addend_str,0x32,"%llx %llx %llx",lVar20,lVar31,\n               *(undefined8 *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n      if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\nLAB_0019cbd9:\n        reloc_secn.first = (Relobj *)p_Var27->_M_nxt;\n        reloc_secn.second = *(uint *)&p_Var27[1]._M_nxt;\n        if ((secn->first == reloc_secn.first) && (secn->second == reloc_secn.second)) {\n          if (first_iteration) {\n            if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            std::string::_M_append((string *)__return_storage_ptr__,"R",1);\n            puVar25 = (uint *)addend_str;\n            do {\n              puVar24 = puVar25;\n              uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n              uVar11 = uVar10 & 0x80808080;\n              puVar25 = puVar24 + 1;\n            } while (uVar11 == 0);\n            bVar34 = (uVar10 & 0x8080) == 0;\n            if (bVar34) {\n              uVar11 = uVar11 >> 0x10;\n            }\n            if (bVar34) {\n              puVar25 = (uint *)((long)puVar24 + 6);\n            }\n            pcVar22 = (char *)((long)puVar25 +\n                              ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str));\n            if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n            if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          iVar12 = std::\n                   _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&symtab->icf_->section_id_,&reloc_secn);\n          if (puVar33 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (iVar12.\n                super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                ._M_cur != (__node_type *)0x0) {\n              if (num_tracked_relocs != (uint *)0x0) {\n                *num_tracked_relocs = *num_tracked_relocs + 1;\n              }\n              snprintf(kept_section_str,10,"%u",\n                       (ulong)(kept_section_id->\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>).\n                              _M_impl._M_start\n                              [*(uint *)((long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                                               ._M_cur + 0x18)]);\n              puVar25 = (uint *)kept_section_str;\n              if (first_iteration) {\n                if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 5) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,"ICF_R",5);\n                puVar25 = (uint *)addend_str;\n                do {\n                  puVar24 = puVar25;\n                  uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                  uVar11 = uVar10 & 0x80808080;\n                  puVar25 = puVar24 + 1;\n                } while (uVar11 == 0);\n                bVar34 = (uVar10 & 0x8080) == 0;\n                if (bVar34) {\n                  uVar11 = uVar11 >> 0x10;\n                }\n                if (bVar34) {\n                  puVar25 = (uint *)((long)puVar24 + 6);\n                }\n                pcVar22 = (char *)((long)puVar25 +\n                                  ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                  (long)addend_str));\n                if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) <\n                    pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n                puVar25 = (uint *)kept_section_str;\n              }\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,addend_str,(ulong)pcVar22);\n              if (icf_reloc_buffer._M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,"@",1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar33[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar33 + 3) != 0 || ((*(byte *)((long)puVar33 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar33 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar33 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            pGVar8 = parameters->options_;\n            if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((pGVar8->shared_).value == false) goto LAB_0019cc40;\n            bVar9 = Version_script_info::get_symbol_version\n                              (&(pGVar8->dynamic_list_).version_script_info_,(char *)*puVar33,\n                               (string *)0x0,&is_global);\n            if ((!bVar9) || (is_global != false)) {\n              pGVar8 = parameters->options_;\n              if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if (((pGVar8->Bsymbolic_).value != false) ||\n                 (((*(byte *)(puVar33 + 7) & 0xf) != 1 &&\n                  ((pGVar8->Bsymbolic_functions_).value != false)))) goto LAB_0019cc40;\n            }\n          }\n          if (first_iteration) {\n            uVar13 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x11]._M_nxt)\n                               (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n            if ((uVar13 & 0x10) != 0) {\n              if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              if (parameters->target_->pti_->can_icf_inline_merge_sections != false) {\n                uVar21 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x12]._M_nxt)\n                                   (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n                lVar31 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n                if (bVar34) {\n                  if (8 < *(uint *)((long)&p_Var5->_M_nxt + lVar28)) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  psVar16 = (string *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4))\n                            )(local_f8 + *(long *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n                  return psVar16;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                puVar18 = Object::section_contents\n                                    ((Object *)p_Var27->_M_nxt,*(uint *)&p_Var27[1]._M_nxt,\n                                     (section_size_type *)kept_section_str,false);\n                __s = (int *)(puVar18 + lVar31);\n                if ((long)kept_section_str._0_8_ <= lVar31) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar13 & 0x20) == 0) {\n                  if ((ulong)kept_section_str._0_8_ < lVar31 + uVar21) {\n                    uVar21 = kept_section_str._0_8_ - lVar31;\n                  }\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\nLAB_0019d597:\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,uVar21);\n                }\n                else {\n                  if (uVar21 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar21 = 0;\n                    }\n                    else {\n                      uVar13 = 0;\n                      do {\n                        uVar11 = (int)uVar13 + 1;\n                        uVar13 = (ulong)uVar11;\n                      } while (*(short *)((long)__s + uVar13 * 2) != 0);\n                      uVar21 = (ulong)(uVar11 * 2);\n                      if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                        std::__throw_length_error("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar13 = 0;\n                    do {\n                      uVar11 = (int)uVar13 + 1;\n                      uVar13 = (ulong)uVar11;\n                    } while (__s[uVar13] != 0);\n                    uVar21 = (ulong)(uVar11 * 4);\n                    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                      std::__throw_length_error("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar14 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,sVar14);\n                }\n                if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar33 == (undefined8 *)0x0) {\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,(char *)p_Var27->_M_nxt[1]._M_nxt,\n                         (ulong)p_Var27->_M_nxt[2]._M_nxt);\n              snprintf(kept_section_str,10,"%u",(ulong)*(uint *)&p_Var27[1]._M_nxt);\n              puVar25 = (uint *)kept_section_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            else {\n              pcVar22 = (char *)*puVar33;\n              sVar14 = strlen(pcVar22);\n              if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,pcVar22,sVar14);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }" { (expression_statement "snprintf(addend_str,0x32,"%llx %llx %llx",lVar20,lVar31,\n               *(undefined8 *)((long)&p_Var4->_M_nxt + lVar28 * 2));" (call_expression "snprintf(addend_str,0x32,"%llx %llx %llx",lVar20,lVar31,\n               *(undefined8 *)((long)&p_Var4->_M_nxt + lVar28 * 2))" identifier (argument_list "(addend_str,0x32,"%llx %llx %llx",lVar20,lVar31,\n               *(undefined8 *)((long)&p_Var4->_M_nxt + lVar28 * 2))" ( identifier , number_literal , (string_literal ""%llx %llx %llx"" " string_content ") , identifier , identifier , (pointer_expression "*(undefined8 *)((long)&p_Var4->_M_nxt + lVar28 * 2)" * (cast_expression "(undefined8 *)((long)&p_Var4->_M_nxt + lVar28 * 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&p_Var4->_M_nxt + lVar28 * 2)" ( (binary_expression "(long)&p_Var4->_M_nxt + lVar28 * 2" (cast_expression "(long)&p_Var4->_M_nxt" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&p_Var4->_M_nxt" & (field_expression "p_Var4->_M_nxt" identifier -> field_identifier))) + (binary_expression "lVar28 * 2" identifier * number_literal)) )))) ))) ;) (if_statement "if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\nLAB_0019cbd9:\n        reloc_secn.first = (Relobj *)p_Var27->_M_nxt;\n        reloc_secn.second = *(uint *)&p_Var27[1]._M_nxt;\n        if ((secn->first == reloc_secn.first) && (secn->second == reloc_secn.second)) {\n          if (first_iteration) {\n            if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            std::string::_M_append((string *)__return_storage_ptr__,"R",1);\n            puVar25 = (uint *)addend_str;\n            do {\n              puVar24 = puVar25;\n              uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n              uVar11 = uVar10 & 0x80808080;\n              puVar25 = puVar24 + 1;\n            } while (uVar11 == 0);\n            bVar34 = (uVar10 & 0x8080) == 0;\n            if (bVar34) {\n              uVar11 = uVar11 >> 0x10;\n            }\n            if (bVar34) {\n              puVar25 = (uint *)((long)puVar24 + 6);\n            }\n            pcVar22 = (char *)((long)puVar25 +\n                              ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str));\n            if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n            if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          iVar12 = std::\n                   _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&symtab->icf_->section_id_,&reloc_secn);\n          if (puVar33 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (iVar12.\n                super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                ._M_cur != (__node_type *)0x0) {\n              if (num_tracked_relocs != (uint *)0x0) {\n                *num_tracked_relocs = *num_tracked_relocs + 1;\n              }\n              snprintf(kept_section_str,10,"%u",\n                       (ulong)(kept_section_id->\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>).\n                              _M_impl._M_start\n                              [*(uint *)((long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                                               ._M_cur + 0x18)]);\n              puVar25 = (uint *)kept_section_str;\n              if (first_iteration) {\n                if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 5) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,"ICF_R",5);\n                puVar25 = (uint *)addend_str;\n                do {\n                  puVar24 = puVar25;\n                  uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                  uVar11 = uVar10 & 0x80808080;\n                  puVar25 = puVar24 + 1;\n                } while (uVar11 == 0);\n                bVar34 = (uVar10 & 0x8080) == 0;\n                if (bVar34) {\n                  uVar11 = uVar11 >> 0x10;\n                }\n                if (bVar34) {\n                  puVar25 = (uint *)((long)puVar24 + 6);\n                }\n                pcVar22 = (char *)((long)puVar25 +\n                                  ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                  (long)addend_str));\n                if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) <\n                    pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n                puVar25 = (uint *)kept_section_str;\n              }\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,addend_str,(ulong)pcVar22);\n              if (icf_reloc_buffer._M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,"@",1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar33[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar33 + 3) != 0 || ((*(byte *)((long)puVar33 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar33 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar33 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            pGVar8 = parameters->options_;\n            if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((pGVar8->shared_).value == false) goto LAB_0019cc40;\n            bVar9 = Version_script_info::get_symbol_version\n                              (&(pGVar8->dynamic_list_).version_script_info_,(char *)*puVar33,\n                               (string *)0x0,&is_global);\n            if ((!bVar9) || (is_global != false)) {\n              pGVar8 = parameters->options_;\n              if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if (((pGVar8->Bsymbolic_).value != false) ||\n                 (((*(byte *)(puVar33 + 7) & 0xf) != 1 &&\n                  ((pGVar8->Bsymbolic_functions_).value != false)))) goto LAB_0019cc40;\n            }\n          }\n          if (first_iteration) {\n            uVar13 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x11]._M_nxt)\n                               (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n            if ((uVar13 & 0x10) != 0) {\n              if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              if (parameters->target_->pti_->can_icf_inline_merge_sections != false) {\n                uVar21 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x12]._M_nxt)\n                                   (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n                lVar31 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n                if (bVar34) {\n                  if (8 < *(uint *)((long)&p_Var5->_M_nxt + lVar28)) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  psVar16 = (string *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4))\n                            )(local_f8 + *(long *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n                  return psVar16;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                puVar18 = Object::section_contents\n                                    ((Object *)p_Var27->_M_nxt,*(uint *)&p_Var27[1]._M_nxt,\n                                     (section_size_type *)kept_section_str,false);\n                __s = (int *)(puVar18 + lVar31);\n                if ((long)kept_section_str._0_8_ <= lVar31) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar13 & 0x20) == 0) {\n                  if ((ulong)kept_section_str._0_8_ < lVar31 + uVar21) {\n                    uVar21 = kept_section_str._0_8_ - lVar31;\n                  }\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\nLAB_0019d597:\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,uVar21);\n                }\n                else {\n                  if (uVar21 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar21 = 0;\n                    }\n                    else {\n                      uVar13 = 0;\n                      do {\n                        uVar11 = (int)uVar13 + 1;\n                        uVar13 = (ulong)uVar11;\n                      } while (*(short *)((long)__s + uVar13 * 2) != 0);\n                      uVar21 = (ulong)(uVar11 * 2);\n                      if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                        std::__throw_length_error("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar13 = 0;\n                    do {\n                      uVar11 = (int)uVar13 + 1;\n                      uVar13 = (ulong)uVar11;\n                    } while (__s[uVar13] != 0);\n                    uVar21 = (ulong)(uVar11 * 4);\n                    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                      std::__throw_length_error("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar14 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,sVar14);\n                }\n                if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar33 == (undefined8 *)0x0) {\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,(char *)p_Var27->_M_nxt[1]._M_nxt,\n                         (ulong)p_Var27->_M_nxt[2]._M_nxt);\n              snprintf(kept_section_str,10,"%u",(ulong)*(uint *)&p_Var27[1]._M_nxt);\n              puVar25 = (uint *)kept_section_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            else {\n              pcVar22 = (char *)*puVar33;\n              sVar14 = strlen(pcVar22);\n              if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,pcVar22,sVar14);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }" if (parenthesized_expression "(p_Var27->_M_nxt != (_Hash_node_base *)0x0)" ( (binary_expression "p_Var27->_M_nxt != (_Hash_node_base *)0x0" (field_expression "p_Var27->_M_nxt" identifier -> field_identifier) != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0019cbd9:\n        reloc_secn.first = (Relobj *)p_Var27->_M_nxt;\n        reloc_secn.second = *(uint *)&p_Var27[1]._M_nxt;\n        if ((secn->first == reloc_secn.first) && (secn->second == reloc_secn.second)) {\n          if (first_iteration) {\n            if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            std::string::_M_append((string *)__return_storage_ptr__,"R",1);\n            puVar25 = (uint *)addend_str;\n            do {\n              puVar24 = puVar25;\n              uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n              uVar11 = uVar10 & 0x80808080;\n              puVar25 = puVar24 + 1;\n            } while (uVar11 == 0);\n            bVar34 = (uVar10 & 0x8080) == 0;\n            if (bVar34) {\n              uVar11 = uVar11 >> 0x10;\n            }\n            if (bVar34) {\n              puVar25 = (uint *)((long)puVar24 + 6);\n            }\n            pcVar22 = (char *)((long)puVar25 +\n                              ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str));\n            if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n            if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          iVar12 = std::\n                   _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&symtab->icf_->section_id_,&reloc_secn);\n          if (puVar33 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (iVar12.\n                super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                ._M_cur != (__node_type *)0x0) {\n              if (num_tracked_relocs != (uint *)0x0) {\n                *num_tracked_relocs = *num_tracked_relocs + 1;\n              }\n              snprintf(kept_section_str,10,"%u",\n                       (ulong)(kept_section_id->\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>).\n                              _M_impl._M_start\n                              [*(uint *)((long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                                               ._M_cur + 0x18)]);\n              puVar25 = (uint *)kept_section_str;\n              if (first_iteration) {\n                if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 5) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,"ICF_R",5);\n                puVar25 = (uint *)addend_str;\n                do {\n                  puVar24 = puVar25;\n                  uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                  uVar11 = uVar10 & 0x80808080;\n                  puVar25 = puVar24 + 1;\n                } while (uVar11 == 0);\n                bVar34 = (uVar10 & 0x8080) == 0;\n                if (bVar34) {\n                  uVar11 = uVar11 >> 0x10;\n                }\n                if (bVar34) {\n                  puVar25 = (uint *)((long)puVar24 + 6);\n                }\n                pcVar22 = (char *)((long)puVar25 +\n                                  ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                  (long)addend_str));\n                if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) <\n                    pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n                puVar25 = (uint *)kept_section_str;\n              }\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,addend_str,(ulong)pcVar22);\n              if (icf_reloc_buffer._M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,"@",1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar33[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar33 + 3) != 0 || ((*(byte *)((long)puVar33 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar33 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar33 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            pGVar8 = parameters->options_;\n            if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((pGVar8->shared_).value == false) goto LAB_0019cc40;\n            bVar9 = Version_script_info::get_symbol_version\n                              (&(pGVar8->dynamic_list_).version_script_info_,(char *)*puVar33,\n                               (string *)0x0,&is_global);\n            if ((!bVar9) || (is_global != false)) {\n              pGVar8 = parameters->options_;\n              if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if (((pGVar8->Bsymbolic_).value != false) ||\n                 (((*(byte *)(puVar33 + 7) & 0xf) != 1 &&\n                  ((pGVar8->Bsymbolic_functions_).value != false)))) goto LAB_0019cc40;\n            }\n          }\n          if (first_iteration) {\n            uVar13 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x11]._M_nxt)\n                               (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n            if ((uVar13 & 0x10) != 0) {\n              if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              if (parameters->target_->pti_->can_icf_inline_merge_sections != false) {\n                uVar21 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x12]._M_nxt)\n                                   (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n                lVar31 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n                if (bVar34) {\n                  if (8 < *(uint *)((long)&p_Var5->_M_nxt + lVar28)) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  psVar16 = (string *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4))\n                            )(local_f8 + *(long *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n                  return psVar16;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                puVar18 = Object::section_contents\n                                    ((Object *)p_Var27->_M_nxt,*(uint *)&p_Var27[1]._M_nxt,\n                                     (section_size_type *)kept_section_str,false);\n                __s = (int *)(puVar18 + lVar31);\n                if ((long)kept_section_str._0_8_ <= lVar31) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar13 & 0x20) == 0) {\n                  if ((ulong)kept_section_str._0_8_ < lVar31 + uVar21) {\n                    uVar21 = kept_section_str._0_8_ - lVar31;\n                  }\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\nLAB_0019d597:\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,uVar21);\n                }\n                else {\n                  if (uVar21 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar21 = 0;\n                    }\n                    else {\n                      uVar13 = 0;\n                      do {\n                        uVar11 = (int)uVar13 + 1;\n                        uVar13 = (ulong)uVar11;\n                      } while (*(short *)((long)__s + uVar13 * 2) != 0);\n                      uVar21 = (ulong)(uVar11 * 2);\n                      if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                        std::__throw_length_error("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar13 = 0;\n                    do {\n                      uVar11 = (int)uVar13 + 1;\n                      uVar13 = (ulong)uVar11;\n                    } while (__s[uVar13] != 0);\n                    uVar21 = (ulong)(uVar11 * 4);\n                    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                      std::__throw_length_error("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar14 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,sVar14);\n                }\n                if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar33 == (undefined8 *)0x0) {\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,(char *)p_Var27->_M_nxt[1]._M_nxt,\n                         (ulong)p_Var27->_M_nxt[2]._M_nxt);\n              snprintf(kept_section_str,10,"%u",(ulong)*(uint *)&p_Var27[1]._M_nxt);\n              puVar25 = (uint *)kept_section_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            else {\n              pcVar22 = (char *)*puVar33;\n              sVar14 = strlen(pcVar22);\n              if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,pcVar22,sVar14);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }" { (labeled_statement "LAB_0019cbd9:\n        reloc_secn.first = (Relobj *)p_Var27->_M_nxt;" statement_identifier : (expression_statement "reloc_secn.first = (Relobj *)p_Var27->_M_nxt;" (assignment_expression "reloc_secn.first = (Relobj *)p_Var27->_M_nxt" (field_expression "reloc_secn.first" identifier . field_identifier) = (cast_expression "(Relobj *)p_Var27->_M_nxt" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "p_Var27->_M_nxt" identifier -> field_identifier))) ;)) (expression_statement "reloc_secn.second = *(uint *)&p_Var27[1]._M_nxt;" (assignment_expression "reloc_secn.second = *(uint *)&p_Var27[1]._M_nxt" (field_expression "reloc_secn.second" identifier . field_identifier) = (pointer_expression "*(uint *)&p_Var27[1]._M_nxt" * (cast_expression "(uint *)&p_Var27[1]._M_nxt" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var27[1]._M_nxt" & (field_expression "p_Var27[1]._M_nxt" (subscript_expression "p_Var27[1]" identifier [ number_literal ]) . field_identifier))))) ;) (if_statement "if ((secn->first == reloc_secn.first) && (secn->second == reloc_secn.second)) {\n          if (first_iteration) {\n            if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            std::string::_M_append((string *)__return_storage_ptr__,"R",1);\n            puVar25 = (uint *)addend_str;\n            do {\n              puVar24 = puVar25;\n              uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n              uVar11 = uVar10 & 0x80808080;\n              puVar25 = puVar24 + 1;\n            } while (uVar11 == 0);\n            bVar34 = (uVar10 & 0x8080) == 0;\n            if (bVar34) {\n              uVar11 = uVar11 >> 0x10;\n            }\n            if (bVar34) {\n              puVar25 = (uint *)((long)puVar24 + 6);\n            }\n            pcVar22 = (char *)((long)puVar25 +\n                              ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str));\n            if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n            if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          iVar12 = std::\n                   _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&symtab->icf_->section_id_,&reloc_secn);\n          if (puVar33 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (iVar12.\n                super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                ._M_cur != (__node_type *)0x0) {\n              if (num_tracked_relocs != (uint *)0x0) {\n                *num_tracked_relocs = *num_tracked_relocs + 1;\n              }\n              snprintf(kept_section_str,10,"%u",\n                       (ulong)(kept_section_id->\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>).\n                              _M_impl._M_start\n                              [*(uint *)((long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                                               ._M_cur + 0x18)]);\n              puVar25 = (uint *)kept_section_str;\n              if (first_iteration) {\n                if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 5) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,"ICF_R",5);\n                puVar25 = (uint *)addend_str;\n                do {\n                  puVar24 = puVar25;\n                  uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                  uVar11 = uVar10 & 0x80808080;\n                  puVar25 = puVar24 + 1;\n                } while (uVar11 == 0);\n                bVar34 = (uVar10 & 0x8080) == 0;\n                if (bVar34) {\n                  uVar11 = uVar11 >> 0x10;\n                }\n                if (bVar34) {\n                  puVar25 = (uint *)((long)puVar24 + 6);\n                }\n                pcVar22 = (char *)((long)puVar25 +\n                                  ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                  (long)addend_str));\n                if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) <\n                    pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n                puVar25 = (uint *)kept_section_str;\n              }\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,addend_str,(ulong)pcVar22);\n              if (icf_reloc_buffer._M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,"@",1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar33[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar33 + 3) != 0 || ((*(byte *)((long)puVar33 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar33 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar33 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            pGVar8 = parameters->options_;\n            if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((pGVar8->shared_).value == false) goto LAB_0019cc40;\n            bVar9 = Version_script_info::get_symbol_version\n                              (&(pGVar8->dynamic_list_).version_script_info_,(char *)*puVar33,\n                               (string *)0x0,&is_global);\n            if ((!bVar9) || (is_global != false)) {\n              pGVar8 = parameters->options_;\n              if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if (((pGVar8->Bsymbolic_).value != false) ||\n                 (((*(byte *)(puVar33 + 7) & 0xf) != 1 &&\n                  ((pGVar8->Bsymbolic_functions_).value != false)))) goto LAB_0019cc40;\n            }\n          }\n          if (first_iteration) {\n            uVar13 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x11]._M_nxt)\n                               (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n            if ((uVar13 & 0x10) != 0) {\n              if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              if (parameters->target_->pti_->can_icf_inline_merge_sections != false) {\n                uVar21 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x12]._M_nxt)\n                                   (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n                lVar31 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n                if (bVar34) {\n                  if (8 < *(uint *)((long)&p_Var5->_M_nxt + lVar28)) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  psVar16 = (string *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4))\n                            )(local_f8 + *(long *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n                  return psVar16;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                puVar18 = Object::section_contents\n                                    ((Object *)p_Var27->_M_nxt,*(uint *)&p_Var27[1]._M_nxt,\n                                     (section_size_type *)kept_section_str,false);\n                __s = (int *)(puVar18 + lVar31);\n                if ((long)kept_section_str._0_8_ <= lVar31) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar13 & 0x20) == 0) {\n                  if ((ulong)kept_section_str._0_8_ < lVar31 + uVar21) {\n                    uVar21 = kept_section_str._0_8_ - lVar31;\n                  }\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\nLAB_0019d597:\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,uVar21);\n                }\n                else {\n                  if (uVar21 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar21 = 0;\n                    }\n                    else {\n                      uVar13 = 0;\n                      do {\n                        uVar11 = (int)uVar13 + 1;\n                        uVar13 = (ulong)uVar11;\n                      } while (*(short *)((long)__s + uVar13 * 2) != 0);\n                      uVar21 = (ulong)(uVar11 * 2);\n                      if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                        std::__throw_length_error("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar13 = 0;\n                    do {\n                      uVar11 = (int)uVar13 + 1;\n                      uVar13 = (ulong)uVar11;\n                    } while (__s[uVar13] != 0);\n                    uVar21 = (ulong)(uVar11 * 4);\n                    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                      std::__throw_length_error("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar14 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,sVar14);\n                }\n                if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar33 == (undefined8 *)0x0) {\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,(char *)p_Var27->_M_nxt[1]._M_nxt,\n                         (ulong)p_Var27->_M_nxt[2]._M_nxt);\n              snprintf(kept_section_str,10,"%u",(ulong)*(uint *)&p_Var27[1]._M_nxt);\n              puVar25 = (uint *)kept_section_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            else {\n              pcVar22 = (char *)*puVar33;\n              sVar14 = strlen(pcVar22);\n              if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,pcVar22,sVar14);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }" if (parenthesized_expression "((secn->first == reloc_secn.first) && (secn->second == reloc_secn.second))" ( (binary_expression "(secn->first == reloc_secn.first) && (secn->second == reloc_secn.second)" (parenthesized_expression "(secn->first == reloc_secn.first)" ( (binary_expression "secn->first == reloc_secn.first" (field_expression "secn->first" identifier -> field_identifier) == (field_expression "reloc_secn.first" identifier . field_identifier)) )) && (parenthesized_expression "(secn->second == reloc_secn.second)" ( (binary_expression "secn->second == reloc_secn.second" (field_expression "secn->second" identifier -> field_identifier) == (field_expression "reloc_secn.second" identifier . field_identifier)) ))) )) (compound_statement "{\n          if (first_iteration) {\n            if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            std::string::_M_append((string *)__return_storage_ptr__,"R",1);\n            puVar25 = (uint *)addend_str;\n            do {\n              puVar24 = puVar25;\n              uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n              uVar11 = uVar10 & 0x80808080;\n              puVar25 = puVar24 + 1;\n            } while (uVar11 == 0);\n            bVar34 = (uVar10 & 0x8080) == 0;\n            if (bVar34) {\n              uVar11 = uVar11 >> 0x10;\n            }\n            if (bVar34) {\n              puVar25 = (uint *)((long)puVar24 + 6);\n            }\n            pcVar22 = (char *)((long)puVar25 +\n                              ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str));\n            if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n            if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }" { (if_statement "if (first_iteration) {\n            if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            std::string::_M_append((string *)__return_storage_ptr__,"R",1);\n            puVar25 = (uint *)addend_str;\n            do {\n              puVar24 = puVar25;\n              uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n              uVar11 = uVar10 & 0x80808080;\n              puVar25 = puVar24 + 1;\n            } while (uVar11 == 0);\n            bVar34 = (uVar10 & 0x8080) == 0;\n            if (bVar34) {\n              uVar11 = uVar11 >> 0x10;\n            }\n            if (bVar34) {\n              puVar25 = (uint *)((long)puVar24 + 6);\n            }\n            pcVar22 = (char *)((long)puVar25 +\n                              ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str));\n            if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n            if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }" if (parenthesized_expression "(first_iteration)" ( identifier )) (compound_statement "{\n            if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            std::string::_M_append((string *)__return_storage_ptr__,"R",1);\n            puVar25 = (uint *)addend_str;\n            do {\n              puVar24 = puVar25;\n              uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n              uVar11 = uVar10 & 0x80808080;\n              puVar25 = puVar24 + 1;\n            } while (uVar11 == 0);\n            bVar34 = (uVar10 & 0x8080) == 0;\n            if (bVar34) {\n              uVar11 = uVar11 >> 0x10;\n            }\n            if (bVar34) {\n              puVar25 = (uint *)((long)puVar24 + 6);\n            }\n            pcVar22 = (char *)((long)puVar25 +\n                              ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str));\n            if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n            if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }" { (if_statement "if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }" if (parenthesized_expression "(__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff)" ( (binary_expression "__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff" (field_expression "__return_storage_ptr__->_M_string_length" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }" { comment (labeled_statement "std::__throw_length_error("basic_string::append");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_length_error("basic_string::append");" (call_expression "__throw_length_error("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;)) })) (labeled_statement "std::string::_M_append((string *)__return_storage_ptr__,"R",1);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_append((string *)__return_storage_ptr__,"R",1);" statement_identifier : (ERROR ":" :) (expression_statement "_M_append((string *)__return_storage_ptr__,"R",1);" (call_expression "_M_append((string *)__return_storage_ptr__,"R",1)" identifier (argument_list "((string *)__return_storage_ptr__,"R",1)" ( (cast_expression "(string *)__return_storage_ptr__" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""R"" " string_content ") , number_literal ))) ;))) (expression_statement "puVar25 = (uint *)addend_str;" (assignment_expression "puVar25 = (uint *)addend_str" identifier = (cast_expression "(uint *)addend_str" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n              puVar24 = puVar25;\n              uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n              uVar11 = uVar10 & 0x80808080;\n              puVar25 = puVar24 + 1;\n            } while (uVar11 == 0);" do (compound_statement "{\n              puVar24 = puVar25;\n              uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n              uVar11 = uVar10 & 0x80808080;\n              puVar25 = puVar24 + 1;\n            }" { (expression_statement "puVar24 = puVar25;" (assignment_expression "puVar24 = puVar25" identifier = identifier) ;) (expression_statement "uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;" (assignment_expression "uVar10 = *puVar24 + 0xfefefeff & ~*puVar24" identifier = (binary_expression "*puVar24 + 0xfefefeff & ~*puVar24" (binary_expression "*puVar24 + 0xfefefeff" (pointer_expression "*puVar24" * identifier) + number_literal) & (unary_expression "~*puVar24" ~ (pointer_expression "*puVar24" * identifier)))) ;) (expression_statement "uVar11 = uVar10 & 0x80808080;" (assignment_expression "uVar11 = uVar10 & 0x80808080" identifier = (binary_expression "uVar10 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar25 = puVar24 + 1;" (assignment_expression "puVar25 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) ;) (expression_statement "bVar34 = (uVar10 & 0x8080) == 0;" (assignment_expression "bVar34 = (uVar10 & 0x8080) == 0" identifier = (binary_expression "(uVar10 & 0x8080) == 0" (parenthesized_expression "(uVar10 & 0x8080)" ( (binary_expression "uVar10 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar34) {\n              uVar11 = uVar11 >> 0x10;\n            }" if (parenthesized_expression "(bVar34)" ( identifier )) (compound_statement "{\n              uVar11 = uVar11 >> 0x10;\n            }" { (expression_statement "uVar11 = uVar11 >> 0x10;" (assignment_expression "uVar11 = uVar11 >> 0x10" identifier = (binary_expression "uVar11 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar34) {\n              puVar25 = (uint *)((long)puVar24 + 6);\n            }" if (parenthesized_expression "(bVar34)" ( identifier )) (compound_statement "{\n              puVar25 = (uint *)((long)puVar24 + 6);\n            }" { (expression_statement "puVar25 = (uint *)((long)puVar24 + 6);" (assignment_expression "puVar25 = (uint *)((long)puVar24 + 6)" identifier = (cast_expression "(uint *)((long)puVar24 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar24 + 6)" ( (binary_expression "(long)puVar24 + 6" (cast_expression "(long)puVar24" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (expression_statement "pcVar22 = (char *)((long)puVar25 +\n                              ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str));" (assignment_expression "pcVar22 = (char *)((long)puVar25 +\n                              ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str))" identifier = (cast_expression "(char *)((long)puVar25 +\n                              ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar25 +\n                              ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str))" ( (binary_expression "(long)puVar25 +\n                              ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)" (cast_expression "(long)puVar25" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)" ( (binary_expression "(-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar11,(byte)uVar11)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar11,(byte)uVar11)" identifier (argument_list "((byte)uVar11,(byte)uVar11)" ( (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(long)addend_str" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) )))) ;) (if_statement "if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }" if (parenthesized_expression "((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)" ( (binary_expression "(char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22" (cast_expression "(char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length)" ( (binary_expression "0x7fffffffffffffff - __return_storage_ptr__->_M_string_length" number_literal - (field_expression "__return_storage_ptr__->_M_string_length" identifier -> field_identifier)) ))) < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }" { comment (labeled_statement "std::__throw_length_error("basic_string::append");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_length_error("basic_string::append");" (call_expression "__throw_length_error("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;)) })) (labeled_statement "std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);" statement_identifier : (ERROR ":" :) (expression_statement "_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);" (call_expression "_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22)" identifier (argument_list "((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22)" ( (cast_expression "(string *)__return_storage_ptr__" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (cast_expression "(ulong)pcVar22" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;))) (if_statement "if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }" if (parenthesized_expression "(__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff)" ( (binary_expression "__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff" (field_expression "__return_storage_ptr__->_M_string_length" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              std::__throw_length_error("basic_string::append");\n            }" { comment (labeled_statement "std::__throw_length_error("basic_string::append");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_length_error("basic_string::append");" (call_expression "__throw_length_error("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;)) })) (goto_statement "goto LAB_0019d1b1;" goto statement_identifier ;) })) }) (else_clause "else {\n          iVar12 = std::\n                   _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&symtab->icf_->section_id_,&reloc_secn);\n          if (puVar33 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (iVar12.\n                super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                ._M_cur != (__node_type *)0x0) {\n              if (num_tracked_relocs != (uint *)0x0) {\n                *num_tracked_relocs = *num_tracked_relocs + 1;\n              }\n              snprintf(kept_section_str,10,"%u",\n                       (ulong)(kept_section_id->\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>).\n                              _M_impl._M_start\n                              [*(uint *)((long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                                               ._M_cur + 0x18)]);\n              puVar25 = (uint *)kept_section_str;\n              if (first_iteration) {\n                if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 5) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,"ICF_R",5);\n                puVar25 = (uint *)addend_str;\n                do {\n                  puVar24 = puVar25;\n                  uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                  uVar11 = uVar10 & 0x80808080;\n                  puVar25 = puVar24 + 1;\n                } while (uVar11 == 0);\n                bVar34 = (uVar10 & 0x8080) == 0;\n                if (bVar34) {\n                  uVar11 = uVar11 >> 0x10;\n                }\n                if (bVar34) {\n                  puVar25 = (uint *)((long)puVar24 + 6);\n                }\n                pcVar22 = (char *)((long)puVar25 +\n                                  ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                  (long)addend_str));\n                if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) <\n                    pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n                puVar25 = (uint *)kept_section_str;\n              }\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,addend_str,(ulong)pcVar22);\n              if (icf_reloc_buffer._M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,"@",1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar33[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar33 + 3) != 0 || ((*(byte *)((long)puVar33 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar33 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar33 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            pGVar8 = parameters->options_;\n            if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((pGVar8->shared_).value == false) goto LAB_0019cc40;\n            bVar9 = Version_script_info::get_symbol_version\n                              (&(pGVar8->dynamic_list_).version_script_info_,(char *)*puVar33,\n                               (string *)0x0,&is_global);\n            if ((!bVar9) || (is_global != false)) {\n              pGVar8 = parameters->options_;\n              if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if (((pGVar8->Bsymbolic_).value != false) ||\n                 (((*(byte *)(puVar33 + 7) & 0xf) != 1 &&\n                  ((pGVar8->Bsymbolic_functions_).value != false)))) goto LAB_0019cc40;\n            }\n          }\n          if (first_iteration) {\n            uVar13 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x11]._M_nxt)\n                               (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n            if ((uVar13 & 0x10) != 0) {\n              if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              if (parameters->target_->pti_->can_icf_inline_merge_sections != false) {\n                uVar21 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x12]._M_nxt)\n                                   (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n                lVar31 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n                if (bVar34) {\n                  if (8 < *(uint *)((long)&p_Var5->_M_nxt + lVar28)) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  psVar16 = (string *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4))\n                            )(local_f8 + *(long *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n                  return psVar16;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                puVar18 = Object::section_contents\n                                    ((Object *)p_Var27->_M_nxt,*(uint *)&p_Var27[1]._M_nxt,\n                                     (section_size_type *)kept_section_str,false);\n                __s = (int *)(puVar18 + lVar31);\n                if ((long)kept_section_str._0_8_ <= lVar31) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar13 & 0x20) == 0) {\n                  if ((ulong)kept_section_str._0_8_ < lVar31 + uVar21) {\n                    uVar21 = kept_section_str._0_8_ - lVar31;\n                  }\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\nLAB_0019d597:\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,uVar21);\n                }\n                else {\n                  if (uVar21 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar21 = 0;\n                    }\n                    else {\n                      uVar13 = 0;\n                      do {\n                        uVar11 = (int)uVar13 + 1;\n                        uVar13 = (ulong)uVar11;\n                      } while (*(short *)((long)__s + uVar13 * 2) != 0);\n                      uVar21 = (ulong)(uVar11 * 2);\n                      if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                        std::__throw_length_error("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar13 = 0;\n                    do {\n                      uVar11 = (int)uVar13 + 1;\n                      uVar13 = (ulong)uVar11;\n                    } while (__s[uVar13] != 0);\n                    uVar21 = (ulong)(uVar11 * 4);\n                    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                      std::__throw_length_error("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar14 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,sVar14);\n                }\n                if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar33 == (undefined8 *)0x0) {\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,(char *)p_Var27->_M_nxt[1]._M_nxt,\n                         (ulong)p_Var27->_M_nxt[2]._M_nxt);\n              snprintf(kept_section_str,10,"%u",(ulong)*(uint *)&p_Var27[1]._M_nxt);\n              puVar25 = (uint *)kept_section_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            else {\n              pcVar22 = (char *)*puVar33;\n              sVar14 = strlen(pcVar22);\n              if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,pcVar22,sVar14);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }" else (compound_statement "{\n          iVar12 = std::\n                   _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&symtab->icf_->section_id_,&reloc_secn);\n          if (puVar33 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (iVar12.\n                super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                ._M_cur != (__node_type *)0x0) {\n              if (num_tracked_relocs != (uint *)0x0) {\n                *num_tracked_relocs = *num_tracked_relocs + 1;\n              }\n              snprintf(kept_section_str,10,"%u",\n                       (ulong)(kept_section_id->\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>).\n                              _M_impl._M_start\n                              [*(uint *)((long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                                               ._M_cur + 0x18)]);\n              puVar25 = (uint *)kept_section_str;\n              if (first_iteration) {\n                if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 5) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,"ICF_R",5);\n                puVar25 = (uint *)addend_str;\n                do {\n                  puVar24 = puVar25;\n                  uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                  uVar11 = uVar10 & 0x80808080;\n                  puVar25 = puVar24 + 1;\n                } while (uVar11 == 0);\n                bVar34 = (uVar10 & 0x8080) == 0;\n                if (bVar34) {\n                  uVar11 = uVar11 >> 0x10;\n                }\n                if (bVar34) {\n                  puVar25 = (uint *)((long)puVar24 + 6);\n                }\n                pcVar22 = (char *)((long)puVar25 +\n                                  ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                  (long)addend_str));\n                if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) <\n                    pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n                puVar25 = (uint *)kept_section_str;\n              }\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,addend_str,(ulong)pcVar22);\n              if (icf_reloc_buffer._M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,"@",1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar33[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar33 + 3) != 0 || ((*(byte *)((long)puVar33 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar33 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar33 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            pGVar8 = parameters->options_;\n            if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((pGVar8->shared_).value == false) goto LAB_0019cc40;\n            bVar9 = Version_script_info::get_symbol_version\n                              (&(pGVar8->dynamic_list_).version_script_info_,(char *)*puVar33,\n                               (string *)0x0,&is_global);\n            if ((!bVar9) || (is_global != false)) {\n              pGVar8 = parameters->options_;\n              if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if (((pGVar8->Bsymbolic_).value != false) ||\n                 (((*(byte *)(puVar33 + 7) & 0xf) != 1 &&\n                  ((pGVar8->Bsymbolic_functions_).value != false)))) goto LAB_0019cc40;\n            }\n          }\n          if (first_iteration) {\n            uVar13 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x11]._M_nxt)\n                               (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n            if ((uVar13 & 0x10) != 0) {\n              if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              if (parameters->target_->pti_->can_icf_inline_merge_sections != false) {\n                uVar21 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x12]._M_nxt)\n                                   (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n                lVar31 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n                if (bVar34) {\n                  if (8 < *(uint *)((long)&p_Var5->_M_nxt + lVar28)) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  psVar16 = (string *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4))\n                            )(local_f8 + *(long *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n                  return psVar16;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                puVar18 = Object::section_contents\n                                    ((Object *)p_Var27->_M_nxt,*(uint *)&p_Var27[1]._M_nxt,\n                                     (section_size_type *)kept_section_str,false);\n                __s = (int *)(puVar18 + lVar31);\n                if ((long)kept_section_str._0_8_ <= lVar31) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar13 & 0x20) == 0) {\n                  if ((ulong)kept_section_str._0_8_ < lVar31 + uVar21) {\n                    uVar21 = kept_section_str._0_8_ - lVar31;\n                  }\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\nLAB_0019d597:\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,uVar21);\n                }\n                else {\n                  if (uVar21 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar21 = 0;\n                    }\n                    else {\n                      uVar13 = 0;\n                      do {\n                        uVar11 = (int)uVar13 + 1;\n                        uVar13 = (ulong)uVar11;\n                      } while (*(short *)((long)__s + uVar13 * 2) != 0);\n                      uVar21 = (ulong)(uVar11 * 2);\n                      if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                        std::__throw_length_error("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar13 = 0;\n                    do {\n                      uVar11 = (int)uVar13 + 1;\n                      uVar13 = (ulong)uVar11;\n                    } while (__s[uVar13] != 0);\n                    uVar21 = (ulong)(uVar11 * 4);\n                    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                      std::__throw_length_error("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar14 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,sVar14);\n                }\n                if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar33 == (undefined8 *)0x0) {\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,(char *)p_Var27->_M_nxt[1]._M_nxt,\n                         (ulong)p_Var27->_M_nxt[2]._M_nxt);\n              snprintf(kept_section_str,10,"%u",(ulong)*(uint *)&p_Var27[1]._M_nxt);\n              puVar25 = (uint *)kept_section_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            else {\n              pcVar22 = (char *)*puVar33;\n              sVar14 = strlen(pcVar22);\n              if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,pcVar22,sVar14);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }" { (ERROR "iVar12 = std::\n                   _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::" (assignment_expression "iVar12 = std" identifier = identifier) : : (binary_expression "_Hashtable<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_std" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_unsigned_int>,_std" (binary_expression "Relobj*,_unsigned_int>,_unsigned_int" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_unsigned_int>_>,_std" (binary_expression "Relobj*,_unsigned_int>,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int>,_unsigned_int" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold" identifier (ERROR "::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>" : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , (binary_expression "_unsigned_int>_" identifier > identifier) >) , identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&symtab->icf_->section_id_,&reloc_secn);" 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                   ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&symtab->icf_->section_id_,&reloc_secn);" 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                   ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&symtab->icf_->section_id_,&reloc_secn);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_false,_true>_>\n                   ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&symtab->icf_->section_id_,&reloc_secn);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_false,_true>_>\n                   ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&symtab->icf_->section_id_,&reloc_secn);" (comma_expression "_Hashtable_traits<true,_false,_true>_>\n                   ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&symtab->icf_->section_id_,&reloc_secn)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n                   ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&symtab->icf_->section_id_,&reloc_secn)" identifier , (binary_expression "_true>_>\n                   ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&symtab->icf_->section_id_,&reloc_secn)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&symtab->icf_->section_id_,&reloc_secn)" identifier (argument_list "((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&symtab->icf_->section_id_,&reloc_secn)" ( (binary_expression "(_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&symtab->icf_->section_id_" (parenthesized_expression "(_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)" ( (ERROR "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) (ERROR "::__detail::_Select1st" : : identifier : : identifier) , identifier) : : identifier < identifier : : identifier < identifier : : identifier * , (binary_expression "_unsigned_int>_>,_gold" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<true,_false,_true>_>\n                           *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n                           *" identifier , (binary_expression "_true>_>\n                           *" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*" * identifier)))) )) & (field_expression "symtab->icf_->section_id_" (field_expression "symtab->icf_" identifier -> field_identifier) -> field_identifier)) , (pointer_expression "&reloc_secn" & identifier) )))))) ;))))) (if_statement "if (puVar33 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (iVar12.\n                super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                ._M_cur != (__node_type *)0x0) {\n              if (num_tracked_relocs != (uint *)0x0) {\n                *num_tracked_relocs = *num_tracked_relocs + 1;\n              }\n              snprintf(kept_section_str,10,"%u",\n                       (ulong)(kept_section_id->\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>).\n                              _M_impl._M_start\n                              [*(uint *)((long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                                               ._M_cur + 0x18)]);\n              puVar25 = (uint *)kept_section_str;\n              if (first_iteration) {\n                if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 5) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,"ICF_R",5);\n                puVar25 = (uint *)addend_str;\n                do {\n                  puVar24 = puVar25;\n                  uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                  uVar11 = uVar10 & 0x80808080;\n                  puVar25 = puVar24 + 1;\n                } while (uVar11 == 0);\n                bVar34 = (uVar10 & 0x8080) == 0;\n                if (bVar34) {\n                  uVar11 = uVar11 >> 0x10;\n                }\n                if (bVar34) {\n                  puVar25 = (uint *)((long)puVar24 + 6);\n                }\n                pcVar22 = (char *)((long)puVar25 +\n                                  ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                  (long)addend_str));\n                if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) <\n                    pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n                puVar25 = (uint *)kept_section_str;\n              }\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,addend_str,(ulong)pcVar22);\n              if (icf_reloc_buffer._M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,"@",1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar33[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar33 + 3) != 0 || ((*(byte *)((long)puVar33 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar33 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar33 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            pGVar8 = parameters->options_;\n            if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((pGVar8->shared_).value == false) goto LAB_0019cc40;\n            bVar9 = Version_script_info::get_symbol_version\n                              (&(pGVar8->dynamic_list_).version_script_info_,(char *)*puVar33,\n                               (string *)0x0,&is_global);\n            if ((!bVar9) || (is_global != false)) {\n              pGVar8 = parameters->options_;\n              if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if (((pGVar8->Bsymbolic_).value != false) ||\n                 (((*(byte *)(puVar33 + 7) & 0xf) != 1 &&\n                  ((pGVar8->Bsymbolic_functions_).value != false)))) goto LAB_0019cc40;\n            }\n          }" if (parenthesized_expression "(puVar33 == (undefined8 *)0x0)" ( (binary_expression "puVar33 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0019cc40:\n            if (iVar12.\n                super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                ._M_cur != (__node_type *)0x0) {\n              if (num_tracked_relocs != (uint *)0x0) {\n                *num_tracked_relocs = *num_tracked_relocs + 1;\n              }\n              snprintf(kept_section_str,10,"%u",\n                       (ulong)(kept_section_id->\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>).\n                              _M_impl._M_start\n                              [*(uint *)((long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                                               ._M_cur + 0x18)]);\n              puVar25 = (uint *)kept_section_str;\n              if (first_iteration) {\n                if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 5) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,"ICF_R",5);\n                puVar25 = (uint *)addend_str;\n                do {\n                  puVar24 = puVar25;\n                  uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                  uVar11 = uVar10 & 0x80808080;\n                  puVar25 = puVar24 + 1;\n                } while (uVar11 == 0);\n                bVar34 = (uVar10 & 0x8080) == 0;\n                if (bVar34) {\n                  uVar11 = uVar11 >> 0x10;\n                }\n                if (bVar34) {\n                  puVar25 = (uint *)((long)puVar24 + 6);\n                }\n                pcVar22 = (char *)((long)puVar25 +\n                                  ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                  (long)addend_str));\n                if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) <\n                    pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n                puVar25 = (uint *)kept_section_str;\n              }\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,addend_str,(ulong)pcVar22);\n              if (icf_reloc_buffer._M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,"@",1);\n              goto LAB_0019ce15;\n            }\n          }" { (labeled_statement "LAB_0019cc40:\n            if (iVar12.\n                super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                ._M_cur != (__node_type *)0x0) {\n              if (num_tracked_relocs != (uint *)0x0) {\n                *num_tracked_relocs = *num_tracked_relocs + 1;\n              }\n              snprintf(kept_section_str,10,"%u",\n                       (ulong)(kept_section_id->\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>).\n                              _M_impl._M_start\n                              [*(uint *)((long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                                               ._M_cur + 0x18)]);\n              puVar25 = (uint *)kept_section_str;\n              if (first_iteration) {\n                if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 5) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,"ICF_R",5);\n                puVar25 = (uint *)addend_str;\n                do {\n                  puVar24 = puVar25;\n                  uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                  uVar11 = uVar10 & 0x80808080;\n                  puVar25 = puVar24 + 1;\n                } while (uVar11 == 0);\n                bVar34 = (uVar10 & 0x8080) == 0;\n                if (bVar34) {\n                  uVar11 = uVar11 >> 0x10;\n                }\n                if (bVar34) {\n                  puVar25 = (uint *)((long)puVar24 + 6);\n                }\n                pcVar22 = (char *)((long)puVar25 +\n                                  ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                  (long)addend_str));\n                if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) <\n                    pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n                puVar25 = (uint *)kept_section_str;\n              }\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,addend_str,(ulong)pcVar22);\n              if (icf_reloc_buffer._M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,"@",1);\n              goto LAB_0019ce15;\n            }" statement_identifier : (if_statement "if (iVar12.\n                super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                ._M_cur != (__node_type *)0x0) {\n              if (num_tracked_relocs != (uint *)0x0) {\n                *num_tracked_relocs = *num_tracked_relocs + 1;\n              }\n              snprintf(kept_section_str,10,"%u",\n                       (ulong)(kept_section_id->\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>).\n                              _M_impl._M_start\n                              [*(uint *)((long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                                               ._M_cur + 0x18)]);\n              puVar25 = (uint *)kept_section_str;\n              if (first_iteration) {\n                if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 5) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,"ICF_R",5);\n                puVar25 = (uint *)addend_str;\n                do {\n                  puVar24 = puVar25;\n                  uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                  uVar11 = uVar10 & 0x80808080;\n                  puVar25 = puVar24 + 1;\n                } while (uVar11 == 0);\n                bVar34 = (uVar10 & 0x8080) == 0;\n                if (bVar34) {\n                  uVar11 = uVar11 >> 0x10;\n                }\n                if (bVar34) {\n                  puVar25 = (uint *)((long)puVar24 + 6);\n                }\n                pcVar22 = (char *)((long)puVar25 +\n                                  ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                  (long)addend_str));\n                if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) <\n                    pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n                puVar25 = (uint *)kept_section_str;\n              }\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,addend_str,(ulong)pcVar22);\n              if (icf_reloc_buffer._M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,"@",1);\n              goto LAB_0019ce15;\n            }" if (parenthesized_expression "(iVar12.\n                super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                ._M_cur != (__node_type *)0x0)" ( (binary_expression "iVar12.\n                super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                ._M_cur != (__node_type *)0x0" (field_expression "iVar12.\n                super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                ._M_cur" (binary_expression "iVar12.\n                super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true" (binary_expression "iVar12.\n                super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int" (binary_expression "iVar12.\n                super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "iVar12.\n                super__Node_iterator_base<std::pair<const_std::pair<gold" (binary_expression "iVar12.\n                super__Node_iterator_base<std::pair<const_std" (binary_expression "iVar12.\n                super__Node_iterator_base<std" (field_expression "iVar12.\n                super__Node_iterator_base" identifier . field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR ">" >) . field_identifier) != (cast_expression "(__node_type *)0x0" ( (type_descriptor "__node_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              if (num_tracked_relocs != (uint *)0x0) {\n                *num_tracked_relocs = *num_tracked_relocs + 1;\n              }\n              snprintf(kept_section_str,10,"%u",\n                       (ulong)(kept_section_id->\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>).\n                              _M_impl._M_start\n                              [*(uint *)((long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                                               ._M_cur + 0x18)]);\n              puVar25 = (uint *)kept_section_str;\n              if (first_iteration) {\n                if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 5) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,"ICF_R",5);\n                puVar25 = (uint *)addend_str;\n                do {\n                  puVar24 = puVar25;\n                  uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                  uVar11 = uVar10 & 0x80808080;\n                  puVar25 = puVar24 + 1;\n                } while (uVar11 == 0);\n                bVar34 = (uVar10 & 0x8080) == 0;\n                if (bVar34) {\n                  uVar11 = uVar11 >> 0x10;\n                }\n                if (bVar34) {\n                  puVar25 = (uint *)((long)puVar24 + 6);\n                }\n                pcVar22 = (char *)((long)puVar25 +\n                                  ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                  (long)addend_str));\n                if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) <\n                    pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n                puVar25 = (uint *)kept_section_str;\n              }\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,addend_str,(ulong)pcVar22);\n              if (icf_reloc_buffer._M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)&icf_reloc_buffer,"@",1);\n              goto LAB_0019ce15;\n            }" { (if_statement "if (num_tracked_relocs != (uint *)0x0) {\n                *num_tracked_relocs = *num_tracked_relocs + 1;\n              }" if (parenthesized_expression "(num_tracked_relocs != (uint *)0x0)" ( (binary_expression "num_tracked_relocs != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                *num_tracked_relocs = *num_tracked_relocs + 1;\n              }" { (expression_statement "*num_tracked_relocs = *num_tracked_relocs + 1;" (assignment_expression "*num_tracked_relocs = *num_tracked_relocs + 1" (pointer_expression "*num_tracked_relocs" * identifier) = (binary_expression "*num_tracked_relocs + 1" (pointer_expression "*num_tracked_relocs" * identifier) + number_literal)) ;) })) (expression_statement "snprintf(kept_section_str,10,"%u",\n                       (ulong)(kept_section_id->\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>).\n                              _M_impl._M_start\n                              [*(uint *)((long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                                               ._M_cur + 0x18)]);" (call_expression "snprintf(kept_section_str,10,"%u",\n                       (ulong)(kept_section_id->\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>).\n                              _M_impl._M_start\n                              [*(uint *)((long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                                               ._M_cur + 0x18)])" identifier (argument_list "(kept_section_str,10,"%u",\n                       (ulong)(kept_section_id->\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>).\n                              _M_impl._M_start\n                              [*(uint *)((long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                                               ._M_cur + 0x18)])" ( identifier , number_literal , (string_literal ""%u"" " string_content ") , (subscript_expression "(ulong)(kept_section_id->\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>).\n                              _M_impl._M_start\n                              [*(uint *)((long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                                               ._M_cur + 0x18)]" (field_expression "(ulong)(kept_section_id->\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>).\n                              _M_impl._M_start" (field_expression "(ulong)(kept_section_id->\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>).\n                              _M_impl" (call_expression "(ulong)(kept_section_id->\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(kept_section_id->\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>)" ( (binary_expression "kept_section_id->\n                              super__Vector_base<unsigned_int" (field_expression "kept_section_id->\n                              super__Vector_base" identifier -> field_identifier) < identifier) , (ERROR "_std::" identifier : :) (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) ))) . field_identifier) . field_identifier) [ (pointer_expression "*(uint *)((long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                                               ._M_cur + 0x18)" * (cast_expression "(uint *)((long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                                               ._M_cur + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                                               ._M_cur + 0x18)" ( (binary_expression "(long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                                               ._M_cur + 0x18" (field_expression "(long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>\n                                               ._M_cur" (binary_expression "(long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true" (binary_expression "(long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int" (binary_expression "(long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "(long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std::pair<gold" (binary_expression "(long)iVar12.\n                                               super__Node_iterator_base<std::pair<const_std" (binary_expression "(long)iVar12.\n                                               super__Node_iterator_base<std" (cast_expression "(long)iVar12.\n                                               super__Node_iterator_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "iVar12.\n                                               super__Node_iterator_base" identifier . field_identifier)) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR ">" >) . field_identifier) + number_literal) )))) ]) ))) ;) (expression_statement "puVar25 = (uint *)kept_section_str;" (assignment_expression "puVar25 = (uint *)kept_section_str" identifier = (cast_expression "(uint *)kept_section_str" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (first_iteration) {\n                if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 5) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,"ICF_R",5);\n                puVar25 = (uint *)addend_str;\n                do {\n                  puVar24 = puVar25;\n                  uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                  uVar11 = uVar10 & 0x80808080;\n                  puVar25 = puVar24 + 1;\n                } while (uVar11 == 0);\n                bVar34 = (uVar10 & 0x8080) == 0;\n                if (bVar34) {\n                  uVar11 = uVar11 >> 0x10;\n                }\n                if (bVar34) {\n                  puVar25 = (uint *)((long)puVar24 + 6);\n                }\n                pcVar22 = (char *)((long)puVar25 +\n                                  ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                  (long)addend_str));\n                if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) <\n                    pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n                puVar25 = (uint *)kept_section_str;\n              }" if (parenthesized_expression "(first_iteration)" ( identifier )) (compound_statement "{\n                if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 5) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,"ICF_R",5);\n                puVar25 = (uint *)addend_str;\n                do {\n                  puVar24 = puVar25;\n                  uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                  uVar11 = uVar10 & 0x80808080;\n                  puVar25 = puVar24 + 1;\n                } while (uVar11 == 0);\n                bVar34 = (uVar10 & 0x8080) == 0;\n                if (bVar34) {\n                  uVar11 = uVar11 >> 0x10;\n                }\n                if (bVar34) {\n                  puVar25 = (uint *)((long)puVar24 + 6);\n                }\n                pcVar22 = (char *)((long)puVar25 +\n                                  ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                  (long)addend_str));\n                if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) <\n                    pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n                puVar25 = (uint *)kept_section_str;\n              }" { (if_statement "if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 5) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }" if (parenthesized_expression "(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 5)" ( (binary_expression "0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 5" (binary_expression "0x7fffffffffffffff - __return_storage_ptr__->_M_string_length" number_literal - (field_expression "__return_storage_ptr__->_M_string_length" identifier -> field_identifier)) < number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }" { comment (labeled_statement "std::__throw_length_error("basic_string::append");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_length_error("basic_string::append");" (call_expression "__throw_length_error("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;)) })) (labeled_statement "std::string::_M_append((string *)__return_storage_ptr__,"ICF_R",5);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_append((string *)__return_storage_ptr__,"ICF_R",5);" statement_identifier : (ERROR ":" :) (expression_statement "_M_append((string *)__return_storage_ptr__,"ICF_R",5);" (call_expression "_M_append((string *)__return_storage_ptr__,"ICF_R",5)" identifier (argument_list "((string *)__return_storage_ptr__,"ICF_R",5)" ( (cast_expression "(string *)__return_storage_ptr__" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""ICF_R"" " string_content ") , number_literal ))) ;))) (expression_statement "puVar25 = (uint *)addend_str;" (assignment_expression "puVar25 = (uint *)addend_str" identifier = (cast_expression "(uint *)addend_str" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n                  puVar24 = puVar25;\n                  uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                  uVar11 = uVar10 & 0x80808080;\n                  puVar25 = puVar24 + 1;\n                } while (uVar11 == 0);" do (compound_statement "{\n                  puVar24 = puVar25;\n                  uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                  uVar11 = uVar10 & 0x80808080;\n                  puVar25 = puVar24 + 1;\n                }" { (expression_statement "puVar24 = puVar25;" (assignment_expression "puVar24 = puVar25" identifier = identifier) ;) (expression_statement "uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;" (assignment_expression "uVar10 = *puVar24 + 0xfefefeff & ~*puVar24" identifier = (binary_expression "*puVar24 + 0xfefefeff & ~*puVar24" (binary_expression "*puVar24 + 0xfefefeff" (pointer_expression "*puVar24" * identifier) + number_literal) & (unary_expression "~*puVar24" ~ (pointer_expression "*puVar24" * identifier)))) ;) (expression_statement "uVar11 = uVar10 & 0x80808080;" (assignment_expression "uVar11 = uVar10 & 0x80808080" identifier = (binary_expression "uVar10 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar25 = puVar24 + 1;" (assignment_expression "puVar25 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) ;) (expression_statement "bVar34 = (uVar10 & 0x8080) == 0;" (assignment_expression "bVar34 = (uVar10 & 0x8080) == 0" identifier = (binary_expression "(uVar10 & 0x8080) == 0" (parenthesized_expression "(uVar10 & 0x8080)" ( (binary_expression "uVar10 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar34) {\n                  uVar11 = uVar11 >> 0x10;\n                }" if (parenthesized_expression "(bVar34)" ( identifier )) (compound_statement "{\n                  uVar11 = uVar11 >> 0x10;\n                }" { (expression_statement "uVar11 = uVar11 >> 0x10;" (assignment_expression "uVar11 = uVar11 >> 0x10" identifier = (binary_expression "uVar11 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar34) {\n                  puVar25 = (uint *)((long)puVar24 + 6);\n                }" if (parenthesized_expression "(bVar34)" ( identifier )) (compound_statement "{\n                  puVar25 = (uint *)((long)puVar24 + 6);\n                }" { (expression_statement "puVar25 = (uint *)((long)puVar24 + 6);" (assignment_expression "puVar25 = (uint *)((long)puVar24 + 6)" identifier = (cast_expression "(uint *)((long)puVar24 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar24 + 6)" ( (binary_expression "(long)puVar24 + 6" (cast_expression "(long)puVar24" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (expression_statement "pcVar22 = (char *)((long)puVar25 +\n                                  ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                  (long)addend_str));" (assignment_expression "pcVar22 = (char *)((long)puVar25 +\n                                  ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                  (long)addend_str))" identifier = (cast_expression "(char *)((long)puVar25 +\n                                  ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                  (long)addend_str))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar25 +\n                                  ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                  (long)addend_str))" ( (binary_expression "(long)puVar25 +\n                                  ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                  (long)addend_str)" (cast_expression "(long)puVar25" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                  (long)addend_str)" ( (binary_expression "(-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                  (long)addend_str" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar11,(byte)uVar11)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar11,(byte)uVar11)" identifier (argument_list "((byte)uVar11,(byte)uVar11)" ( (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(long)addend_str" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) )))) ;) (if_statement "if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) <\n                    pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }" if (parenthesized_expression "((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) <\n                    pcVar22)" ( (binary_expression "(char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) <\n                    pcVar22" (cast_expression "(char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length)" ( (binary_expression "0x7fffffffffffffff - __return_storage_ptr__->_M_string_length" number_literal - (field_expression "__return_storage_ptr__->_M_string_length" identifier -> field_identifier)) ))) < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }" { comment (labeled_statement "std::__throw_length_error("basic_string::append");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_length_error("basic_string::append");" (call_expression "__throw_length_error("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;)) })) (labeled_statement "std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);" statement_identifier : (ERROR ":" :) (expression_statement "_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);" (call_expression "_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22)" identifier (argument_list "((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22)" ( (cast_expression "(string *)__return_storage_ptr__" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (cast_expression "(ulong)pcVar22" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;))) (expression_statement "puVar25 = (uint *)kept_section_str;" (assignment_expression "puVar25 = (uint *)kept_section_str" identifier = (cast_expression "(uint *)kept_section_str" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (do_statement "do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);" do (compound_statement "{\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              }" { (expression_statement "puVar24 = puVar25;" (assignment_expression "puVar24 = puVar25" identifier = identifier) ;) (expression_statement "uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;" (assignment_expression "uVar10 = *puVar24 + 0xfefefeff & ~*puVar24" identifier = (binary_expression "*puVar24 + 0xfefefeff & ~*puVar24" (binary_expression "*puVar24 + 0xfefefeff" (pointer_expression "*puVar24" * identifier) + number_literal) & (unary_expression "~*puVar24" ~ (pointer_expression "*puVar24" * identifier)))) ;) (expression_statement "uVar11 = uVar10 & 0x80808080;" (assignment_expression "uVar11 = uVar10 & 0x80808080" identifier = (binary_expression "uVar10 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar25 = puVar24 + 1;" (assignment_expression "puVar25 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) ;) (expression_statement "bVar34 = (uVar10 & 0x8080) == 0;" (assignment_expression "bVar34 = (uVar10 & 0x8080) == 0" identifier = (binary_expression "(uVar10 & 0x8080) == 0" (parenthesized_expression "(uVar10 & 0x8080)" ( (binary_expression "uVar10 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }" if (parenthesized_expression "(bVar34)" ( identifier )) (compound_statement "{\n                uVar11 = uVar11 >> 0x10;\n              }" { (expression_statement "uVar11 = uVar11 >> 0x10;" (assignment_expression "uVar11 = uVar11 >> 0x10" identifier = (binary_expression "uVar11 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }" if (parenthesized_expression "(bVar34)" ( identifier )) (compound_statement "{\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }" { (expression_statement "puVar25 = (uint *)((long)puVar24 + 6);" (assignment_expression "puVar25 = (uint *)((long)puVar24 + 6)" identifier = (cast_expression "(uint *)((long)puVar24 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar24 + 6)" ( (binary_expression "(long)puVar24 + 6" (cast_expression "(long)puVar24" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (expression_statement "pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));" (assignment_expression "pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str))" identifier = (cast_expression "(char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str))" ( (binary_expression "(long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str)" (cast_expression "(long)puVar25" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str)" ( (binary_expression "(-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar11,(byte)uVar11)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar11,(byte)uVar11)" identifier (argument_list "((byte)uVar11,(byte)uVar11)" ( (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(long)kept_section_str" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) )))) ;) (if_statement "if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }" if (parenthesized_expression "((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22)" ( (binary_expression "(char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22" (cast_expression "(char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(0x7fffffffffffffff - icf_reloc_buffer._M_string_length)" ( (binary_expression "0x7fffffffffffffff - icf_reloc_buffer._M_string_length" number_literal - (field_expression "icf_reloc_buffer._M_string_length" identifier . field_identifier)) ))) < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }" { comment (labeled_statement "std::__throw_length_error("basic_string::append");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_length_error("basic_string::append");" (call_expression "__throw_length_error("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;)) })) (labeled_statement "std::string::_M_append((string *)&icf_reloc_buffer,kept_section_str,(ulong)pcVar22);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_append((string *)&icf_reloc_buffer,kept_section_str,(ulong)pcVar22);" statement_identifier : (ERROR ":" :) (expression_statement "_M_append((string *)&icf_reloc_buffer,kept_section_str,(ulong)pcVar22);" (call_expression "_M_append((string *)&icf_reloc_buffer,kept_section_str,(ulong)pcVar22)" identifier (argument_list "((string *)&icf_reloc_buffer,kept_section_str,(ulong)pcVar22)" ( (cast_expression "(string *)&icf_reloc_buffer" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&icf_reloc_buffer" & identifier)) , identifier , (cast_expression "(ulong)pcVar22" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;))) (expression_statement "puVar25 = (uint *)addend_str;" (assignment_expression "puVar25 = (uint *)addend_str" identifier = (cast_expression "(uint *)addend_str" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);" do (compound_statement "{\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              }" { (expression_statement "puVar24 = puVar25;" (assignment_expression "puVar24 = puVar25" identifier = identifier) ;) (expression_statement "uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;" (assignment_expression "uVar10 = *puVar24 + 0xfefefeff & ~*puVar24" identifier = (binary_expression "*puVar24 + 0xfefefeff & ~*puVar24" (binary_expression "*puVar24 + 0xfefefeff" (pointer_expression "*puVar24" * identifier) + number_literal) & (unary_expression "~*puVar24" ~ (pointer_expression "*puVar24" * identifier)))) ;) (expression_statement "uVar11 = uVar10 & 0x80808080;" (assignment_expression "uVar11 = uVar10 & 0x80808080" identifier = (binary_expression "uVar10 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar25 = puVar24 + 1;" (assignment_expression "puVar25 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) ;) (expression_statement "bVar34 = (uVar10 & 0x8080) == 0;" (assignment_expression "bVar34 = (uVar10 & 0x8080) == 0" identifier = (binary_expression "(uVar10 & 0x8080) == 0" (parenthesized_expression "(uVar10 & 0x8080)" ( (binary_expression "uVar10 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }" if (parenthesized_expression "(bVar34)" ( identifier )) (compound_statement "{\n                uVar11 = uVar11 >> 0x10;\n              }" { (expression_statement "uVar11 = uVar11 >> 0x10;" (assignment_expression "uVar11 = uVar11 >> 0x10" identifier = (binary_expression "uVar11 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }" if (parenthesized_expression "(bVar34)" ( identifier )) (compound_statement "{\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }" { (expression_statement "puVar25 = (uint *)((long)puVar24 + 6);" (assignment_expression "puVar25 = (uint *)((long)puVar24 + 6)" identifier = (cast_expression "(uint *)((long)puVar24 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar24 + 6)" ( (binary_expression "(long)puVar24 + 6" (cast_expression "(long)puVar24" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (expression_statement "pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );" (assignment_expression "pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                )" identifier = (cast_expression "(char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                )" ( (binary_expression "(long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)" (cast_expression "(long)puVar25" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)" ( (binary_expression "(-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar11,(byte)uVar11)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar11,(byte)uVar11)" identifier (argument_list "((byte)uVar11,(byte)uVar11)" ( (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(long)addend_str" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) )))) ;) (if_statement "if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }" if (parenthesized_expression "((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22)" ( (binary_expression "(char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < pcVar22" (cast_expression "(char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(0x7fffffffffffffff - icf_reloc_buffer._M_string_length)" ( (binary_expression "0x7fffffffffffffff - icf_reloc_buffer._M_string_length" number_literal - (field_expression "icf_reloc_buffer._M_string_length" identifier . field_identifier)) ))) < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }" { comment (labeled_statement "std::__throw_length_error("basic_string::append");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_length_error("basic_string::append");" (call_expression "__throw_length_error("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;)) })) (labeled_statement "std::string::_M_append((string *)&icf_reloc_buffer,addend_str,(ulong)pcVar22);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_append((string *)&icf_reloc_buffer,addend_str,(ulong)pcVar22);" statement_identifier : (ERROR ":" :) (expression_statement "_M_append((string *)&icf_reloc_buffer,addend_str,(ulong)pcVar22);" (call_expression "_M_append((string *)&icf_reloc_buffer,addend_str,(ulong)pcVar22)" identifier (argument_list "((string *)&icf_reloc_buffer,addend_str,(ulong)pcVar22)" ( (cast_expression "(string *)&icf_reloc_buffer" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&icf_reloc_buffer" & identifier)) , identifier , (cast_expression "(ulong)pcVar22" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;))) (if_statement "if (icf_reloc_buffer._M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }" if (parenthesized_expression "(icf_reloc_buffer._M_string_length == 0x7fffffffffffffff)" ( (binary_expression "icf_reloc_buffer._M_string_length == 0x7fffffffffffffff" (field_expression "icf_reloc_buffer._M_string_length" identifier . field_identifier) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }" { comment (labeled_statement "std::__throw_length_error("basic_string::append");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_length_error("basic_string::append");" (call_expression "__throw_length_error("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;)) })) (labeled_statement "std::string::_M_append((string *)&icf_reloc_buffer,"@",1);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_append((string *)&icf_reloc_buffer,"@",1);" statement_identifier : (ERROR ":" :) (expression_statement "_M_append((string *)&icf_reloc_buffer,"@",1);" (call_expression "_M_append((string *)&icf_reloc_buffer,"@",1)" identifier (argument_list "((string *)&icf_reloc_buffer,"@",1)" ( (cast_expression "(string *)&icf_reloc_buffer" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&icf_reloc_buffer" & identifier)) , (string_literal ""@"" " string_content ") , number_literal ))) ;))) (goto_statement "goto LAB_0019ce15;" goto statement_identifier ;) }))) }) (else_clause "else {\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar33[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar33 + 3) != 0 || ((*(byte *)((long)puVar33 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar33 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar33 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            pGVar8 = parameters->options_;\n            if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((pGVar8->shared_).value == false) goto LAB_0019cc40;\n            bVar9 = Version_script_info::get_symbol_version\n                              (&(pGVar8->dynamic_list_).version_script_info_,(char *)*puVar33,\n                               (string *)0x0,&is_global);\n            if ((!bVar9) || (is_global != false)) {\n              pGVar8 = parameters->options_;\n              if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if (((pGVar8->Bsymbolic_).value != false) ||\n                 (((*(byte *)(puVar33 + 7) & 0xf) != 1 &&\n                  ((pGVar8->Bsymbolic_functions_).value != false)))) goto LAB_0019cc40;\n            }\n          }" else (compound_statement "{\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar33[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar33 + 3) != 0 || ((*(byte *)((long)puVar33 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar33 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar33 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            pGVar8 = parameters->options_;\n            if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((pGVar8->shared_).value == false) goto LAB_0019cc40;\n            bVar9 = Version_script_info::get_symbol_version\n                              (&(pGVar8->dynamic_list_).version_script_info_,(char *)*puVar33,\n                               (string *)0x0,&is_global);\n            if ((!bVar9) || (is_global != false)) {\n              pGVar8 = parameters->options_;\n              if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if (((pGVar8->Bsymbolic_).value != false) ||\n                 (((*(byte *)(puVar33 + 7) & 0xf) != 1 &&\n                  ((pGVar8->Bsymbolic_functions_).value != false)))) goto LAB_0019cc40;\n            }\n          }" { (if_statement "if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar33[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar33 + 3) != 0 || ((*(byte *)((long)puVar33 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }" if (parenthesized_expression "((*(byte *)((long)puVar33 + 0x3a) & 7) == 0)" ( (binary_expression "(*(byte *)((long)puVar33 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)((long)puVar33 + 0x3a) & 7)" ( (binary_expression "*(byte *)((long)puVar33 + 0x3a) & 7" (pointer_expression "*(byte *)((long)puVar33 + 0x3a)" * (cast_expression "(byte *)((long)puVar33 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar33 + 0x3a)" ( (binary_expression "(long)puVar33 + 0x3a" (cast_expression "(long)puVar33" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n              if (((*(byte *)(puVar33[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar33 + 3) != 0 || ((*(byte *)((long)puVar33 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }" { (if_statement "if (((*(byte *)(puVar33[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar33 + 3) != 0 || ((*(byte *)((long)puVar33 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;" if (parenthesized_expression "(((*(byte *)(puVar33[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar33 + 3) != 0 || ((*(byte *)((long)puVar33 + 0x3b) & 0x20) == 0))))" ( (binary_expression "((*(byte *)(puVar33[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar33 + 3) != 0 || ((*(byte *)((long)puVar33 + 0x3b) & 0x20) == 0)))" (parenthesized_expression "((*(byte *)(puVar33[2] + 0x3c) & 1) == 0)" ( (binary_expression "(*(byte *)(puVar33[2] + 0x3c) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar33[2] + 0x3c) & 1)" ( (binary_expression "*(byte *)(puVar33[2] + 0x3c) & 1" (pointer_expression "*(byte *)(puVar33[2] + 0x3c)" * (cast_expression "(byte *)(puVar33[2] + 0x3c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33[2] + 0x3c)" ( (binary_expression "puVar33[2] + 0x3c" (subscript_expression "puVar33[2]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(int *)(puVar33 + 3) != 0 || ((*(byte *)((long)puVar33 + 0x3b) & 0x20) == 0)))" ( (parenthesized_expression "(*(int *)(puVar33 + 3) != 0 || ((*(byte *)((long)puVar33 + 0x3b) & 0x20) == 0))" ( (binary_expression "*(int *)(puVar33 + 3) != 0 || ((*(byte *)((long)puVar33 + 0x3b) & 0x20) == 0)" (binary_expression "*(int *)(puVar33 + 3) != 0" (pointer_expression "*(int *)(puVar33 + 3)" * (cast_expression "(int *)(puVar33 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 3)" ( (binary_expression "puVar33 + 3" identifier + number_literal) )))) != number_literal) || (parenthesized_expression "((*(byte *)((long)puVar33 + 0x3b) & 0x20) == 0)" ( (binary_expression "(*(byte *)((long)puVar33 + 0x3b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((long)puVar33 + 0x3b) & 0x20)" ( (binary_expression "*(byte *)((long)puVar33 + 0x3b) & 0x20" (pointer_expression "*(byte *)((long)puVar33 + 0x3b)" * (cast_expression "(byte *)((long)puVar33 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar33 + 0x3b)" ( (binary_expression "(long)puVar33 + 0x3b" (cast_expression "(long)puVar33" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (goto_statement "goto LAB_0019cf7c;" goto statement_identifier ;)) (goto_statement "goto LAB_0019cc40;" goto statement_identifier ;) })) (if_statement "if ((*(byte *)((long)puVar33 + 0x3a) & 7) == 4) goto LAB_0019cc40;" if (parenthesized_expression "((*(byte *)((long)puVar33 + 0x3a) & 7) == 4)" ( (binary_expression "(*(byte *)((long)puVar33 + 0x3a) & 7) == 4" (parenthesized_expression "(*(byte *)((long)puVar33 + 0x3a) & 7)" ( (binary_expression "*(byte *)((long)puVar33 + 0x3a) & 7" (pointer_expression "*(byte *)((long)puVar33 + 0x3a)" * (cast_expression "(byte *)((long)puVar33 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar33 + 0x3a)" ( (binary_expression "(long)puVar33 + 0x3a" (cast_expression "(long)puVar33" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0019cc40;" goto statement_identifier ;)) (labeled_statement "LAB_0019cf7c:\n            if (((*(byte *)((long)puVar33 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar33 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;" statement_identifier : (if_statement "if (((*(byte *)((long)puVar33 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar33 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;" if (parenthesized_expression "(((*(byte *)((long)puVar33 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar33 + 0x3b) & 0x10) != 0))" ( (binary_expression "((*(byte *)((long)puVar33 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar33 + 0x3b) & 0x10) != 0)" (parenthesized_expression "((*(byte *)((long)puVar33 + 0x39) & 3) != 0)" ( (binary_expression "(*(byte *)((long)puVar33 + 0x39) & 3) != 0" (parenthesized_expression "(*(byte *)((long)puVar33 + 0x39) & 3)" ( (binary_expression "*(byte *)((long)puVar33 + 0x39) & 3" (pointer_expression "*(byte *)((long)puVar33 + 0x39)" * (cast_expression "(byte *)((long)puVar33 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar33 + 0x39)" ( (binary_expression "(long)puVar33 + 0x39" (cast_expression "(long)puVar33" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) || (parenthesized_expression "((*(byte *)((long)puVar33 + 0x3b) & 0x10) != 0)" ( (binary_expression "(*(byte *)((long)puVar33 + 0x3b) & 0x10) != 0" (parenthesized_expression "(*(byte *)((long)puVar33 + 0x3b) & 0x10)" ( (binary_expression "*(byte *)((long)puVar33 + 0x3b) & 0x10" (pointer_expression "*(byte *)((long)puVar33 + 0x3b)" * (cast_expression "(byte *)((long)puVar33 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar33 + 0x3b)" ( (binary_expression "(long)puVar33 + 0x3b" (cast_expression "(long)puVar33" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0019cc40;" goto statement_identifier ;))) (expression_statement "pGVar8 = parameters->options_;" (assignment_expression "pGVar8 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (if_statement "if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }" if (parenthesized_expression "(pGVar8 == (General_options *)0x0)" ( (binary_expression "pGVar8 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if ((pGVar8->shared_).value == false) goto LAB_0019cc40;" if (parenthesized_expression "((pGVar8->shared_).value == false)" ( (binary_expression "(pGVar8->shared_).value == false" (field_expression "(pGVar8->shared_).value" (parenthesized_expression "(pGVar8->shared_)" ( (field_expression "pGVar8->shared_" identifier -> field_identifier) )) . field_identifier) == false) )) (goto_statement "goto LAB_0019cc40;" goto statement_identifier ;)) (ERROR "bVar9 = Version_script_info::" (assignment_expression "bVar9 = Version_script_info" identifier = identifier) : :) (expression_statement "get_symbol_version\n                              (&(pGVar8->dynamic_list_).version_script_info_,(char *)*puVar33,\n                               (string *)0x0,&is_global);" (call_expression "get_symbol_version\n                              (&(pGVar8->dynamic_list_).version_script_info_,(char *)*puVar33,\n                               (string *)0x0,&is_global)" identifier (argument_list "(&(pGVar8->dynamic_list_).version_script_info_,(char *)*puVar33,\n                               (string *)0x0,&is_global)" ( (pointer_expression "&(pGVar8->dynamic_list_).version_script_info_" & (field_expression "(pGVar8->dynamic_list_).version_script_info_" (parenthesized_expression "(pGVar8->dynamic_list_)" ( (field_expression "pGVar8->dynamic_list_" identifier -> field_identifier) )) . field_identifier)) , (cast_expression "(char *)*puVar33" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar33" * identifier)) , (cast_expression "(string *)0x0" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (pointer_expression "&is_global" & identifier) ))) ;) (if_statement "if ((!bVar9) || (is_global != false)) {\n              pGVar8 = parameters->options_;\n              if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if (((pGVar8->Bsymbolic_).value != false) ||\n                 (((*(byte *)(puVar33 + 7) & 0xf) != 1 &&\n                  ((pGVar8->Bsymbolic_functions_).value != false)))) goto LAB_0019cc40;\n            }" if (parenthesized_expression "((!bVar9) || (is_global != false))" ( (binary_expression "(!bVar9) || (is_global != false)" (parenthesized_expression "(!bVar9)" ( (unary_expression "!bVar9" ! identifier) )) || (parenthesized_expression "(is_global != false)" ( (binary_expression "is_global != false" identifier != false) ))) )) (compound_statement "{\n              pGVar8 = parameters->options_;\n              if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if (((pGVar8->Bsymbolic_).value != false) ||\n                 (((*(byte *)(puVar33 + 7) & 0xf) != 1 &&\n                  ((pGVar8->Bsymbolic_functions_).value != false)))) goto LAB_0019cc40;\n            }" { (expression_statement "pGVar8 = parameters->options_;" (assignment_expression "pGVar8 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (if_statement "if (pGVar8 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }" if (parenthesized_expression "(pGVar8 == (General_options *)0x0)" ( (binary_expression "pGVar8 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if (((pGVar8->Bsymbolic_).value != false) ||\n                 (((*(byte *)(puVar33 + 7) & 0xf) != 1 &&\n                  ((pGVar8->Bsymbolic_functions_).value != false)))) goto LAB_0019cc40;" if (parenthesized_expression "(((pGVar8->Bsymbolic_).value != false) ||\n                 (((*(byte *)(puVar33 + 7) & 0xf) != 1 &&\n                  ((pGVar8->Bsymbolic_functions_).value != false))))" ( (binary_expression "((pGVar8->Bsymbolic_).value != false) ||\n                 (((*(byte *)(puVar33 + 7) & 0xf) != 1 &&\n                  ((pGVar8->Bsymbolic_functions_).value != false)))" (parenthesized_expression "((pGVar8->Bsymbolic_).value != false)" ( (binary_expression "(pGVar8->Bsymbolic_).value != false" (field_expression "(pGVar8->Bsymbolic_).value" (parenthesized_expression "(pGVar8->Bsymbolic_)" ( (field_expression "pGVar8->Bsymbolic_" identifier -> field_identifier) )) . field_identifier) != false) )) || (parenthesized_expression "(((*(byte *)(puVar33 + 7) & 0xf) != 1 &&\n                  ((pGVar8->Bsymbolic_functions_).value != false)))" ( (parenthesized_expression "((*(byte *)(puVar33 + 7) & 0xf) != 1 &&\n                  ((pGVar8->Bsymbolic_functions_).value != false))" ( (binary_expression "(*(byte *)(puVar33 + 7) & 0xf) != 1 &&\n                  ((pGVar8->Bsymbolic_functions_).value != false)" (binary_expression "(*(byte *)(puVar33 + 7) & 0xf) != 1" (parenthesized_expression "(*(byte *)(puVar33 + 7) & 0xf)" ( (binary_expression "*(byte *)(puVar33 + 7) & 0xf" (pointer_expression "*(byte *)(puVar33 + 7)" * (cast_expression "(byte *)(puVar33 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 7)" ( (binary_expression "puVar33 + 7" identifier + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((pGVar8->Bsymbolic_functions_).value != false)" ( (binary_expression "(pGVar8->Bsymbolic_functions_).value != false" (field_expression "(pGVar8->Bsymbolic_functions_).value" (parenthesized_expression "(pGVar8->Bsymbolic_functions_)" ( (field_expression "pGVar8->Bsymbolic_functions_" identifier -> field_identifier) )) . field_identifier) != false) ))) )) ))) )) (goto_statement "goto LAB_0019cc40;" goto statement_identifier ;)) })) }))) (if_statement "if (first_iteration) {\n            uVar13 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x11]._M_nxt)\n                               (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n            if ((uVar13 & 0x10) != 0) {\n              if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              if (parameters->target_->pti_->can_icf_inline_merge_sections != false) {\n                uVar21 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x12]._M_nxt)\n                                   (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n                lVar31 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n                if (bVar34) {\n                  if (8 < *(uint *)((long)&p_Var5->_M_nxt + lVar28)) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  psVar16 = (string *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4))\n                            )(local_f8 + *(long *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n                  return psVar16;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                puVar18 = Object::section_contents\n                                    ((Object *)p_Var27->_M_nxt,*(uint *)&p_Var27[1]._M_nxt,\n                                     (section_size_type *)kept_section_str,false);\n                __s = (int *)(puVar18 + lVar31);\n                if ((long)kept_section_str._0_8_ <= lVar31) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar13 & 0x20) == 0) {\n                  if ((ulong)kept_section_str._0_8_ < lVar31 + uVar21) {\n                    uVar21 = kept_section_str._0_8_ - lVar31;\n                  }\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\nLAB_0019d597:\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,uVar21);\n                }\n                else {\n                  if (uVar21 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar21 = 0;\n                    }\n                    else {\n                      uVar13 = 0;\n                      do {\n                        uVar11 = (int)uVar13 + 1;\n                        uVar13 = (ulong)uVar11;\n                      } while (*(short *)((long)__s + uVar13 * 2) != 0);\n                      uVar21 = (ulong)(uVar11 * 2);\n                      if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                        std::__throw_length_error("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar13 = 0;\n                    do {\n                      uVar11 = (int)uVar13 + 1;\n                      uVar13 = (ulong)uVar11;\n                    } while (__s[uVar13] != 0);\n                    uVar21 = (ulong)(uVar11 * 4);\n                    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                      std::__throw_length_error("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar14 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,sVar14);\n                }\n                if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar33 == (undefined8 *)0x0) {\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,(char *)p_Var27->_M_nxt[1]._M_nxt,\n                         (ulong)p_Var27->_M_nxt[2]._M_nxt);\n              snprintf(kept_section_str,10,"%u",(ulong)*(uint *)&p_Var27[1]._M_nxt);\n              puVar25 = (uint *)kept_section_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            else {\n              pcVar22 = (char *)*puVar33;\n              sVar14 = strlen(pcVar22);\n              if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,pcVar22,sVar14);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }" if (parenthesized_expression "(first_iteration)" ( identifier )) (compound_statement "{\n            uVar13 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x11]._M_nxt)\n                               (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n            if ((uVar13 & 0x10) != 0) {\n              if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              if (parameters->target_->pti_->can_icf_inline_merge_sections != false) {\n                uVar21 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x12]._M_nxt)\n                                   (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n                lVar31 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n                if (bVar34) {\n                  if (8 < *(uint *)((long)&p_Var5->_M_nxt + lVar28)) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  psVar16 = (string *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4))\n                            )(local_f8 + *(long *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n                  return psVar16;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                puVar18 = Object::section_contents\n                                    ((Object *)p_Var27->_M_nxt,*(uint *)&p_Var27[1]._M_nxt,\n                                     (section_size_type *)kept_section_str,false);\n                __s = (int *)(puVar18 + lVar31);\n                if ((long)kept_section_str._0_8_ <= lVar31) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar13 & 0x20) == 0) {\n                  if ((ulong)kept_section_str._0_8_ < lVar31 + uVar21) {\n                    uVar21 = kept_section_str._0_8_ - lVar31;\n                  }\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\nLAB_0019d597:\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,uVar21);\n                }\n                else {\n                  if (uVar21 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar21 = 0;\n                    }\n                    else {\n                      uVar13 = 0;\n                      do {\n                        uVar11 = (int)uVar13 + 1;\n                        uVar13 = (ulong)uVar11;\n                      } while (*(short *)((long)__s + uVar13 * 2) != 0);\n                      uVar21 = (ulong)(uVar11 * 2);\n                      if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                        std::__throw_length_error("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar13 = 0;\n                    do {\n                      uVar11 = (int)uVar13 + 1;\n                      uVar13 = (ulong)uVar11;\n                    } while (__s[uVar13] != 0);\n                    uVar21 = (ulong)(uVar11 * 4);\n                    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                      std::__throw_length_error("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar14 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,sVar14);\n                }\n                if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar33 == (undefined8 *)0x0) {\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,(char *)p_Var27->_M_nxt[1]._M_nxt,\n                         (ulong)p_Var27->_M_nxt[2]._M_nxt);\n              snprintf(kept_section_str,10,"%u",(ulong)*(uint *)&p_Var27[1]._M_nxt);\n              puVar25 = (uint *)kept_section_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            else {\n              pcVar22 = (char *)*puVar33;\n              sVar14 = strlen(pcVar22);\n              if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,pcVar22,sVar14);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }" { (expression_statement "uVar13 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x11]._M_nxt)\n                               (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);" (assignment_expression "uVar13 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x11]._M_nxt)\n                               (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt)" identifier = (call_expression "(*(code *)p_Var27->_M_nxt->_M_nxt[0x11]._M_nxt)\n                               (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt)" (parenthesized_expression "(*(code *)p_Var27->_M_nxt->_M_nxt[0x11]._M_nxt)" ( (pointer_expression "*(code *)p_Var27->_M_nxt->_M_nxt[0x11]._M_nxt" * (cast_expression "(code *)p_Var27->_M_nxt->_M_nxt[0x11]._M_nxt" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "p_Var27->_M_nxt->_M_nxt[0x11]._M_nxt" (subscript_expression "p_Var27->_M_nxt->_M_nxt[0x11]" (field_expression "p_Var27->_M_nxt->_M_nxt" (field_expression "p_Var27->_M_nxt" identifier -> field_identifier) -> field_identifier) [ number_literal ]) . field_identifier))) )) (argument_list "(p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt)" ( (field_expression "p_Var27->_M_nxt" identifier -> field_identifier) , (pointer_expression "*(undefined4 *)&p_Var27[1]._M_nxt" * (cast_expression "(undefined4 *)&p_Var27[1]._M_nxt" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var27[1]._M_nxt" & (field_expression "p_Var27[1]._M_nxt" (subscript_expression "p_Var27[1]" identifier [ number_literal ]) . field_identifier)))) )))) ;) (if_statement "if ((uVar13 & 0x10) != 0) {\n              if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              if (parameters->target_->pti_->can_icf_inline_merge_sections != false) {\n                uVar21 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x12]._M_nxt)\n                                   (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n                lVar31 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n                if (bVar34) {\n                  if (8 < *(uint *)((long)&p_Var5->_M_nxt + lVar28)) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  psVar16 = (string *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4))\n                            )(local_f8 + *(long *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n                  return psVar16;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                puVar18 = Object::section_contents\n                                    ((Object *)p_Var27->_M_nxt,*(uint *)&p_Var27[1]._M_nxt,\n                                     (section_size_type *)kept_section_str,false);\n                __s = (int *)(puVar18 + lVar31);\n                if ((long)kept_section_str._0_8_ <= lVar31) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar13 & 0x20) == 0) {\n                  if ((ulong)kept_section_str._0_8_ < lVar31 + uVar21) {\n                    uVar21 = kept_section_str._0_8_ - lVar31;\n                  }\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\nLAB_0019d597:\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,uVar21);\n                }\n                else {\n                  if (uVar21 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar21 = 0;\n                    }\n                    else {\n                      uVar13 = 0;\n                      do {\n                        uVar11 = (int)uVar13 + 1;\n                        uVar13 = (ulong)uVar11;\n                      } while (*(short *)((long)__s + uVar13 * 2) != 0);\n                      uVar21 = (ulong)(uVar11 * 2);\n                      if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                        std::__throw_length_error("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar13 = 0;\n                    do {\n                      uVar11 = (int)uVar13 + 1;\n                      uVar13 = (ulong)uVar11;\n                    } while (__s[uVar13] != 0);\n                    uVar21 = (ulong)(uVar11 * 4);\n                    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                      std::__throw_length_error("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar14 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,sVar14);\n                }\n                if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }" if (parenthesized_expression "((uVar13 & 0x10) != 0)" ( (binary_expression "(uVar13 & 0x10) != 0" (parenthesized_expression "(uVar13 & 0x10)" ( (binary_expression "uVar13 & 0x10" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              if (parameters->target_->pti_->can_icf_inline_merge_sections != false) {\n                uVar21 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x12]._M_nxt)\n                                   (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n                lVar31 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n                if (bVar34) {\n                  if (8 < *(uint *)((long)&p_Var5->_M_nxt + lVar28)) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  psVar16 = (string *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4))\n                            )(local_f8 + *(long *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n                  return psVar16;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                puVar18 = Object::section_contents\n                                    ((Object *)p_Var27->_M_nxt,*(uint *)&p_Var27[1]._M_nxt,\n                                     (section_size_type *)kept_section_str,false);\n                __s = (int *)(puVar18 + lVar31);\n                if ((long)kept_section_str._0_8_ <= lVar31) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar13 & 0x20) == 0) {\n                  if ((ulong)kept_section_str._0_8_ < lVar31 + uVar21) {\n                    uVar21 = kept_section_str._0_8_ - lVar31;\n                  }\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\nLAB_0019d597:\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,uVar21);\n                }\n                else {\n                  if (uVar21 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar21 = 0;\n                    }\n                    else {\n                      uVar13 = 0;\n                      do {\n                        uVar11 = (int)uVar13 + 1;\n                        uVar13 = (ulong)uVar11;\n                      } while (*(short *)((long)__s + uVar13 * 2) != 0);\n                      uVar21 = (ulong)(uVar11 * 2);\n                      if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                        std::__throw_length_error("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar13 = 0;\n                    do {\n                      uVar11 = (int)uVar13 + 1;\n                      uVar13 = (ulong)uVar11;\n                    } while (__s[uVar13] != 0);\n                    uVar21 = (ulong)(uVar11 * 4);\n                    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                      std::__throw_length_error("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar14 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,sVar14);\n                }\n                if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }" { (if_statement "if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }" if (parenthesized_expression "(parameters->target_ == (Target *)0x0)" ( (binary_expression "parameters->target_ == (Target *)0x0" (field_expression "parameters->target_" identifier -> field_identifier) == (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x69,"target");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;) })) (if_statement "if (parameters->target_->pti_->can_icf_inline_merge_sections != false) {\n                uVar21 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x12]._M_nxt)\n                                   (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n                lVar31 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n                if (bVar34) {\n                  if (8 < *(uint *)((long)&p_Var5->_M_nxt + lVar28)) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  psVar16 = (string *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4))\n                            )(local_f8 + *(long *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n                  return psVar16;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                puVar18 = Object::section_contents\n                                    ((Object *)p_Var27->_M_nxt,*(uint *)&p_Var27[1]._M_nxt,\n                                     (section_size_type *)kept_section_str,false);\n                __s = (int *)(puVar18 + lVar31);\n                if ((long)kept_section_str._0_8_ <= lVar31) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar13 & 0x20) == 0) {\n                  if ((ulong)kept_section_str._0_8_ < lVar31 + uVar21) {\n                    uVar21 = kept_section_str._0_8_ - lVar31;\n                  }\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\nLAB_0019d597:\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,uVar21);\n                }\n                else {\n                  if (uVar21 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar21 = 0;\n                    }\n                    else {\n                      uVar13 = 0;\n                      do {\n                        uVar11 = (int)uVar13 + 1;\n                        uVar13 = (ulong)uVar11;\n                      } while (*(short *)((long)__s + uVar13 * 2) != 0);\n                      uVar21 = (ulong)(uVar11 * 2);\n                      if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                        std::__throw_length_error("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar13 = 0;\n                    do {\n                      uVar11 = (int)uVar13 + 1;\n                      uVar13 = (ulong)uVar11;\n                    } while (__s[uVar13] != 0);\n                    uVar21 = (ulong)(uVar11 * 4);\n                    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                      std::__throw_length_error("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar14 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,sVar14);\n                }\n                if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }" if (parenthesized_expression "(parameters->target_->pti_->can_icf_inline_merge_sections != false)" ( (binary_expression "parameters->target_->pti_->can_icf_inline_merge_sections != false" (field_expression "parameters->target_->pti_->can_icf_inline_merge_sections" (field_expression "parameters->target_->pti_" (field_expression "parameters->target_" identifier -> field_identifier) -> field_identifier) -> field_identifier) != false) )) (compound_statement "{\n                uVar21 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x12]._M_nxt)\n                                   (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);\n                lVar31 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);\n                if (bVar34) {\n                  if (8 < *(uint *)((long)&p_Var5->_M_nxt + lVar28)) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  psVar16 = (string *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4))\n                            )(local_f8 + *(long *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n                  return psVar16;\n                }\n                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */\n                puVar18 = Object::section_contents\n                                    ((Object *)p_Var27->_M_nxt,*(uint *)&p_Var27[1]._M_nxt,\n                                     (section_size_type *)kept_section_str,false);\n                __s = (int *)(puVar18 + lVar31);\n                if ((long)kept_section_str._0_8_ <= lVar31) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar13 & 0x20) == 0) {\n                  if ((ulong)kept_section_str._0_8_ < lVar31 + uVar21) {\n                    uVar21 = kept_section_str._0_8_ - lVar31;\n                  }\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\nLAB_0019d597:\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,uVar21);\n                }\n                else {\n                  if (uVar21 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar21 = 0;\n                    }\n                    else {\n                      uVar13 = 0;\n                      do {\n                        uVar11 = (int)uVar13 + 1;\n                        uVar13 = (ulong)uVar11;\n                      } while (*(short *)((long)__s + uVar13 * 2) != 0);\n                      uVar21 = (ulong)(uVar11 * 2);\n                      if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                        std::__throw_length_error("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar13 = 0;\n                    do {\n                      uVar11 = (int)uVar13 + 1;\n                      uVar13 = (ulong)uVar11;\n                    } while (__s[uVar13] != 0);\n                    uVar21 = (ulong)(uVar11 * 4);\n                    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                      std::__throw_length_error("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar14 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,sVar14);\n                }\n                if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }" { (expression_statement "uVar21 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x12]._M_nxt)\n                                   (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt);" (assignment_expression "uVar21 = (*(code *)p_Var27->_M_nxt->_M_nxt[0x12]._M_nxt)\n                                   (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt)" identifier = (call_expression "(*(code *)p_Var27->_M_nxt->_M_nxt[0x12]._M_nxt)\n                                   (p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt)" (parenthesized_expression "(*(code *)p_Var27->_M_nxt->_M_nxt[0x12]._M_nxt)" ( (pointer_expression "*(code *)p_Var27->_M_nxt->_M_nxt[0x12]._M_nxt" * (cast_expression "(code *)p_Var27->_M_nxt->_M_nxt[0x12]._M_nxt" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "p_Var27->_M_nxt->_M_nxt[0x12]._M_nxt" (subscript_expression "p_Var27->_M_nxt->_M_nxt[0x12]" (field_expression "p_Var27->_M_nxt->_M_nxt" (field_expression "p_Var27->_M_nxt" identifier -> field_identifier) -> field_identifier) [ number_literal ]) . field_identifier))) )) (argument_list "(p_Var27->_M_nxt,*(undefined4 *)&p_Var27[1]._M_nxt)" ( (field_expression "p_Var27->_M_nxt" identifier -> field_identifier) , (pointer_expression "*(undefined4 *)&p_Var27[1]._M_nxt" * (cast_expression "(undefined4 *)&p_Var27[1]._M_nxt" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var27[1]._M_nxt" & (field_expression "p_Var27[1]._M_nxt" (subscript_expression "p_Var27[1]" identifier [ number_literal ]) . field_identifier)))) )))) ;) (expression_statement "lVar31 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4);" (assignment_expression "lVar31 = *(long *)((long)&p_Var3->_M_nxt + lVar28 * 4)" identifier = (pointer_expression "*(long *)((long)&p_Var3->_M_nxt + lVar28 * 4)" * (cast_expression "(long *)((long)&p_Var3->_M_nxt + lVar28 * 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&p_Var3->_M_nxt + lVar28 * 4)" ( (binary_expression "(long)&p_Var3->_M_nxt + lVar28 * 4" (cast_expression "(long)&p_Var3->_M_nxt" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&p_Var3->_M_nxt" & (field_expression "p_Var3->_M_nxt" identifier -> field_identifier))) + (binary_expression "lVar28 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (bVar34) {\n                  if (8 < *(uint *)((long)&p_Var5->_M_nxt + lVar28)) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  psVar16 = (string *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4))\n                            )(local_f8 + *(long *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n                  return psVar16;\n                }" if (parenthesized_expression "(bVar34)" ( identifier )) (compound_statement "{\n                  if (8 < *(uint *)((long)&p_Var5->_M_nxt + lVar28)) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                  psVar16 = (string *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4))\n                            )(local_f8 + *(long *)((long)&p_Var4->_M_nxt + lVar28 * 2));\n                  return psVar16;\n                }" { (if_statement "if (8 < *(uint *)((long)&p_Var5->_M_nxt + lVar28)) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }" if (parenthesized_expression "(8 < *(uint *)((long)&p_Var5->_M_nxt + lVar28))" ( (binary_expression "8 < *(uint *)((long)&p_Var5->_M_nxt + lVar28)" number_literal < (pointer_expression "*(uint *)((long)&p_Var5->_M_nxt + lVar28)" * (cast_expression "(uint *)((long)&p_Var5->_M_nxt + lVar28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&p_Var5->_M_nxt + lVar28)" ( (binary_expression "(long)&p_Var5->_M_nxt + lVar28" (cast_expression "(long)&p_Var5->_M_nxt" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&p_Var5->_M_nxt" & (field_expression "p_Var5->_M_nxt" identifier -> field_identifier))) + identifier) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }" { comment (expression_statement "do_gold_unreachable("../../gold/icf.cc",0xfb,"get_rel_addend");" (call_expression "do_gold_unreachable("../../gold/icf.cc",0xfb,"get_rel_addend")" identifier (argument_list "("../../gold/icf.cc",0xfb,"get_rel_addend")" ( (string_literal ""../../gold/icf.cc"" " string_content ") , number_literal , (string_literal ""get_rel_addend"" " string_content ") ))) ;) })) comment comment (expression_statement "psVar16 = (string *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4))\n                            )(local_f8 + *(long *)((long)&p_Var4->_M_nxt + lVar28 * 2));" (assignment_expression "psVar16 = (string *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4))\n                            )(local_f8 + *(long *)((long)&p_Var4->_M_nxt + lVar28 * 2))" identifier = (cast_expression "(string *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4))\n                            )(local_f8 + *(long *)((long)&p_Var4->_M_nxt + lVar28 * 2))" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4))\n                            )(local_f8 + *(long *)((long)&p_Var4->_M_nxt + lVar28 * 2))" (parenthesized_expression "(*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4))\n                            )" ( (pointer_expression "*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4))" * (cast_expression "(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4))" ( (binary_expression "&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4)" (pointer_expression "&DAT_00340740" & identifier) + (pointer_expression "*(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4)" * (cast_expression "(int *)(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4)" ( (binary_expression "&DAT_00340740 +\n                                              (ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4" (pointer_expression "&DAT_00340740" & identifier) + (binary_expression "(ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28) * 4" (binary_expression "(ulong)*(uint *)((long)&p_Var5->_M_nxt + lVar28)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)((long)&p_Var5->_M_nxt + lVar28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&p_Var5->_M_nxt + lVar28)" ( (binary_expression "(long)&p_Var5->_M_nxt + lVar28" (cast_expression "(long)&p_Var5->_M_nxt" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&p_Var5->_M_nxt" & (field_expression "p_Var5->_M_nxt" identifier -> field_identifier))) + identifier) )))) * number_literal)) ))))) )))) )) (argument_list "(local_f8 + *(long *)((long)&p_Var4->_M_nxt + lVar28 * 2))" ( (binary_expression "local_f8 + *(long *)((long)&p_Var4->_M_nxt + lVar28 * 2)" identifier + (pointer_expression "*(long *)((long)&p_Var4->_M_nxt + lVar28 * 2)" * (cast_expression "(long *)((long)&p_Var4->_M_nxt + lVar28 * 2)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&p_Var4->_M_nxt + lVar28 * 2)" ( (binary_expression "(long)&p_Var4->_M_nxt + lVar28 * 2" (cast_expression "(long)&p_Var4->_M_nxt" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&p_Var4->_M_nxt" & (field_expression "p_Var4->_M_nxt" identifier -> field_identifier))) + (binary_expression "lVar28 * 2" identifier * number_literal)) ))))) ))))) ;) (return_statement "return psVar16;" return identifier ;) })) comment (ERROR "puVar18 = Object::" (assignment_expression "puVar18 = Object" identifier = identifier) : :) (expression_statement "section_contents\n                                    ((Object *)p_Var27->_M_nxt,*(uint *)&p_Var27[1]._M_nxt,\n                                     (section_size_type *)kept_section_str,false);" (call_expression "section_contents\n                                    ((Object *)p_Var27->_M_nxt,*(uint *)&p_Var27[1]._M_nxt,\n                                     (section_size_type *)kept_section_str,false)" identifier (argument_list "((Object *)p_Var27->_M_nxt,*(uint *)&p_Var27[1]._M_nxt,\n                                     (section_size_type *)kept_section_str,false)" ( (cast_expression "(Object *)p_Var27->_M_nxt" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "p_Var27->_M_nxt" identifier -> field_identifier)) , (pointer_expression "*(uint *)&p_Var27[1]._M_nxt" * (cast_expression "(uint *)&p_Var27[1]._M_nxt" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var27[1]._M_nxt" & (field_expression "p_Var27[1]._M_nxt" (subscript_expression "p_Var27[1]" identifier [ number_literal ]) . field_identifier)))) , (cast_expression "(section_size_type *)kept_section_str" ( (type_descriptor "section_size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , false ))) ;) (expression_statement "__s = (int *)(puVar18 + lVar31);" (assignment_expression "__s = (int *)(puVar18 + lVar31)" identifier = (cast_expression "(int *)(puVar18 + lVar31)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + lVar31)" ( (binary_expression "puVar18 + lVar31" identifier + identifier) )))) ;) (if_statement "if ((long)kept_section_str._0_8_ <= lVar31) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }" if (parenthesized_expression "((long)kept_section_str._0_8_ <= lVar31)" ( (binary_expression "(long)kept_section_str._0_8_ <= lVar31" (cast_expression "(long)kept_section_str._0_8_" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "kept_section_str._0_8_" identifier . field_identifier)) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }" { comment (expression_statement "do_gold_unreachable("../../gold/icf.cc",0x1eb,"get_section_contents");" (call_expression "do_gold_unreachable("../../gold/icf.cc",0x1eb,"get_section_contents")" identifier (argument_list "("../../gold/icf.cc",0x1eb,"get_section_contents")" ( (string_literal ""../../gold/icf.cc"" " string_content ") , number_literal , (string_literal ""get_section_contents"" " string_content ") ))) ;) })) (if_statement "if ((uVar13 & 0x20) == 0) {\n                  if ((ulong)kept_section_str._0_8_ < lVar31 + uVar21) {\n                    uVar21 = kept_section_str._0_8_ - lVar31;\n                  }\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\nLAB_0019d597:\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,uVar21);\n                }\n                else {\n                  if (uVar21 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar21 = 0;\n                    }\n                    else {\n                      uVar13 = 0;\n                      do {\n                        uVar11 = (int)uVar13 + 1;\n                        uVar13 = (ulong)uVar11;\n                      } while (*(short *)((long)__s + uVar13 * 2) != 0);\n                      uVar21 = (ulong)(uVar11 * 2);\n                      if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                        std::__throw_length_error("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar13 = 0;\n                    do {\n                      uVar11 = (int)uVar13 + 1;\n                      uVar13 = (ulong)uVar11;\n                    } while (__s[uVar13] != 0);\n                    uVar21 = (ulong)(uVar11 * 4);\n                    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                      std::__throw_length_error("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar14 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,sVar14);\n                }" if (parenthesized_expression "((uVar13 & 0x20) == 0)" ( (binary_expression "(uVar13 & 0x20) == 0" (parenthesized_expression "(uVar13 & 0x20)" ( (binary_expression "uVar13 & 0x20" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                  if ((ulong)kept_section_str._0_8_ < lVar31 + uVar21) {\n                    uVar21 = kept_section_str._0_8_ - lVar31;\n                  }\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\nLAB_0019d597:\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,uVar21);\n                }" { (if_statement "if ((ulong)kept_section_str._0_8_ < lVar31 + uVar21) {\n                    uVar21 = kept_section_str._0_8_ - lVar31;\n                  }" if (parenthesized_expression "((ulong)kept_section_str._0_8_ < lVar31 + uVar21)" ( (binary_expression "(ulong)kept_section_str._0_8_ < lVar31 + uVar21" (cast_expression "(ulong)kept_section_str._0_8_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "kept_section_str._0_8_" identifier . field_identifier)) < (binary_expression "lVar31 + uVar21" identifier + identifier)) )) (compound_statement "{\n                    uVar21 = kept_section_str._0_8_ - lVar31;\n                  }" { (expression_statement "uVar21 = kept_section_str._0_8_ - lVar31;" (assignment_expression "uVar21 = kept_section_str._0_8_ - lVar31" identifier = (binary_expression "kept_section_str._0_8_ - lVar31" (field_expression "kept_section_str._0_8_" identifier . field_identifier) - identifier)) ;) })) (if_statement "if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }" if (parenthesized_expression "(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21)" ( (binary_expression "0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21" (binary_expression "0x7fffffffffffffff - __return_storage_ptr__->_M_string_length" number_literal - (field_expression "__return_storage_ptr__->_M_string_length" identifier -> field_identifier)) < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }" { comment (labeled_statement "std::__throw_length_error("basic_string::append");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_length_error("basic_string::append");" (call_expression "__throw_length_error("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;)) })) (labeled_statement "LAB_0019d597:\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,uVar21);" statement_identifier : (labeled_statement "std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,uVar21);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_append((string *)__return_storage_ptr__,(char *)__s,uVar21);" statement_identifier : (ERROR ":" :) (expression_statement "_M_append((string *)__return_storage_ptr__,(char *)__s,uVar21);" (call_expression "_M_append((string *)__return_storage_ptr__,(char *)__s,uVar21)" identifier (argument_list "((string *)__return_storage_ptr__,(char *)__s,uVar21)" ( (cast_expression "(string *)__return_storage_ptr__" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)__s" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;)))) }) (else_clause "else {\n                  if (uVar21 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar21 = 0;\n                    }\n                    else {\n                      uVar13 = 0;\n                      do {\n                        uVar11 = (int)uVar13 + 1;\n                        uVar13 = (ulong)uVar11;\n                      } while (*(short *)((long)__s + uVar13 * 2) != 0);\n                      uVar21 = (ulong)(uVar11 * 2);\n                      if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                        std::__throw_length_error("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar13 = 0;\n                    do {\n                      uVar11 = (int)uVar13 + 1;\n                      uVar13 = (ulong)uVar11;\n                    } while (__s[uVar13] != 0);\n                    uVar21 = (ulong)(uVar11 * 4);\n                    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                      std::__throw_length_error("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar14 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,sVar14);\n                }" else (compound_statement "{\n                  if (uVar21 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar21 = 0;\n                    }\n                    else {\n                      uVar13 = 0;\n                      do {\n                        uVar11 = (int)uVar13 + 1;\n                        uVar13 = (ulong)uVar11;\n                      } while (*(short *)((long)__s + uVar13 * 2) != 0);\n                      uVar21 = (ulong)(uVar11 * 2);\n                      if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                        std::__throw_length_error("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar13 = 0;\n                    do {\n                      uVar11 = (int)uVar13 + 1;\n                      uVar13 = (ulong)uVar11;\n                    } while (__s[uVar13] != 0);\n                    uVar21 = (ulong)(uVar11 * 4);\n                    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                      std::__throw_length_error("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar21 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar14 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }\n                  std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,sVar14);\n                }" { (if_statement "if (uVar21 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar21 = 0;\n                    }\n                    else {\n                      uVar13 = 0;\n                      do {\n                        uVar11 = (int)uVar13 + 1;\n                        uVar13 = (ulong)uVar11;\n                      } while (*(short *)((long)__s + uVar13 * 2) != 0);\n                      uVar21 = (ulong)(uVar11 * 2);\n                      if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                        std::__throw_length_error("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }" if (parenthesized_expression "(uVar21 == 2)" ( (binary_expression "uVar21 == 2" identifier == number_literal) )) (compound_statement "{\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar21 = 0;\n                    }\n                    else {\n                      uVar13 = 0;\n                      do {\n                        uVar11 = (int)uVar13 + 1;\n                        uVar13 = (ulong)uVar11;\n                      } while (*(short *)((long)__s + uVar13 * 2) != 0);\n                      uVar21 = (ulong)(uVar11 * 2);\n                      if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                        std::__throw_length_error("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }" { (if_statement "if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar21 = 0;\n                    }\n                    else {\n                      uVar13 = 0;\n                      do {\n                        uVar11 = (int)uVar13 + 1;\n                        uVar13 = (ulong)uVar11;\n                      } while (*(short *)((long)__s + uVar13 * 2) != 0);\n                      uVar21 = (ulong)(uVar11 * 2);\n                      if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                        std::__throw_length_error("basic_string::append");\n                      }\n                    }" if (parenthesized_expression "((short)*__s == 0)" ( (binary_expression "(short)*__s == 0" (cast_expression "(short)*__s" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (pointer_expression "*__s" * identifier)) == number_literal) )) (compound_statement "{\nLAB_0019d70f:\n                      uVar21 = 0;\n                    }" { (labeled_statement "LAB_0019d70f:\n                      uVar21 = 0;" statement_identifier : (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n                      uVar13 = 0;\n                      do {\n                        uVar11 = (int)uVar13 + 1;\n                        uVar13 = (ulong)uVar11;\n                      } while (*(short *)((long)__s + uVar13 * 2) != 0);\n                      uVar21 = (ulong)(uVar11 * 2);\n                      if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                        std::__throw_length_error("basic_string::append");\n                      }\n                    }" else (compound_statement "{\n                      uVar13 = 0;\n                      do {\n                        uVar11 = (int)uVar13 + 1;\n                        uVar13 = (ulong)uVar11;\n                      } while (*(short *)((long)__s + uVar13 * 2) != 0);\n                      uVar21 = (ulong)(uVar11 * 2);\n                      if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                        std::__throw_length_error("basic_string::append");\n                      }\n                    }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (do_statement "do {\n                        uVar11 = (int)uVar13 + 1;\n                        uVar13 = (ulong)uVar11;\n                      } while (*(short *)((long)__s + uVar13 * 2) != 0);" do (compound_statement "{\n                        uVar11 = (int)uVar13 + 1;\n                        uVar13 = (ulong)uVar11;\n                      }" { (expression_statement "uVar11 = (int)uVar13 + 1;" (assignment_expression "uVar11 = (int)uVar13 + 1" identifier = (binary_expression "(int)uVar13 + 1" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar13 = (ulong)uVar11;" (assignment_expression "uVar13 = (ulong)uVar11" identifier = (cast_expression "(ulong)uVar11" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }) while (parenthesized_expression "(*(short *)((long)__s + uVar13 * 2) != 0)" ( (binary_expression "*(short *)((long)__s + uVar13 * 2) != 0" (pointer_expression "*(short *)((long)__s + uVar13 * 2)" * (cast_expression "(short *)((long)__s + uVar13 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__s + uVar13 * 2)" ( (binary_expression "(long)__s + uVar13 * 2" (cast_expression "(long)__s" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar13 * 2" identifier * number_literal)) )))) != number_literal) )) ;) (expression_statement "uVar21 = (ulong)(uVar11 * 2);" (assignment_expression "uVar21 = (ulong)(uVar11 * 2)" identifier = (call_expression "(ulong)(uVar11 * 2)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar11 * 2)" ( (binary_expression "uVar11 * 2" identifier * number_literal) )))) ;) (if_statement "if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                        std::__throw_length_error("basic_string::append");\n                      }" if (parenthesized_expression "(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21)" ( (binary_expression "0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21" (binary_expression "0x7fffffffffffffff - __return_storage_ptr__->_M_string_length" number_literal - (field_expression "__return_storage_ptr__->_M_string_length" identifier -> field_identifier)) < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                        std::__throw_length_error("basic_string::append");\n                      }" { comment (labeled_statement "std::__throw_length_error("basic_string::append");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_length_error("basic_string::append");" (call_expression "__throw_length_error("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;)) })) }))) (goto_statement "goto LAB_0019d597;" goto statement_identifier ;) })) (if_statement "if (uVar21 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar13 = 0;\n                    do {\n                      uVar11 = (int)uVar13 + 1;\n                      uVar13 = (ulong)uVar11;\n                    } while (__s[uVar13] != 0);\n                    uVar21 = (ulong)(uVar11 * 4);\n                    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                      std::__throw_length_error("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }" if (parenthesized_expression "(uVar21 == 4)" ( (binary_expression "uVar21 == 4" identifier == number_literal) )) (compound_statement "{\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar13 = 0;\n                    do {\n                      uVar11 = (int)uVar13 + 1;\n                      uVar13 = (ulong)uVar11;\n                    } while (__s[uVar13] != 0);\n                    uVar21 = (ulong)(uVar11 * 4);\n                    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                      std::__throw_length_error("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }" { (if_statement "if (*__s == 0) goto LAB_0019d70f;" if (parenthesized_expression "(*__s == 0)" ( (binary_expression "*__s == 0" (pointer_expression "*__s" * identifier) == number_literal) )) (goto_statement "goto LAB_0019d70f;" goto statement_identifier ;)) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (do_statement "do {\n                      uVar11 = (int)uVar13 + 1;\n                      uVar13 = (ulong)uVar11;\n                    } while (__s[uVar13] != 0);" do (compound_statement "{\n                      uVar11 = (int)uVar13 + 1;\n                      uVar13 = (ulong)uVar11;\n                    }" { (expression_statement "uVar11 = (int)uVar13 + 1;" (assignment_expression "uVar11 = (int)uVar13 + 1" identifier = (binary_expression "(int)uVar13 + 1" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar13 = (ulong)uVar11;" (assignment_expression "uVar13 = (ulong)uVar11" identifier = (cast_expression "(ulong)uVar11" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }) while (parenthesized_expression "(__s[uVar13] != 0)" ( (binary_expression "__s[uVar13] != 0" (subscript_expression "__s[uVar13]" identifier [ identifier ]) != number_literal) )) ;) (expression_statement "uVar21 = (ulong)(uVar11 * 4);" (assignment_expression "uVar21 = (ulong)(uVar11 * 4)" identifier = (call_expression "(ulong)(uVar11 * 4)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar11 * 4)" ( (binary_expression "uVar11 * 4" identifier * number_literal) )))) ;) (if_statement "if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21) {\n                    /* WARNING: Subroutine does not return */\n                      std::__throw_length_error("basic_string::append");\n                    }" if (parenthesized_expression "(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21)" ( (binary_expression "0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < uVar21" (binary_expression "0x7fffffffffffffff - __return_storage_ptr__->_M_string_length" number_literal - (field_expression "__return_storage_ptr__->_M_string_length" identifier -> field_identifier)) < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                      std::__throw_length_error("basic_string::append");\n                    }" { comment (labeled_statement "std::__throw_length_error("basic_string::append");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_length_error("basic_string::append");" (call_expression "__throw_length_error("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;)) })) (goto_statement "goto LAB_0019d597;" goto statement_identifier ;) })) (if_statement "if (uVar21 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0x210,"get_section_contents");\n                  }" if (parenthesized_expression "(uVar21 != 1)" ( (binary_expression "uVar21 != 1" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/icf.cc",0x210,"get_section_contents");\n                  }" { comment (expression_statement "do_gold_unreachable("../../gold/icf.cc",0x210,"get_section_contents");" (call_expression "do_gold_unreachable("../../gold/icf.cc",0x210,"get_section_contents")" identifier (argument_list "("../../gold/icf.cc",0x210,"get_section_contents")" ( (string_literal ""../../gold/icf.cc"" " string_content ") , number_literal , (string_literal ""get_section_contents"" " string_content ") ))) ;) })) (expression_statement "sVar14 = strlen((char *)__s);" (assignment_expression "sVar14 = strlen((char *)__s)" identifier = (call_expression "strlen((char *)__s)" identifier (argument_list "((char *)__s)" ( (cast_expression "(char *)__s" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }" if (parenthesized_expression "(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14)" ( (binary_expression "0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14" (binary_expression "0x7fffffffffffffff - __return_storage_ptr__->_M_string_length" number_literal - (field_expression "__return_storage_ptr__->_M_string_length" identifier -> field_identifier)) < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    std::__throw_length_error("basic_string::append");\n                  }" { comment (labeled_statement "std::__throw_length_error("basic_string::append");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_length_error("basic_string::append");" (call_expression "__throw_length_error("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;)) })) (labeled_statement "std::string::_M_append((string *)__return_storage_ptr__,(char *)__s,sVar14);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_append((string *)__return_storage_ptr__,(char *)__s,sVar14);" statement_identifier : (ERROR ":" :) (expression_statement "_M_append((string *)__return_storage_ptr__,(char *)__s,sVar14);" (call_expression "_M_append((string *)__return_storage_ptr__,(char *)__s,sVar14)" identifier (argument_list "((string *)__return_storage_ptr__,(char *)__s,sVar14)" ( (cast_expression "(string *)__return_storage_ptr__" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)__s" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;))) }))) (if_statement "if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }" if (parenthesized_expression "(__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff)" ( (binary_expression "__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff" (field_expression "__return_storage_ptr__->_M_string_length" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                  std::__throw_length_error("basic_string::append");\n                }" { comment (labeled_statement "std::__throw_length_error("basic_string::append");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_length_error("basic_string::append");" (call_expression "__throw_length_error("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;)) })) (goto_statement "goto LAB_0019d1b1;" goto statement_identifier ;) })) })) (if_statement "if (puVar33 == (undefined8 *)0x0) {\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,(char *)p_Var27->_M_nxt[1]._M_nxt,\n                         (ulong)p_Var27->_M_nxt[2]._M_nxt);\n              snprintf(kept_section_str,10,"%u",(ulong)*(uint *)&p_Var27[1]._M_nxt);\n              puVar25 = (uint *)kept_section_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }\n            else {\n              pcVar22 = (char *)*puVar33;\n              sVar14 = strlen(pcVar22);\n              if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,pcVar22,sVar14);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }" if (parenthesized_expression "(puVar33 == (undefined8 *)0x0)" ( (binary_expression "puVar33 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,(char *)p_Var27->_M_nxt[1]._M_nxt,\n                         (ulong)p_Var27->_M_nxt[2]._M_nxt);\n              snprintf(kept_section_str,10,"%u",(ulong)*(uint *)&p_Var27[1]._M_nxt);\n              puVar25 = (uint *)kept_section_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append\n                        ((string *)__return_storage_ptr__,kept_section_str,(ulong)pcVar22);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }" { (labeled_statement "std::string::_M_append\n                        ((string *)__return_storage_ptr__,(char *)p_Var27->_M_nxt[1]._M_nxt,\n                         (ulong)p_Var27->_M_nxt[2]._M_nxt);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_append\n                        ((string *)__return_storage_ptr__,(char *)p_Var27->_M_nxt[1]._M_nxt,\n                         (ulong)p_Var27->_M_nxt[2]._M_nxt);" statement_identifier : (ERROR ":" :) (expression_statement "_M_append\n                        ((string *)__return_storage_ptr__,(char *)p_Var27->_M_nxt[1]._M_nxt,\n                         (ulong)p_Var27->_M_nxt[2]._M_nxt);" (call_expression "_M_append\n                        ((string *)__return_storage_ptr__,(char *)p_Var27->_M_nxt[1]._M_nxt,\n                         (ulong)p_Var27->_M_nxt[2]._M_nxt)" identifier (argument_list "((string *)__return_storage_ptr__,(char *)p_Var27->_M_nxt[1]._M_nxt,\n                         (ulong)p_Var27->_M_nxt[2]._M_nxt)" ( (cast_expression "(string *)__return_storage_ptr__" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)p_Var27->_M_nxt[1]._M_nxt" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "p_Var27->_M_nxt[1]._M_nxt" (subscript_expression "p_Var27->_M_nxt[1]" (field_expression "p_Var27->_M_nxt" identifier -> field_identifier) [ number_literal ]) . field_identifier)) , (cast_expression "(ulong)p_Var27->_M_nxt[2]._M_nxt" ( (type_descriptor "ulong" type_identifier) ) (field_expression "p_Var27->_M_nxt[2]._M_nxt" (subscript_expression "p_Var27->_M_nxt[2]" (field_expression "p_Var27->_M_nxt" identifier -> field_identifier) [ number_literal ]) . field_identifier)) ))) ;))) (expression_statement "snprintf(kept_section_str,10,"%u",(ulong)*(uint *)&p_Var27[1]._M_nxt);" (call_expression "snprintf(kept_section_str,10,"%u",(ulong)*(uint *)&p_Var27[1]._M_nxt)" identifier (argument_list "(kept_section_str,10,"%u",(ulong)*(uint *)&p_Var27[1]._M_nxt)" ( identifier , number_literal , (string_literal ""%u"" " string_content ") , (binary_expression "(ulong)*(uint *)&p_Var27[1]._M_nxt" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)&p_Var27[1]._M_nxt" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var27[1]._M_nxt" & (field_expression "p_Var27[1]._M_nxt" (subscript_expression "p_Var27[1]" identifier [ number_literal ]) . field_identifier)))) ))) ;) (expression_statement "puVar25 = (uint *)kept_section_str;" (assignment_expression "puVar25 = (uint *)kept_section_str" identifier = (cast_expression "(uint *)kept_section_str" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);" do (compound_statement "{\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              }" { (expression_statement "puVar24 = puVar25;" (assignment_expression "puVar24 = puVar25" identifier = identifier) ;) (expression_statement "uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;" (assignment_expression "uVar10 = *puVar24 + 0xfefefeff & ~*puVar24" identifier = (binary_expression "*puVar24 + 0xfefefeff & ~*puVar24" (binary_expression "*puVar24 + 0xfefefeff" (pointer_expression "*puVar24" * identifier) + number_literal) & (unary_expression "~*puVar24" ~ (pointer_expression "*puVar24" * identifier)))) ;) (expression_statement "uVar11 = uVar10 & 0x80808080;" (assignment_expression "uVar11 = uVar10 & 0x80808080" identifier = (binary_expression "uVar10 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar25 = puVar24 + 1;" (assignment_expression "puVar25 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) ;) (expression_statement "bVar34 = (uVar10 & 0x8080) == 0;" (assignment_expression "bVar34 = (uVar10 & 0x8080) == 0" identifier = (binary_expression "(uVar10 & 0x8080) == 0" (parenthesized_expression "(uVar10 & 0x8080)" ( (binary_expression "uVar10 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }" if (parenthesized_expression "(bVar34)" ( identifier )) (compound_statement "{\n                uVar11 = uVar11 >> 0x10;\n              }" { (expression_statement "uVar11 = uVar11 >> 0x10;" (assignment_expression "uVar11 = uVar11 >> 0x10" identifier = (binary_expression "uVar11 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }" if (parenthesized_expression "(bVar34)" ( identifier )) (compound_statement "{\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }" { (expression_statement "puVar25 = (uint *)((long)puVar24 + 6);" (assignment_expression "puVar25 = (uint *)((long)puVar24 + 6)" identifier = (cast_expression "(uint *)((long)puVar24 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar24 + 6)" ( (binary_expression "(long)puVar24 + 6" (cast_expression "(long)puVar24" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (expression_statement "pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str));" (assignment_expression "pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str))" identifier = (cast_expression "(char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str))" ( (binary_expression "(long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str)" (cast_expression "(long)puVar25" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str)" ( (binary_expression "(-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) -\n                                (long)kept_section_str" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar11,(byte)uVar11)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar11,(byte)uVar11)" identifier (argument_list "((byte)uVar11,(byte)uVar11)" ( (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(long)kept_section_str" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) )))) ;) (if_statement "if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }" if (parenthesized_expression "((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)" ( (binary_expression "(char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22" (cast_expression "(char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length)" ( (binary_expression "0x7fffffffffffffff - __return_storage_ptr__->_M_string_length" number_literal - (field_expression "__return_storage_ptr__->_M_string_length" identifier -> field_identifier)) ))) < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }" { comment (labeled_statement "std::__throw_length_error("basic_string::append");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_length_error("basic_string::append");" (call_expression "__throw_length_error("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;)) })) (labeled_statement "std::string::_M_append\n                        ((string *)__return_storage_ptr__,kept_section_str,(ulong)pcVar22);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_append\n                        ((string *)__return_storage_ptr__,kept_section_str,(ulong)pcVar22);" statement_identifier : (ERROR ":" :) (expression_statement "_M_append\n                        ((string *)__return_storage_ptr__,kept_section_str,(ulong)pcVar22);" (call_expression "_M_append\n                        ((string *)__return_storage_ptr__,kept_section_str,(ulong)pcVar22)" identifier (argument_list "((string *)__return_storage_ptr__,kept_section_str,(ulong)pcVar22)" ( (cast_expression "(string *)__return_storage_ptr__" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (cast_expression "(ulong)pcVar22" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;))) (expression_statement "puVar25 = (uint *)addend_str;" (assignment_expression "puVar25 = (uint *)addend_str" identifier = (cast_expression "(uint *)addend_str" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);" do (compound_statement "{\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              }" { (expression_statement "puVar24 = puVar25;" (assignment_expression "puVar24 = puVar25" identifier = identifier) ;) (expression_statement "uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;" (assignment_expression "uVar10 = *puVar24 + 0xfefefeff & ~*puVar24" identifier = (binary_expression "*puVar24 + 0xfefefeff & ~*puVar24" (binary_expression "*puVar24 + 0xfefefeff" (pointer_expression "*puVar24" * identifier) + number_literal) & (unary_expression "~*puVar24" ~ (pointer_expression "*puVar24" * identifier)))) ;) (expression_statement "uVar11 = uVar10 & 0x80808080;" (assignment_expression "uVar11 = uVar10 & 0x80808080" identifier = (binary_expression "uVar10 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar25 = puVar24 + 1;" (assignment_expression "puVar25 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) ;) (expression_statement "bVar34 = (uVar10 & 0x8080) == 0;" (assignment_expression "bVar34 = (uVar10 & 0x8080) == 0" identifier = (binary_expression "(uVar10 & 0x8080) == 0" (parenthesized_expression "(uVar10 & 0x8080)" ( (binary_expression "uVar10 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }" if (parenthesized_expression "(bVar34)" ( identifier )) (compound_statement "{\n                uVar11 = uVar11 >> 0x10;\n              }" { (expression_statement "uVar11 = uVar11 >> 0x10;" (assignment_expression "uVar11 = uVar11 >> 0x10" identifier = (binary_expression "uVar11 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }" if (parenthesized_expression "(bVar34)" ( identifier )) (compound_statement "{\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }" { (expression_statement "puVar25 = (uint *)((long)puVar24 + 6);" (assignment_expression "puVar25 = (uint *)((long)puVar24 + 6)" identifier = (cast_expression "(uint *)((long)puVar24 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar24 + 6)" ( (binary_expression "(long)puVar24 + 6" (cast_expression "(long)puVar24" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (expression_statement "pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );" (assignment_expression "pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                )" identifier = (cast_expression "(char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                )" ( (binary_expression "(long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)" (cast_expression "(long)puVar25" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)" ( (binary_expression "(-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar11,(byte)uVar11)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar11,(byte)uVar11)" identifier (argument_list "((byte)uVar11,(byte)uVar11)" ( (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(long)addend_str" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) )))) ;) (if_statement "if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }" if (parenthesized_expression "((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)" ( (binary_expression "(char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22" (cast_expression "(char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length)" ( (binary_expression "0x7fffffffffffffff - __return_storage_ptr__->_M_string_length" number_literal - (field_expression "__return_storage_ptr__->_M_string_length" identifier -> field_identifier)) ))) < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }" { comment (labeled_statement "std::__throw_length_error("basic_string::append");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_length_error("basic_string::append");" (call_expression "__throw_length_error("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;)) })) (labeled_statement "std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);" statement_identifier : (ERROR ":" :) (expression_statement "_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);" (call_expression "_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22)" identifier (argument_list "((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22)" ( (cast_expression "(string *)__return_storage_ptr__" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (cast_expression "(ulong)pcVar22" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;))) (if_statement "if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }" if (parenthesized_expression "(__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff)" ( (binary_expression "__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff" (field_expression "__return_storage_ptr__->_M_string_length" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }" { comment (labeled_statement "std::__throw_length_error("basic_string::append");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_length_error("basic_string::append");" (call_expression "__throw_length_error("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;)) })) }) (else_clause "else {\n              pcVar22 = (char *)*puVar33;\n              sVar14 = strlen(pcVar22);\n              if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,pcVar22,sVar14);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }" else (compound_statement "{\n              pcVar22 = (char *)*puVar33;\n              sVar14 = strlen(pcVar22);\n              if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,pcVar22,sVar14);\n              puVar25 = (uint *)addend_str;\n              do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);\n              bVar34 = (uVar10 & 0x8080) == 0;\n              if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }\n              if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }\n              pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );\n              if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n              std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);\n              if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }\n            }" { (expression_statement "pcVar22 = (char *)*puVar33;" (assignment_expression "pcVar22 = (char *)*puVar33" identifier = (cast_expression "(char *)*puVar33" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar33" * identifier))) ;) (expression_statement "sVar14 = strlen(pcVar22);" (assignment_expression "sVar14 = strlen(pcVar22)" identifier = (call_expression "strlen(pcVar22)" identifier (argument_list "(pcVar22)" ( identifier )))) ;) (if_statement "if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }" if (parenthesized_expression "(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14)" ( (binary_expression "0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < sVar14" (binary_expression "0x7fffffffffffffff - __return_storage_ptr__->_M_string_length" number_literal - (field_expression "__return_storage_ptr__->_M_string_length" identifier -> field_identifier)) < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }" { comment (labeled_statement "std::__throw_length_error("basic_string::append");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_length_error("basic_string::append");" (call_expression "__throw_length_error("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;)) })) (labeled_statement "std::string::_M_append((string *)__return_storage_ptr__,pcVar22,sVar14);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_append((string *)__return_storage_ptr__,pcVar22,sVar14);" statement_identifier : (ERROR ":" :) (expression_statement "_M_append((string *)__return_storage_ptr__,pcVar22,sVar14);" (call_expression "_M_append((string *)__return_storage_ptr__,pcVar22,sVar14)" identifier (argument_list "((string *)__return_storage_ptr__,pcVar22,sVar14)" ( (cast_expression "(string *)__return_storage_ptr__" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier ))) ;))) (expression_statement "puVar25 = (uint *)addend_str;" (assignment_expression "puVar25 = (uint *)addend_str" identifier = (cast_expression "(uint *)addend_str" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              } while (uVar11 == 0);" do (compound_statement "{\n                puVar24 = puVar25;\n                uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;\n                uVar11 = uVar10 & 0x80808080;\n                puVar25 = puVar24 + 1;\n              }" { (expression_statement "puVar24 = puVar25;" (assignment_expression "puVar24 = puVar25" identifier = identifier) ;) (expression_statement "uVar10 = *puVar24 + 0xfefefeff & ~*puVar24;" (assignment_expression "uVar10 = *puVar24 + 0xfefefeff & ~*puVar24" identifier = (binary_expression "*puVar24 + 0xfefefeff & ~*puVar24" (binary_expression "*puVar24 + 0xfefefeff" (pointer_expression "*puVar24" * identifier) + number_literal) & (unary_expression "~*puVar24" ~ (pointer_expression "*puVar24" * identifier)))) ;) (expression_statement "uVar11 = uVar10 & 0x80808080;" (assignment_expression "uVar11 = uVar10 & 0x80808080" identifier = (binary_expression "uVar10 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar25 = puVar24 + 1;" (assignment_expression "puVar25 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) ;) (expression_statement "bVar34 = (uVar10 & 0x8080) == 0;" (assignment_expression "bVar34 = (uVar10 & 0x8080) == 0" identifier = (binary_expression "(uVar10 & 0x8080) == 0" (parenthesized_expression "(uVar10 & 0x8080)" ( (binary_expression "uVar10 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar34) {\n                uVar11 = uVar11 >> 0x10;\n              }" if (parenthesized_expression "(bVar34)" ( identifier )) (compound_statement "{\n                uVar11 = uVar11 >> 0x10;\n              }" { (expression_statement "uVar11 = uVar11 >> 0x10;" (assignment_expression "uVar11 = uVar11 >> 0x10" identifier = (binary_expression "uVar11 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar34) {\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }" if (parenthesized_expression "(bVar34)" ( identifier )) (compound_statement "{\n                puVar25 = (uint *)((long)puVar24 + 6);\n              }" { (expression_statement "puVar25 = (uint *)((long)puVar24 + 6);" (assignment_expression "puVar25 = (uint *)((long)puVar24 + 6)" identifier = (cast_expression "(uint *)((long)puVar24 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar24 + 6)" ( (binary_expression "(long)puVar24 + 6" (cast_expression "(long)puVar24" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (expression_statement "pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                );" (assignment_expression "pcVar22 = (char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                )" identifier = (cast_expression "(char *)((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)\n                                )" ( (binary_expression "(long)puVar25 +\n                                ((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)" (cast_expression "(long)puVar25" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str)" ( (binary_expression "(-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)) - (long)addend_str" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar11,(byte)uVar11)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar11,(byte)uVar11)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar11,(byte)uVar11)" identifier (argument_list "((byte)uVar11,(byte)uVar11)" ( (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar11" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(long)addend_str" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) )))) ;) (if_statement "if ((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)\n              {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }" if (parenthesized_expression "((char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22)" ( (binary_expression "(char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length) < pcVar22" (cast_expression "(char *)(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length)" ( (binary_expression "0x7fffffffffffffff - __return_storage_ptr__->_M_string_length" number_literal - (field_expression "__return_storage_ptr__->_M_string_length" identifier -> field_identifier)) ))) < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }" { comment (labeled_statement "std::__throw_length_error("basic_string::append");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_length_error("basic_string::append");" (call_expression "__throw_length_error("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;)) })) (labeled_statement "std::string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);" statement_identifier : (ERROR ":" :) (expression_statement "_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22);" (call_expression "_M_append((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22)" identifier (argument_list "((string *)__return_storage_ptr__,addend_str,(ulong)pcVar22)" ( (cast_expression "(string *)__return_storage_ptr__" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (cast_expression "(ulong)pcVar22" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;))) (if_statement "if (__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }" if (parenthesized_expression "(__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff)" ( (binary_expression "__return_storage_ptr__->_M_string_length == 0x7fffffffffffffff" (field_expression "__return_storage_ptr__->_M_string_length" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                std::__throw_length_error("basic_string::append");\n              }" { comment (labeled_statement "std::__throw_length_error("basic_string::append");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_length_error("basic_string::append");" (call_expression "__throw_length_error("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;)) })) }))) (goto_statement "goto LAB_0019d1b1;" goto statement_identifier ;) })) }))) })) }))) (labeled_statement "LAB_0019ce15:\n    lVar28 = lVar28 + 4;" statement_identifier : (expression_statement "lVar28 = lVar28 + 4;" (assignment_expression "lVar28 = lVar28 + 4" identifier = (binary_expression "lVar28 + 4" identifier + number_literal)) ;)) (expression_statement "p_Var27 = p_Var27 + 2;" (assignment_expression "p_Var27 = p_Var27 + 2" identifier = (binary_expression "p_Var27 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(p_Var30[4]._M_nxt != p_Var27)" ( (binary_expression "p_Var30[4]._M_nxt != p_Var27" (field_expression "p_Var30[4]._M_nxt" (subscript_expression "p_Var30[4]" identifier [ number_literal ]) . field_identifier) != identifier) )) ;)) (labeled_statement "LAB_0019d282:\n  if (first_iteration) {\n    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 0xb) {\n                    /* WARNING: Subroutine does not return */\n      std::__throw_length_error("basic_string::append");\n    }\n    std::string::_M_append((string *)__return_storage_ptr__,"Contents = ",0xb);\n    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < plen) {\n                    /* WARNING: Subroutine does not return */\n      std::__throw_length_error("basic_string::append");\n    }\n    std::string::_M_append((string *)__return_storage_ptr__,(char *)local_f8,plen);\n    std::string::_M_assign\n              ((string *)\n               ((section_contents->\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                )._M_impl._M_start + section_num),(string *)__return_storage_ptr__);\n  }\n  else {\n    if (__return_storage_ptr__->_M_string_length != 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/icf.cc",0x242,"get_section_contents");\n    }\n    pbVar17 = (section_contents->\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              )._M_impl._M_start + section_num;\n    std::string::_M_append\n              ((string *)__return_storage_ptr__,(pbVar17->_M_dataplus)._M_p,\n               pbVar17->_M_string_length);\n  }" statement_identifier : (if_statement "if (first_iteration) {\n    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 0xb) {\n                    /* WARNING: Subroutine does not return */\n      std::__throw_length_error("basic_string::append");\n    }\n    std::string::_M_append((string *)__return_storage_ptr__,"Contents = ",0xb);\n    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < plen) {\n                    /* WARNING: Subroutine does not return */\n      std::__throw_length_error("basic_string::append");\n    }\n    std::string::_M_append((string *)__return_storage_ptr__,(char *)local_f8,plen);\n    std::string::_M_assign\n              ((string *)\n               ((section_contents->\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                )._M_impl._M_start + section_num),(string *)__return_storage_ptr__);\n  }\n  else {\n    if (__return_storage_ptr__->_M_string_length != 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/icf.cc",0x242,"get_section_contents");\n    }\n    pbVar17 = (section_contents->\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              )._M_impl._M_start + section_num;\n    std::string::_M_append\n              ((string *)__return_storage_ptr__,(pbVar17->_M_dataplus)._M_p,\n               pbVar17->_M_string_length);\n  }" if (parenthesized_expression "(first_iteration)" ( identifier )) (compound_statement "{\n    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 0xb) {\n                    /* WARNING: Subroutine does not return */\n      std::__throw_length_error("basic_string::append");\n    }\n    std::string::_M_append((string *)__return_storage_ptr__,"Contents = ",0xb);\n    if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < plen) {\n                    /* WARNING: Subroutine does not return */\n      std::__throw_length_error("basic_string::append");\n    }\n    std::string::_M_append((string *)__return_storage_ptr__,(char *)local_f8,plen);\n    std::string::_M_assign\n              ((string *)\n               ((section_contents->\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                )._M_impl._M_start + section_num),(string *)__return_storage_ptr__);\n  }" { (if_statement "if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 0xb) {\n                    /* WARNING: Subroutine does not return */\n      std::__throw_length_error("basic_string::append");\n    }" if (parenthesized_expression "(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 0xb)" ( (binary_expression "0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < 0xb" (binary_expression "0x7fffffffffffffff - __return_storage_ptr__->_M_string_length" number_literal - (field_expression "__return_storage_ptr__->_M_string_length" identifier -> field_identifier)) < number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      std::__throw_length_error("basic_string::append");\n    }" { comment (labeled_statement "std::__throw_length_error("basic_string::append");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_length_error("basic_string::append");" (call_expression "__throw_length_error("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;)) })) (labeled_statement "std::string::_M_append((string *)__return_storage_ptr__,"Contents = ",0xb);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_append((string *)__return_storage_ptr__,"Contents = ",0xb);" statement_identifier : (ERROR ":" :) (expression_statement "_M_append((string *)__return_storage_ptr__,"Contents = ",0xb);" (call_expression "_M_append((string *)__return_storage_ptr__,"Contents = ",0xb)" identifier (argument_list "((string *)__return_storage_ptr__,"Contents = ",0xb)" ( (cast_expression "(string *)__return_storage_ptr__" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""Contents = "" " string_content ") , number_literal ))) ;))) (if_statement "if (0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < plen) {\n                    /* WARNING: Subroutine does not return */\n      std::__throw_length_error("basic_string::append");\n    }" if (parenthesized_expression "(0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < plen)" ( (binary_expression "0x7fffffffffffffff - __return_storage_ptr__->_M_string_length < plen" (binary_expression "0x7fffffffffffffff - __return_storage_ptr__->_M_string_length" number_literal - (field_expression "__return_storage_ptr__->_M_string_length" identifier -> field_identifier)) < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      std::__throw_length_error("basic_string::append");\n    }" { comment (labeled_statement "std::__throw_length_error("basic_string::append");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_length_error("basic_string::append");" (call_expression "__throw_length_error("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;)) })) (labeled_statement "std::string::_M_append((string *)__return_storage_ptr__,(char *)local_f8,plen);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_append((string *)__return_storage_ptr__,(char *)local_f8,plen);" statement_identifier : (ERROR ":" :) (expression_statement "_M_append((string *)__return_storage_ptr__,(char *)local_f8,plen);" (call_expression "_M_append((string *)__return_storage_ptr__,(char *)local_f8,plen)" identifier (argument_list "((string *)__return_storage_ptr__,(char *)local_f8,plen)" ( (cast_expression "(string *)__return_storage_ptr__" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)local_f8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;))) (labeled_statement "std::string::_M_assign\n              ((string *)\n               ((section_contents->\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                )._M_impl._M_start + section_num),(string *)__return_storage_ptr__);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_assign\n              ((string *)\n               ((section_contents->\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                )._M_impl._M_start + section_num),(string *)__return_storage_ptr__);" statement_identifier : (ERROR ":" :) (expression_statement "_M_assign\n              ((string *)\n               ((section_contents->\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                )._M_impl._M_start + section_num),(string *)__return_storage_ptr__);" (call_expression "_M_assign\n              ((string *)\n               ((section_contents->\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                )._M_impl._M_start + section_num),(string *)__return_storage_ptr__)" identifier (argument_list "((string *)\n               ((section_contents->\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                )._M_impl._M_start + section_num),(string *)__return_storage_ptr__)" ( (cast_expression "(string *)\n               ((section_contents->\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                )._M_impl._M_start + section_num)" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((section_contents->\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                )._M_impl._M_start + section_num)" ( (binary_expression "(section_contents->\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                )._M_impl._M_start + section_num" (field_expression "(section_contents->\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                )._M_impl._M_start" (field_expression "(section_contents->\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                )._M_impl" (parenthesized_expression "(section_contents->\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                )" ( (ERROR "section_contents->\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "section_contents->\n                super__Vector_base<std::__cxx11::basic_string<char,_std" (binary_expression "section_contents->\n                super__Vector_base<std::__cxx11::basic_string<char" (binary_expression "section_contents->\n                super__Vector_base<std" (field_expression "section_contents->\n                super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_>_>" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) )) . field_identifier) . field_identifier) + identifier) ))) , (cast_expression "(string *)__return_storage_ptr__" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;))) }) (else_clause "else {\n    if (__return_storage_ptr__->_M_string_length != 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/icf.cc",0x242,"get_section_contents");\n    }\n    pbVar17 = (section_contents->\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              )._M_impl._M_start + section_num;\n    std::string::_M_append\n              ((string *)__return_storage_ptr__,(pbVar17->_M_dataplus)._M_p,\n               pbVar17->_M_string_length);\n  }" else (compound_statement "{\n    if (__return_storage_ptr__->_M_string_length != 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/icf.cc",0x242,"get_section_contents");\n    }\n    pbVar17 = (section_contents->\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              )._M_impl._M_start + section_num;\n    std::string::_M_append\n              ((string *)__return_storage_ptr__,(pbVar17->_M_dataplus)._M_p,\n               pbVar17->_M_string_length);\n  }" { (if_statement "if (__return_storage_ptr__->_M_string_length != 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/icf.cc",0x242,"get_section_contents");\n    }" if (parenthesized_expression "(__return_storage_ptr__->_M_string_length != 0)" ( (binary_expression "__return_storage_ptr__->_M_string_length != 0" (field_expression "__return_storage_ptr__->_M_string_length" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/icf.cc",0x242,"get_section_contents");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/icf.cc",0x242,"get_section_contents");" (call_expression "do_gold_unreachable("../../gold/icf.cc",0x242,"get_section_contents")" identifier (argument_list "("../../gold/icf.cc",0x242,"get_section_contents")" ( (string_literal ""../../gold/icf.cc"" " string_content ") , number_literal , (string_literal ""get_section_contents"" " string_content ") ))) ;) })) (expression_statement "pbVar17 = (section_contents->\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              )._M_impl._M_start + section_num;" (assignment_expression "pbVar17 = (section_contents->\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              )._M_impl._M_start + section_num" identifier = (binary_expression "(section_contents->\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              )._M_impl._M_start + section_num" (field_expression "(section_contents->\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              )._M_impl._M_start" (field_expression "(section_contents->\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              )._M_impl" (parenthesized_expression "(section_contents->\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              )" ( (ERROR "section_contents->\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "section_contents->\n              super__Vector_base<std::__cxx11::basic_string<char,_std" (binary_expression "section_contents->\n              super__Vector_base<std::__cxx11::basic_string<char" (binary_expression "section_contents->\n              super__Vector_base<std" (field_expression "section_contents->\n              super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_>_>" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) )) . field_identifier) . field_identifier) + identifier)) ;) (labeled_statement "std::string::_M_append\n              ((string *)__return_storage_ptr__,(pbVar17->_M_dataplus)._M_p,\n               pbVar17->_M_string_length);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_append\n              ((string *)__return_storage_ptr__,(pbVar17->_M_dataplus)._M_p,\n               pbVar17->_M_string_length);" statement_identifier : (ERROR ":" :) (expression_statement "_M_append\n              ((string *)__return_storage_ptr__,(pbVar17->_M_dataplus)._M_p,\n               pbVar17->_M_string_length);" (call_expression "_M_append\n              ((string *)__return_storage_ptr__,(pbVar17->_M_dataplus)._M_p,\n               pbVar17->_M_string_length)" identifier (argument_list "((string *)__return_storage_ptr__,(pbVar17->_M_dataplus)._M_p,\n               pbVar17->_M_string_length)" ( (cast_expression "(string *)__return_storage_ptr__" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (field_expression "(pbVar17->_M_dataplus)._M_p" (parenthesized_expression "(pbVar17->_M_dataplus)" ( (field_expression "pbVar17->_M_dataplus" identifier -> field_identifier) )) . field_identifier) , (field_expression "pbVar17->_M_string_length" identifier -> field_identifier) ))) ;))) })))) (labeled_statement "std::string::_M_append\n            ((string *)__return_storage_ptr__,icf_reloc_buffer._M_dataplus._M_p,\n             icf_reloc_buffer._M_string_length);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_append\n            ((string *)__return_storage_ptr__,icf_reloc_buffer._M_dataplus._M_p,\n             icf_reloc_buffer._M_string_length);" statement_identifier : (ERROR ":" :) (expression_statement "_M_append\n            ((string *)__return_storage_ptr__,icf_reloc_buffer._M_dataplus._M_p,\n             icf_reloc_buffer._M_string_length);" (call_expression "_M_append\n            ((string *)__return_storage_ptr__,icf_reloc_buffer._M_dataplus._M_p,\n             icf_reloc_buffer._M_string_length)" identifier (argument_list "((string *)__return_storage_ptr__,icf_reloc_buffer._M_dataplus._M_p,\n             icf_reloc_buffer._M_string_length)" ( (cast_expression "(string *)__return_storage_ptr__" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (field_expression "icf_reloc_buffer._M_dataplus._M_p" (field_expression "icf_reloc_buffer._M_dataplus" identifier . field_identifier) . field_identifier) , (field_expression "icf_reloc_buffer._M_string_length" identifier . field_identifier) ))) ;))) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)icf_reloc_buffer._M_dataplus._M_p != &icf_reloc_buffer.field_2) {\n    operator_delete(icf_reloc_buffer._M_dataplus._M_p);\n  }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)icf_reloc_buffer._M_dataplus._M_p != &icf_reloc_buffer.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)icf_reloc_buffer._M_dataplus._M_p != &icf_reloc_buffer.field_2)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n       *)icf_reloc_buffer._M_dataplus._M_p != &icf_reloc_buffer.field_2" (binary_expression "allocator<char>_>_9\n       *)icf_reloc_buffer._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n       *)icf_reloc_buffer._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "icf_reloc_buffer._M_dataplus._M_p" (field_expression "icf_reloc_buffer._M_dataplus" identifier . field_identifier) . field_identifier))) != (pointer_expression "&icf_reloc_buffer.field_2" & (field_expression "icf_reloc_buffer.field_2" identifier . field_identifier))) )) )) (compound_statement "{\n    operator_delete(icf_reloc_buffer._M_dataplus._M_p);\n  }" { (expression_statement "operator_delete(icf_reloc_buffer._M_dataplus._M_p);" (call_expression "operator_delete(icf_reloc_buffer._M_dataplus._M_p)" identifier (argument_list "(icf_reloc_buffer._M_dataplus._M_p)" ( (field_expression "icf_reloc_buffer._M_dataplus._M_p" (field_expression "icf_reloc_buffer._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) })) (expression_statement "pIVar2 = (pRVar1->super_Object).input_file_;" (assignment_expression "pIVar2 = (pRVar1->super_Object).input_file_" identifier = (field_expression "(pRVar1->super_Object).input_file_" (parenthesized_expression "(pRVar1->super_Object)" ( (field_expression "pRVar1->super_Object" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (pIVar2 != (Input_file *)0x0) {\n    File_read::unlock(&pIVar2->file_,(Task *)0xffffffffffffffff);\n  }" if (parenthesized_expression "(pIVar2 != (Input_file *)0x0)" ( (binary_expression "pIVar2 != (Input_file *)0x0" identifier != (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    File_read::unlock(&pIVar2->file_,(Task *)0xffffffffffffffff);\n  }" { (labeled_statement "File_read::unlock(&pIVar2->file_,(Task *)0xffffffffffffffff);" statement_identifier : (ERROR ":" :) (expression_statement "unlock(&pIVar2->file_,(Task *)0xffffffffffffffff);" (call_expression "unlock(&pIVar2->file_,(Task *)0xffffffffffffffff)" identifier (argument_list "(&pIVar2->file_,(Task *)0xffffffffffffffff)" ( (pointer_expression "&pIVar2->file_" & (field_expression "pIVar2->file_" identifier -> field_identifier)) , (cast_expression "(Task *)0xffffffffffffffff" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;)) })) (return_statement "return __return_storage_ptr__;" return identifier ;) }))
(translation_unit "undefined8 *\nFUN_0019c970(undefined8 *param_1,char param_2,ulong *param_3,uint param_4,int *param_5,long param_6,\n            long *param_7,long *param_8)\n\n{\n  int *__s;\n  ulong uVar1;\n  long lVar2;\n  long *plVar3;\n  long lVar4;\n  long lVar5;\n  long lVar6;\n  long lVar7;\n  char *__s_00;\n  char cVar8;\n  uint uVar9;\n  uint uVar10;\n  long lVar11;\n  ulong uVar12;\n  size_t sVar13;\n  char *pcVar14;\n  undefined8 *puVar15;\n  long lVar16;\n  ulong uVar17;\n  ulong uVar18;\n  ulong *puVar19;\n  ulong *puVar20;\n  ulong *puVar21;\n  long lVar22;\n  long *plVar23;\n  char *pcVar24;\n  ulong uVar25;\n  long *plVar26;\n  bool bVar27;\n  long local_f8;\n  char local_c1;\n  ulong local_c0;\n  ulong local_b8 [2];\n  ulong local_a8;\n  int local_a0;\n  undefined1 *local_98;\n  long local_90;\n  undefined1 local_88 [16];\n  ulong local_78;\n  int local_70;\n  long local_68;\n  \n  uVar1 = *param_3;\n  lVar2 = *(long *)(uVar1 + 0x28);\n  if (lVar2 != 0) {\n    FUN_00192a40(lVar2 + 0x28,0xffffffffffffffff);\n  }\n  local_f8 = 0;\n  if (param_2 != '\0') {\n                    \n    local_f8 = FUN_001c7ce0(*param_3,(int)param_3[1],&local_c0,0);\n  }\n  puVar15 = param_1 + 2;\n  param_1[1] = 0;\n  local_98 = local_88;\n  *param_1 = puVar15;\n  *(undefined1 *)(param_1 + 2) = 0;\n  if (param_5 != (int *)0x0) {\n    *param_5 = 0;\n    puVar15 = (undefined8 *)*param_1;\n  }\n  uVar12 = *(ulong *)(*(long *)(param_6 + 0x298) + 0xb0);\n  uVar25 = (ulong)(uint)param_3[1] ^ *param_3;\n  uVar18 = uVar25 % uVar12;\n  plVar26 = *(long **)(*(long *)(*(long *)(param_6 + 0x298) + 0xa8) + uVar18 * 8);\n  if (plVar26 != (long *)0x0) {\n    uVar17 = ((long *)*plVar26)[0x12];\n    plVar3 = (long *)*plVar26;\n    while (((plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])) ||\n           ((uint)param_3[1] != *(uint *)(plVar23 + 2)))) {\n      plVar3 = (long *)*plVar23;\n      if ((plVar3 == (long *)0x0) ||\n         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)) goto LAB_0019d260;\n    }\n    lVar2 = *plVar26;\n    if (lVar2 != 0) {\n      param_1[1] = 0;\n      lVar22 = 0;\n      *(undefined1 *)puVar15 = 0;\n      local_90 = 0;\n      local_88[0] = 0;\n      lVar4 = *(long *)(lVar2 + 0x30);\n      lVar5 = *(long *)(lVar2 + 0x48);\n      lVar6 = *(long *)(lVar2 + 0x60);\n      lVar7 = *(long *)(lVar2 + 0x78);\n      puVar21 = *(ulong **)(lVar2 + 0x18);\n      if (puVar21 == *(ulong **)(lVar2 + 0x20)) goto LAB_0019d282;\n      goto LAB_0019ce2c;\n    }\n  }\nLAB_0019d260:\n  param_1[1] = 0;\n  *(undefined1 *)puVar15 = 0;\n  local_90 = 0;\n  local_88[0] = 0;\n  goto LAB_0019d282;\nLAB_0019ce2c:\n  do {\n    puVar15 = *(undefined8 **)(lVar4 + lVar22 * 2);\n    bVar27 = puVar15 == (undefined8 *)0xffffffffffffffff;\n    if (bVar27) {\n      puVar15 = (undefined8 *)0x0;\n    }\n    lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n    lVar16 = *(long *)(lVar5 + lVar22 * 4);\n    if (param_2 == '\0') {\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) {\nLAB_0019cbd9:\n        local_a8 = *puVar21;\n        local_a0 = (int)puVar21[1];\n        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }\n    else {\n      uVar12 = *puVar21;\n      if (uVar12 != 0) {\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    \n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) goto LAB_0019cbd9;\n      pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      puVar20 = &local_78;\n      if (puVar15 != (undefined8 *)0x0) {\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    \n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }\n      do {\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      } while (uVar10 == 0);\n      bVar27 = (uVar9 & 0x8080) == 0;\n      if (bVar27) {\n        uVar10 = uVar10 >> 0x10;\n      }\n      if (bVar27) {\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }\n      if (pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\n      FUN_002aac00(param_1,&local_78);\n      if (param_1[1] == 0x7fffffffffffffff) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\nLAB_0019d1b1:\n      FUN_002aac00(param_1,&DAT_0034070c,1);\n    }\nLAB_0019ce15:\n    lVar22 = lVar22 + 4;\n    puVar21 = puVar21 + 2;\n  } while (*(ulong **)(lVar2 + 0x20) != puVar21);\nLAB_0019d282:\n  if (param_2 == '\0') {\n    if (param_1[1] != 0) {\n                    \n      FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents");\n    }\n    puVar15 = (undefined8 *)((ulong)param_4 * 0x20 + *param_8);\n    FUN_002aac00(param_1,*puVar15,puVar15[1]);\n  }\n  else {\n    if (0x7fffffffffffffff - param_1[1] < 0xb) {\n                    \n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,"Contents = ",0xb);\n    if (0x7fffffffffffffff - param_1[1] < local_c0) {\n                    \n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,local_f8);\n    FUN_002a95a0((ulong)param_4 * 0x20 + *param_8,param_1);\n  }\n  FUN_002aac00(param_1,local_98,local_90);\n  if (local_98 != local_88) {\n    FUN_002a2980();\n  }\n  lVar2 = *(long *)(uVar1 + 0x28);\n  if (lVar2 != 0) {\n    FUN_00193600(lVar2 + 0x28,0xffffffffffffffff);\n  }\n  return param_1;\n}\n\n" (function_definition "undefined8 *\nFUN_0019c970(undefined8 *param_1,char param_2,ulong *param_3,uint param_4,int *param_5,long param_6,\n            long *param_7,long *param_8)\n\n{\n  int *__s;\n  ulong uVar1;\n  long lVar2;\n  long *plVar3;\n  long lVar4;\n  long lVar5;\n  long lVar6;\n  long lVar7;\n  char *__s_00;\n  char cVar8;\n  uint uVar9;\n  uint uVar10;\n  long lVar11;\n  ulong uVar12;\n  size_t sVar13;\n  char *pcVar14;\n  undefined8 *puVar15;\n  long lVar16;\n  ulong uVar17;\n  ulong uVar18;\n  ulong *puVar19;\n  ulong *puVar20;\n  ulong *puVar21;\n  long lVar22;\n  long *plVar23;\n  char *pcVar24;\n  ulong uVar25;\n  long *plVar26;\n  bool bVar27;\n  long local_f8;\n  char local_c1;\n  ulong local_c0;\n  ulong local_b8 [2];\n  ulong local_a8;\n  int local_a0;\n  undefined1 *local_98;\n  long local_90;\n  undefined1 local_88 [16];\n  ulong local_78;\n  int local_70;\n  long local_68;\n  \n  uVar1 = *param_3;\n  lVar2 = *(long *)(uVar1 + 0x28);\n  if (lVar2 != 0) {\n    FUN_00192a40(lVar2 + 0x28,0xffffffffffffffff);\n  }\n  local_f8 = 0;\n  if (param_2 != '\0') {\n                    \n    local_f8 = FUN_001c7ce0(*param_3,(int)param_3[1],&local_c0,0);\n  }\n  puVar15 = param_1 + 2;\n  param_1[1] = 0;\n  local_98 = local_88;\n  *param_1 = puVar15;\n  *(undefined1 *)(param_1 + 2) = 0;\n  if (param_5 != (int *)0x0) {\n    *param_5 = 0;\n    puVar15 = (undefined8 *)*param_1;\n  }\n  uVar12 = *(ulong *)(*(long *)(param_6 + 0x298) + 0xb0);\n  uVar25 = (ulong)(uint)param_3[1] ^ *param_3;\n  uVar18 = uVar25 % uVar12;\n  plVar26 = *(long **)(*(long *)(*(long *)(param_6 + 0x298) + 0xa8) + uVar18 * 8);\n  if (plVar26 != (long *)0x0) {\n    uVar17 = ((long *)*plVar26)[0x12];\n    plVar3 = (long *)*plVar26;\n    while (((plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])) ||\n           ((uint)param_3[1] != *(uint *)(plVar23 + 2)))) {\n      plVar3 = (long *)*plVar23;\n      if ((plVar3 == (long *)0x0) ||\n         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)) goto LAB_0019d260;\n    }\n    lVar2 = *plVar26;\n    if (lVar2 != 0) {\n      param_1[1] = 0;\n      lVar22 = 0;\n      *(undefined1 *)puVar15 = 0;\n      local_90 = 0;\n      local_88[0] = 0;\n      lVar4 = *(long *)(lVar2 + 0x30);\n      lVar5 = *(long *)(lVar2 + 0x48);\n      lVar6 = *(long *)(lVar2 + 0x60);\n      lVar7 = *(long *)(lVar2 + 0x78);\n      puVar21 = *(ulong **)(lVar2 + 0x18);\n      if (puVar21 == *(ulong **)(lVar2 + 0x20)) goto LAB_0019d282;\n      goto LAB_0019ce2c;\n    }\n  }\nLAB_0019d260:\n  param_1[1] = 0;\n  *(undefined1 *)puVar15 = 0;\n  local_90 = 0;\n  local_88[0] = 0;\n  goto LAB_0019d282;\nLAB_0019ce2c:\n  do {\n    puVar15 = *(undefined8 **)(lVar4 + lVar22 * 2);\n    bVar27 = puVar15 == (undefined8 *)0xffffffffffffffff;\n    if (bVar27) {\n      puVar15 = (undefined8 *)0x0;\n    }\n    lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n    lVar16 = *(long *)(lVar5 + lVar22 * 4);\n    if (param_2 == '\0') {\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) {\nLAB_0019cbd9:\n        local_a8 = *puVar21;\n        local_a0 = (int)puVar21[1];\n        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }\n    else {\n      uVar12 = *puVar21;\n      if (uVar12 != 0) {\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    \n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) goto LAB_0019cbd9;\n      pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      puVar20 = &local_78;\n      if (puVar15 != (undefined8 *)0x0) {\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    \n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }\n      do {\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      } while (uVar10 == 0);\n      bVar27 = (uVar9 & 0x8080) == 0;\n      if (bVar27) {\n        uVar10 = uVar10 >> 0x10;\n      }\n      if (bVar27) {\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }\n      if (pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\n      FUN_002aac00(param_1,&local_78);\n      if (param_1[1] == 0x7fffffffffffffff) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\nLAB_0019d1b1:\n      FUN_002aac00(param_1,&DAT_0034070c,1);\n    }\nLAB_0019ce15:\n    lVar22 = lVar22 + 4;\n    puVar21 = puVar21 + 2;\n  } while (*(ulong **)(lVar2 + 0x20) != puVar21);\nLAB_0019d282:\n  if (param_2 == '\0') {\n    if (param_1[1] != 0) {\n                    \n      FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents");\n    }\n    puVar15 = (undefined8 *)((ulong)param_4 * 0x20 + *param_8);\n    FUN_002aac00(param_1,*puVar15,puVar15[1]);\n  }\n  else {\n    if (0x7fffffffffffffff - param_1[1] < 0xb) {\n                    \n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,"Contents = ",0xb);\n    if (0x7fffffffffffffff - param_1[1] < local_c0) {\n                    \n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,local_f8);\n    FUN_002a95a0((ulong)param_4 * 0x20 + *param_8,param_1);\n  }\n  FUN_002aac00(param_1,local_98,local_90);\n  if (local_98 != local_88) {\n    FUN_002a2980();\n  }\n  lVar2 = *(long *)(uVar1 + 0x28);\n  if (lVar2 != 0) {\n    FUN_00193600(lVar2 + 0x28,0xffffffffffffffff);\n  }\n  return param_1;\n}" type_identifier (pointer_declarator "*\nFUN_0019c970(undefined8 *param_1,char param_2,ulong *param_3,uint param_4,int *param_5,long param_6,\n            long *param_7,long *param_8)" * (function_declarator "FUN_0019c970(undefined8 *param_1,char param_2,ulong *param_3,uint param_4,int *param_5,long param_6,\n            long *param_7,long *param_8)" identifier (parameter_list "(undefined8 *param_1,char param_2,ulong *param_3,uint param_4,int *param_5,long param_6,\n            long *param_7,long *param_8)" ( (parameter_declaration "undefined8 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "char param_2" primitive_type identifier) , (parameter_declaration "ulong *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "uint param_4" type_identifier identifier) , (parameter_declaration "int *param_5" primitive_type (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "long param_6" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long *param_7" (sized_type_specifier "long" long) (pointer_declarator "*param_7" * identifier)) , (parameter_declaration "long *param_8" (sized_type_specifier "long" long) (pointer_declarator "*param_8" * identifier)) )))) (compound_statement "{\n  int *__s;\n  ulong uVar1;\n  long lVar2;\n  long *plVar3;\n  long lVar4;\n  long lVar5;\n  long lVar6;\n  long lVar7;\n  char *__s_00;\n  char cVar8;\n  uint uVar9;\n  uint uVar10;\n  long lVar11;\n  ulong uVar12;\n  size_t sVar13;\n  char *pcVar14;\n  undefined8 *puVar15;\n  long lVar16;\n  ulong uVar17;\n  ulong uVar18;\n  ulong *puVar19;\n  ulong *puVar20;\n  ulong *puVar21;\n  long lVar22;\n  long *plVar23;\n  char *pcVar24;\n  ulong uVar25;\n  long *plVar26;\n  bool bVar27;\n  long local_f8;\n  char local_c1;\n  ulong local_c0;\n  ulong local_b8 [2];\n  ulong local_a8;\n  int local_a0;\n  undefined1 *local_98;\n  long local_90;\n  undefined1 local_88 [16];\n  ulong local_78;\n  int local_70;\n  long local_68;\n  \n  uVar1 = *param_3;\n  lVar2 = *(long *)(uVar1 + 0x28);\n  if (lVar2 != 0) {\n    FUN_00192a40(lVar2 + 0x28,0xffffffffffffffff);\n  }\n  local_f8 = 0;\n  if (param_2 != '\0') {\n                    \n    local_f8 = FUN_001c7ce0(*param_3,(int)param_3[1],&local_c0,0);\n  }\n  puVar15 = param_1 + 2;\n  param_1[1] = 0;\n  local_98 = local_88;\n  *param_1 = puVar15;\n  *(undefined1 *)(param_1 + 2) = 0;\n  if (param_5 != (int *)0x0) {\n    *param_5 = 0;\n    puVar15 = (undefined8 *)*param_1;\n  }\n  uVar12 = *(ulong *)(*(long *)(param_6 + 0x298) + 0xb0);\n  uVar25 = (ulong)(uint)param_3[1] ^ *param_3;\n  uVar18 = uVar25 % uVar12;\n  plVar26 = *(long **)(*(long *)(*(long *)(param_6 + 0x298) + 0xa8) + uVar18 * 8);\n  if (plVar26 != (long *)0x0) {\n    uVar17 = ((long *)*plVar26)[0x12];\n    plVar3 = (long *)*plVar26;\n    while (((plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])) ||\n           ((uint)param_3[1] != *(uint *)(plVar23 + 2)))) {\n      plVar3 = (long *)*plVar23;\n      if ((plVar3 == (long *)0x0) ||\n         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)) goto LAB_0019d260;\n    }\n    lVar2 = *plVar26;\n    if (lVar2 != 0) {\n      param_1[1] = 0;\n      lVar22 = 0;\n      *(undefined1 *)puVar15 = 0;\n      local_90 = 0;\n      local_88[0] = 0;\n      lVar4 = *(long *)(lVar2 + 0x30);\n      lVar5 = *(long *)(lVar2 + 0x48);\n      lVar6 = *(long *)(lVar2 + 0x60);\n      lVar7 = *(long *)(lVar2 + 0x78);\n      puVar21 = *(ulong **)(lVar2 + 0x18);\n      if (puVar21 == *(ulong **)(lVar2 + 0x20)) goto LAB_0019d282;\n      goto LAB_0019ce2c;\n    }\n  }\nLAB_0019d260:\n  param_1[1] = 0;\n  *(undefined1 *)puVar15 = 0;\n  local_90 = 0;\n  local_88[0] = 0;\n  goto LAB_0019d282;\nLAB_0019ce2c:\n  do {\n    puVar15 = *(undefined8 **)(lVar4 + lVar22 * 2);\n    bVar27 = puVar15 == (undefined8 *)0xffffffffffffffff;\n    if (bVar27) {\n      puVar15 = (undefined8 *)0x0;\n    }\n    lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n    lVar16 = *(long *)(lVar5 + lVar22 * 4);\n    if (param_2 == '\0') {\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) {\nLAB_0019cbd9:\n        local_a8 = *puVar21;\n        local_a0 = (int)puVar21[1];\n        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }\n    else {\n      uVar12 = *puVar21;\n      if (uVar12 != 0) {\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    \n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) goto LAB_0019cbd9;\n      pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      puVar20 = &local_78;\n      if (puVar15 != (undefined8 *)0x0) {\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    \n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }\n      do {\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      } while (uVar10 == 0);\n      bVar27 = (uVar9 & 0x8080) == 0;\n      if (bVar27) {\n        uVar10 = uVar10 >> 0x10;\n      }\n      if (bVar27) {\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }\n      if (pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\n      FUN_002aac00(param_1,&local_78);\n      if (param_1[1] == 0x7fffffffffffffff) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\nLAB_0019d1b1:\n      FUN_002aac00(param_1,&DAT_0034070c,1);\n    }\nLAB_0019ce15:\n    lVar22 = lVar22 + 4;\n    puVar21 = puVar21 + 2;\n  } while (*(ulong **)(lVar2 + 0x20) != puVar21);\nLAB_0019d282:\n  if (param_2 == '\0') {\n    if (param_1[1] != 0) {\n                    \n      FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents");\n    }\n    puVar15 = (undefined8 *)((ulong)param_4 * 0x20 + *param_8);\n    FUN_002aac00(param_1,*puVar15,puVar15[1]);\n  }\n  else {\n    if (0x7fffffffffffffff - param_1[1] < 0xb) {\n                    \n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,"Contents = ",0xb);\n    if (0x7fffffffffffffff - param_1[1] < local_c0) {\n                    \n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,local_f8);\n    FUN_002a95a0((ulong)param_4 * 0x20 + *param_8,param_1);\n  }\n  FUN_002aac00(param_1,local_98,local_90);\n  if (local_98 != local_88) {\n    FUN_002a2980();\n  }\n  lVar2 = *(long *)(uVar1 + 0x28);\n  if (lVar2 != 0) {\n    FUN_00193600(lVar2 + 0x28,0xffffffffffffffff);\n  }\n  return param_1;\n}" { (declaration "int *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "ulong uVar1;" type_identifier identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "long *plVar3;" (sized_type_specifier "long" long) (pointer_declarator "*plVar3" * identifier) ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar7;" (sized_type_specifier "long" long) identifier ;) (declaration "char *__s_00;" primitive_type (pointer_declarator "*__s_00" * identifier) ;) (declaration "char cVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "long lVar11;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar12;" type_identifier identifier ;) (declaration "size_t sVar13;" primitive_type identifier ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "undefined8 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "long lVar16;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar17;" type_identifier identifier ;) (declaration "ulong uVar18;" type_identifier identifier ;) (declaration "ulong *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "ulong *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "ulong *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "long lVar22;" (sized_type_specifier "long" long) identifier ;) (declaration "long *plVar23;" (sized_type_specifier "long" long) (pointer_declarator "*plVar23" * identifier) ;) (declaration "char *pcVar24;" primitive_type (pointer_declarator "*pcVar24" * identifier) ;) (declaration "ulong uVar25;" type_identifier identifier ;) (declaration "long *plVar26;" (sized_type_specifier "long" long) (pointer_declarator "*plVar26" * identifier) ;) (declaration "bool bVar27;" primitive_type identifier ;) (declaration "long local_f8;" (sized_type_specifier "long" long) identifier ;) (declaration "char local_c1;" primitive_type identifier ;) (declaration "ulong local_c0;" type_identifier identifier ;) (declaration "ulong local_b8 [2];" type_identifier (array_declarator "local_b8 [2]" identifier [ number_literal ]) ;) (declaration "ulong local_a8;" type_identifier identifier ;) (declaration "int local_a0;" primitive_type identifier ;) (declaration "undefined1 *local_98;" type_identifier (pointer_declarator "*local_98" * identifier) ;) (declaration "long local_90;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 local_88 [16];" type_identifier (array_declarator "local_88 [16]" identifier [ number_literal ]) ;) (declaration "ulong local_78;" type_identifier identifier ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "long local_68;" (sized_type_specifier "long" long) identifier ;) (expression_statement "uVar1 = *param_3;" (assignment_expression "uVar1 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (expression_statement "lVar2 = *(long *)(uVar1 + 0x28);" (assignment_expression "lVar2 = *(long *)(uVar1 + 0x28)" identifier = (pointer_expression "*(long *)(uVar1 + 0x28)" * (cast_expression "(long *)(uVar1 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar1 + 0x28)" ( (binary_expression "uVar1 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (lVar2 != 0) {\n    FUN_00192a40(lVar2 + 0x28,0xffffffffffffffff);\n  }" if (parenthesized_expression "(lVar2 != 0)" ( (binary_expression "lVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_00192a40(lVar2 + 0x28,0xffffffffffffffff);\n  }" { (expression_statement "FUN_00192a40(lVar2 + 0x28,0xffffffffffffffff);" (call_expression "FUN_00192a40(lVar2 + 0x28,0xffffffffffffffff)" identifier (argument_list "(lVar2 + 0x28,0xffffffffffffffff)" ( (binary_expression "lVar2 + 0x28" identifier + number_literal) , number_literal ))) ;) })) (expression_statement "local_f8 = 0;" (assignment_expression "local_f8 = 0" identifier = number_literal) ;) (if_statement "if (param_2 != '\0') {\n                    \n    local_f8 = FUN_001c7ce0(*param_3,(int)param_3[1],&local_c0,0);\n  }" if (parenthesized_expression "(param_2 != '\0')" ( (binary_expression "param_2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    \n    local_f8 = FUN_001c7ce0(*param_3,(int)param_3[1],&local_c0,0);\n  }" { (expression_statement "local_f8 = FUN_001c7ce0(*param_3,(int)param_3[1],&local_c0,0);" (assignment_expression "local_f8 = FUN_001c7ce0(*param_3,(int)param_3[1],&local_c0,0)" identifier = (call_expression "FUN_001c7ce0(*param_3,(int)param_3[1],&local_c0,0)" identifier (argument_list "(*param_3,(int)param_3[1],&local_c0,0)" ( (pointer_expression "*param_3" * identifier) , (cast_expression "(int)param_3[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_3[1]" identifier [ number_literal ])) , (pointer_expression "&local_c0" & identifier) , number_literal )))) ;) })) (expression_statement "puVar15 = param_1 + 2;" (assignment_expression "puVar15 = param_1 + 2" identifier = (binary_expression "param_1 + 2" identifier + number_literal)) ;) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_98 = local_88;" (assignment_expression "local_98 = local_88" identifier = identifier) ;) (expression_statement "*param_1 = puVar15;" (assignment_expression "*param_1 = puVar15" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "*(undefined1 *)(param_1 + 2) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 2) = 0" (pointer_expression "*(undefined1 *)(param_1 + 2)" * (cast_expression "(undefined1 *)(param_1 + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (param_5 != (int *)0x0) {\n    *param_5 = 0;\n    puVar15 = (undefined8 *)*param_1;\n  }" if (parenthesized_expression "(param_5 != (int *)0x0)" ( (binary_expression "param_5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *param_5 = 0;\n    puVar15 = (undefined8 *)*param_1;\n  }" { (expression_statement "*param_5 = 0;" (assignment_expression "*param_5 = 0" (pointer_expression "*param_5" * identifier) = number_literal) ;) (expression_statement "puVar15 = (undefined8 *)*param_1;" (assignment_expression "puVar15 = (undefined8 *)*param_1" identifier = (cast_expression "(undefined8 *)*param_1" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) ;) })) (expression_statement "uVar12 = *(ulong *)(*(long *)(param_6 + 0x298) + 0xb0);" (assignment_expression "uVar12 = *(ulong *)(*(long *)(param_6 + 0x298) + 0xb0)" identifier = (pointer_expression "*(ulong *)(*(long *)(param_6 + 0x298) + 0xb0)" * (cast_expression "(ulong *)(*(long *)(param_6 + 0x298) + 0xb0)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_6 + 0x298) + 0xb0)" ( (binary_expression "*(long *)(param_6 + 0x298) + 0xb0" (pointer_expression "*(long *)(param_6 + 0x298)" * (cast_expression "(long *)(param_6 + 0x298)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x298)" ( (binary_expression "param_6 + 0x298" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar25 = (ulong)(uint)param_3[1] ^ *param_3;" (assignment_expression "uVar25 = (ulong)(uint)param_3[1] ^ *param_3" identifier = (binary_expression "(ulong)(uint)param_3[1] ^ *param_3" (cast_expression "(ulong)(uint)param_3[1]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)param_3[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_3[1]" identifier [ number_literal ]))) ^ (pointer_expression "*param_3" * identifier))) ;) (expression_statement "uVar18 = uVar25 % uVar12;" (assignment_expression "uVar18 = uVar25 % uVar12" identifier = (binary_expression "uVar25 % uVar12" identifier % identifier)) ;) (expression_statement "plVar26 = *(long **)(*(long *)(*(long *)(param_6 + 0x298) + 0xa8) + uVar18 * 8);" (assignment_expression "plVar26 = *(long **)(*(long *)(*(long *)(param_6 + 0x298) + 0xa8) + uVar18 * 8)" identifier = (pointer_expression "*(long **)(*(long *)(*(long *)(param_6 + 0x298) + 0xa8) + uVar18 * 8)" * (cast_expression "(long **)(*(long *)(*(long *)(param_6 + 0x298) + 0xa8) + uVar18 * 8)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(*(long *)(param_6 + 0x298) + 0xa8) + uVar18 * 8)" ( (binary_expression "*(long *)(*(long *)(param_6 + 0x298) + 0xa8) + uVar18 * 8" (pointer_expression "*(long *)(*(long *)(param_6 + 0x298) + 0xa8)" * (cast_expression "(long *)(*(long *)(param_6 + 0x298) + 0xa8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_6 + 0x298) + 0xa8)" ( (binary_expression "*(long *)(param_6 + 0x298) + 0xa8" (pointer_expression "*(long *)(param_6 + 0x298)" * (cast_expression "(long *)(param_6 + 0x298)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x298)" ( (binary_expression "param_6 + 0x298" identifier + number_literal) )))) + number_literal) )))) + (binary_expression "uVar18 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (plVar26 != (long *)0x0) {\n    uVar17 = ((long *)*plVar26)[0x12];\n    plVar3 = (long *)*plVar26;\n    while (((plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])) ||\n           ((uint)param_3[1] != *(uint *)(plVar23 + 2)))) {\n      plVar3 = (long *)*plVar23;\n      if ((plVar3 == (long *)0x0) ||\n         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)) goto LAB_0019d260;\n    }\n    lVar2 = *plVar26;\n    if (lVar2 != 0) {\n      param_1[1] = 0;\n      lVar22 = 0;\n      *(undefined1 *)puVar15 = 0;\n      local_90 = 0;\n      local_88[0] = 0;\n      lVar4 = *(long *)(lVar2 + 0x30);\n      lVar5 = *(long *)(lVar2 + 0x48);\n      lVar6 = *(long *)(lVar2 + 0x60);\n      lVar7 = *(long *)(lVar2 + 0x78);\n      puVar21 = *(ulong **)(lVar2 + 0x18);\n      if (puVar21 == *(ulong **)(lVar2 + 0x20)) goto LAB_0019d282;\n      goto LAB_0019ce2c;\n    }\n  }" if (parenthesized_expression "(plVar26 != (long *)0x0)" ( (binary_expression "plVar26 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar17 = ((long *)*plVar26)[0x12];\n    plVar3 = (long *)*plVar26;\n    while (((plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])) ||\n           ((uint)param_3[1] != *(uint *)(plVar23 + 2)))) {\n      plVar3 = (long *)*plVar23;\n      if ((plVar3 == (long *)0x0) ||\n         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)) goto LAB_0019d260;\n    }\n    lVar2 = *plVar26;\n    if (lVar2 != 0) {\n      param_1[1] = 0;\n      lVar22 = 0;\n      *(undefined1 *)puVar15 = 0;\n      local_90 = 0;\n      local_88[0] = 0;\n      lVar4 = *(long *)(lVar2 + 0x30);\n      lVar5 = *(long *)(lVar2 + 0x48);\n      lVar6 = *(long *)(lVar2 + 0x60);\n      lVar7 = *(long *)(lVar2 + 0x78);\n      puVar21 = *(ulong **)(lVar2 + 0x18);\n      if (puVar21 == *(ulong **)(lVar2 + 0x20)) goto LAB_0019d282;\n      goto LAB_0019ce2c;\n    }\n  }" { (expression_statement "uVar17 = ((long *)*plVar26)[0x12];" (assignment_expression "uVar17 = ((long *)*plVar26)[0x12]" identifier = (subscript_expression "((long *)*plVar26)[0x12]" (parenthesized_expression "((long *)*plVar26)" ( (cast_expression "(long *)*plVar26" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar26" * identifier)) )) [ number_literal ])) ;) (expression_statement "plVar3 = (long *)*plVar26;" (assignment_expression "plVar3 = (long *)*plVar26" identifier = (cast_expression "(long *)*plVar26" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar26" * identifier))) ;) (while_statement "while (((plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])) ||\n           ((uint)param_3[1] != *(uint *)(plVar23 + 2)))) {\n      plVar3 = (long *)*plVar23;\n      if ((plVar3 == (long *)0x0) ||\n         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)) goto LAB_0019d260;\n    }" while (parenthesized_expression "(((plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])) ||\n           ((uint)param_3[1] != *(uint *)(plVar23 + 2))))" ( (parenthesized_expression "((plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])) ||\n           ((uint)param_3[1] != *(uint *)(plVar23 + 2)))" ( (binary_expression "(plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])) ||\n           ((uint)param_3[1] != *(uint *)(plVar23 + 2))" (parenthesized_expression "(plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1]))" ( (comma_expression "plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])" (assignment_expression "plVar23 = plVar3" identifier = identifier) , (binary_expression "uVar25 != uVar17 || (*param_3 != plVar23[1])" (binary_expression "uVar25 != uVar17" identifier != identifier) || (parenthesized_expression "(*param_3 != plVar23[1])" ( (binary_expression "*param_3 != plVar23[1]" (pointer_expression "*param_3" * identifier) != (subscript_expression "plVar23[1]" identifier [ number_literal ])) )))) )) || (parenthesized_expression "((uint)param_3[1] != *(uint *)(plVar23 + 2))" ( (binary_expression "(uint)param_3[1] != *(uint *)(plVar23 + 2)" (cast_expression "(uint)param_3[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_3[1]" identifier [ number_literal ])) != (pointer_expression "*(uint *)(plVar23 + 2)" * (cast_expression "(uint *)(plVar23 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar23 + 2)" ( (binary_expression "plVar23 + 2" identifier + number_literal) ))))) ))) )) )) (compound_statement "{\n      plVar3 = (long *)*plVar23;\n      if ((plVar3 == (long *)0x0) ||\n         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)) goto LAB_0019d260;\n    }" { (expression_statement "plVar3 = (long *)*plVar23;" (assignment_expression "plVar3 = (long *)*plVar23" identifier = (cast_expression "(long *)*plVar23" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar23" * identifier))) ;) (if_statement "if ((plVar3 == (long *)0x0) ||\n         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)) goto LAB_0019d260;" if (parenthesized_expression "((plVar3 == (long *)0x0) ||\n         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12))" ( (binary_expression "(plVar3 == (long *)0x0) ||\n         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)" (parenthesized_expression "(plVar3 == (long *)0x0)" ( (binary_expression "plVar3 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)" ( (comma_expression "uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12" (assignment_expression "uVar17 = plVar3[0x12]" identifier = (subscript_expression "plVar3[0x12]" identifier [ number_literal ])) , (comma_expression "plVar26 = plVar23, uVar18 != uVar17 % uVar12" (assignment_expression "plVar26 = plVar23" identifier = identifier) , (binary_expression "uVar18 != uVar17 % uVar12" identifier != (binary_expression "uVar17 % uVar12" identifier % identifier)))) ))) )) (goto_statement "goto LAB_0019d260;" goto statement_identifier ;)) })) (expression_statement "lVar2 = *plVar26;" (assignment_expression "lVar2 = *plVar26" identifier = (pointer_expression "*plVar26" * identifier)) ;) (if_statement "if (lVar2 != 0) {\n      param_1[1] = 0;\n      lVar22 = 0;\n      *(undefined1 *)puVar15 = 0;\n      local_90 = 0;\n      local_88[0] = 0;\n      lVar4 = *(long *)(lVar2 + 0x30);\n      lVar5 = *(long *)(lVar2 + 0x48);\n      lVar6 = *(long *)(lVar2 + 0x60);\n      lVar7 = *(long *)(lVar2 + 0x78);\n      puVar21 = *(ulong **)(lVar2 + 0x18);\n      if (puVar21 == *(ulong **)(lVar2 + 0x20)) goto LAB_0019d282;\n      goto LAB_0019ce2c;\n    }" if (parenthesized_expression "(lVar2 != 0)" ( (binary_expression "lVar2 != 0" identifier != number_literal) )) (compound_statement "{\n      param_1[1] = 0;\n      lVar22 = 0;\n      *(undefined1 *)puVar15 = 0;\n      local_90 = 0;\n      local_88[0] = 0;\n      lVar4 = *(long *)(lVar2 + 0x30);\n      lVar5 = *(long *)(lVar2 + 0x48);\n      lVar6 = *(long *)(lVar2 + 0x60);\n      lVar7 = *(long *)(lVar2 + 0x78);\n      puVar21 = *(ulong **)(lVar2 + 0x18);\n      if (puVar21 == *(ulong **)(lVar2 + 0x20)) goto LAB_0019d282;\n      goto LAB_0019ce2c;\n    }" { (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "lVar22 = 0;" (assignment_expression "lVar22 = 0" identifier = number_literal) ;) (expression_statement "*(undefined1 *)puVar15 = 0;" (assignment_expression "*(undefined1 *)puVar15 = 0" (pointer_expression "*(undefined1 *)puVar15" * (cast_expression "(undefined1 *)puVar15" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "local_88[0] = 0;" (assignment_expression "local_88[0] = 0" (subscript_expression "local_88[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "lVar4 = *(long *)(lVar2 + 0x30);" (assignment_expression "lVar4 = *(long *)(lVar2 + 0x30)" identifier = (pointer_expression "*(long *)(lVar2 + 0x30)" * (cast_expression "(long *)(lVar2 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x30)" ( (binary_expression "lVar2 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "lVar5 = *(long *)(lVar2 + 0x48);" (assignment_expression "lVar5 = *(long *)(lVar2 + 0x48)" identifier = (pointer_expression "*(long *)(lVar2 + 0x48)" * (cast_expression "(long *)(lVar2 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x48)" ( (binary_expression "lVar2 + 0x48" identifier + number_literal) ))))) ;) (expression_statement "lVar6 = *(long *)(lVar2 + 0x60);" (assignment_expression "lVar6 = *(long *)(lVar2 + 0x60)" identifier = (pointer_expression "*(long *)(lVar2 + 0x60)" * (cast_expression "(long *)(lVar2 + 0x60)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x60)" ( (binary_expression "lVar2 + 0x60" identifier + number_literal) ))))) ;) (expression_statement "lVar7 = *(long *)(lVar2 + 0x78);" (assignment_expression "lVar7 = *(long *)(lVar2 + 0x78)" identifier = (pointer_expression "*(long *)(lVar2 + 0x78)" * (cast_expression "(long *)(lVar2 + 0x78)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x78)" ( (binary_expression "lVar2 + 0x78" identifier + number_literal) ))))) ;) (expression_statement "puVar21 = *(ulong **)(lVar2 + 0x18);" (assignment_expression "puVar21 = *(ulong **)(lVar2 + 0x18)" identifier = (pointer_expression "*(ulong **)(lVar2 + 0x18)" * (cast_expression "(ulong **)(lVar2 + 0x18)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar2 + 0x18)" ( (binary_expression "lVar2 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (puVar21 == *(ulong **)(lVar2 + 0x20)) goto LAB_0019d282;" if (parenthesized_expression "(puVar21 == *(ulong **)(lVar2 + 0x20))" ( (binary_expression "puVar21 == *(ulong **)(lVar2 + 0x20)" identifier == (pointer_expression "*(ulong **)(lVar2 + 0x20)" * (cast_expression "(ulong **)(lVar2 + 0x20)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar2 + 0x20)" ( (binary_expression "lVar2 + 0x20" identifier + number_literal) ))))) )) (goto_statement "goto LAB_0019d282;" goto statement_identifier ;)) (goto_statement "goto LAB_0019ce2c;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0019d260:\n  param_1[1] = 0;" statement_identifier : (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "*(undefined1 *)puVar15 = 0;" (assignment_expression "*(undefined1 *)puVar15 = 0" (pointer_expression "*(undefined1 *)puVar15" * (cast_expression "(undefined1 *)puVar15" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "local_88[0] = 0;" (assignment_expression "local_88[0] = 0" (subscript_expression "local_88[0]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0019d282;" goto statement_identifier ;) (labeled_statement "LAB_0019ce2c:\n  do {\n    puVar15 = *(undefined8 **)(lVar4 + lVar22 * 2);\n    bVar27 = puVar15 == (undefined8 *)0xffffffffffffffff;\n    if (bVar27) {\n      puVar15 = (undefined8 *)0x0;\n    }\n    lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n    lVar16 = *(long *)(lVar5 + lVar22 * 4);\n    if (param_2 == '\0') {\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) {\nLAB_0019cbd9:\n        local_a8 = *puVar21;\n        local_a0 = (int)puVar21[1];\n        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }\n    else {\n      uVar12 = *puVar21;\n      if (uVar12 != 0) {\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    \n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) goto LAB_0019cbd9;\n      pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      puVar20 = &local_78;\n      if (puVar15 != (undefined8 *)0x0) {\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    \n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }\n      do {\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      } while (uVar10 == 0);\n      bVar27 = (uVar9 & 0x8080) == 0;\n      if (bVar27) {\n        uVar10 = uVar10 >> 0x10;\n      }\n      if (bVar27) {\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }\n      if (pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\n      FUN_002aac00(param_1,&local_78);\n      if (param_1[1] == 0x7fffffffffffffff) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\nLAB_0019d1b1:\n      FUN_002aac00(param_1,&DAT_0034070c,1);\n    }\nLAB_0019ce15:\n    lVar22 = lVar22 + 4;\n    puVar21 = puVar21 + 2;\n  } while (*(ulong **)(lVar2 + 0x20) != puVar21);" statement_identifier : (do_statement "do {\n    puVar15 = *(undefined8 **)(lVar4 + lVar22 * 2);\n    bVar27 = puVar15 == (undefined8 *)0xffffffffffffffff;\n    if (bVar27) {\n      puVar15 = (undefined8 *)0x0;\n    }\n    lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n    lVar16 = *(long *)(lVar5 + lVar22 * 4);\n    if (param_2 == '\0') {\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) {\nLAB_0019cbd9:\n        local_a8 = *puVar21;\n        local_a0 = (int)puVar21[1];\n        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }\n    else {\n      uVar12 = *puVar21;\n      if (uVar12 != 0) {\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    \n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) goto LAB_0019cbd9;\n      pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      puVar20 = &local_78;\n      if (puVar15 != (undefined8 *)0x0) {\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    \n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }\n      do {\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      } while (uVar10 == 0);\n      bVar27 = (uVar9 & 0x8080) == 0;\n      if (bVar27) {\n        uVar10 = uVar10 >> 0x10;\n      }\n      if (bVar27) {\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }\n      if (pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\n      FUN_002aac00(param_1,&local_78);\n      if (param_1[1] == 0x7fffffffffffffff) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\nLAB_0019d1b1:\n      FUN_002aac00(param_1,&DAT_0034070c,1);\n    }\nLAB_0019ce15:\n    lVar22 = lVar22 + 4;\n    puVar21 = puVar21 + 2;\n  } while (*(ulong **)(lVar2 + 0x20) != puVar21);" do (compound_statement "{\n    puVar15 = *(undefined8 **)(lVar4 + lVar22 * 2);\n    bVar27 = puVar15 == (undefined8 *)0xffffffffffffffff;\n    if (bVar27) {\n      puVar15 = (undefined8 *)0x0;\n    }\n    lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n    lVar16 = *(long *)(lVar5 + lVar22 * 4);\n    if (param_2 == '\0') {\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) {\nLAB_0019cbd9:\n        local_a8 = *puVar21;\n        local_a0 = (int)puVar21[1];\n        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }\n    else {\n      uVar12 = *puVar21;\n      if (uVar12 != 0) {\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    \n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) goto LAB_0019cbd9;\n      pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      puVar20 = &local_78;\n      if (puVar15 != (undefined8 *)0x0) {\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    \n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }\n      do {\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      } while (uVar10 == 0);\n      bVar27 = (uVar9 & 0x8080) == 0;\n      if (bVar27) {\n        uVar10 = uVar10 >> 0x10;\n      }\n      if (bVar27) {\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }\n      if (pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\n      FUN_002aac00(param_1,&local_78);\n      if (param_1[1] == 0x7fffffffffffffff) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\nLAB_0019d1b1:\n      FUN_002aac00(param_1,&DAT_0034070c,1);\n    }\nLAB_0019ce15:\n    lVar22 = lVar22 + 4;\n    puVar21 = puVar21 + 2;\n  }" { (expression_statement "puVar15 = *(undefined8 **)(lVar4 + lVar22 * 2);" (assignment_expression "puVar15 = *(undefined8 **)(lVar4 + lVar22 * 2)" identifier = (pointer_expression "*(undefined8 **)(lVar4 + lVar22 * 2)" * (cast_expression "(undefined8 **)(lVar4 + lVar22 * 2)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar4 + lVar22 * 2)" ( (binary_expression "lVar4 + lVar22 * 2" identifier + (binary_expression "lVar22 * 2" identifier * number_literal)) ))))) ;) (expression_statement "bVar27 = puVar15 == (undefined8 *)0xffffffffffffffff;" (assignment_expression "bVar27 = puVar15 == (undefined8 *)0xffffffffffffffff" identifier = (binary_expression "puVar15 == (undefined8 *)0xffffffffffffffff" identifier == (cast_expression "(undefined8 *)0xffffffffffffffff" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (bVar27) {\n      puVar15 = (undefined8 *)0x0;\n    }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n      puVar15 = (undefined8 *)0x0;\n    }" { (expression_statement "puVar15 = (undefined8 *)0x0;" (assignment_expression "puVar15 = (undefined8 *)0x0" identifier = (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);" (assignment_expression "lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4)" identifier = (pointer_expression "*(long *)(lVar5 + 8 + lVar22 * 4)" * (cast_expression "(long *)(lVar5 + 8 + lVar22 * 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 8 + lVar22 * 4)" ( (binary_expression "lVar5 + 8 + lVar22 * 4" (binary_expression "lVar5 + 8" identifier + number_literal) + (binary_expression "lVar22 * 4" identifier * number_literal)) ))))) ;) (expression_statement "lVar16 = *(long *)(lVar5 + lVar22 * 4);" (assignment_expression "lVar16 = *(long *)(lVar5 + lVar22 * 4)" identifier = (pointer_expression "*(long *)(lVar5 + lVar22 * 4)" * (cast_expression "(long *)(lVar5 + lVar22 * 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + lVar22 * 4)" ( (binary_expression "lVar5 + lVar22 * 4" identifier + (binary_expression "lVar22 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (param_2 == '\0') {\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) {\nLAB_0019cbd9:\n        local_a8 = *puVar21;\n        local_a0 = (int)puVar21[1];\n        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }\n    else {\n      uVar12 = *puVar21;\n      if (uVar12 != 0) {\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    \n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) goto LAB_0019cbd9;\n      pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      puVar20 = &local_78;\n      if (puVar15 != (undefined8 *)0x0) {\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    \n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }\n      do {\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      } while (uVar10 == 0);\n      bVar27 = (uVar9 & 0x8080) == 0;\n      if (bVar27) {\n        uVar10 = uVar10 >> 0x10;\n      }\n      if (bVar27) {\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }\n      if (pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\n      FUN_002aac00(param_1,&local_78);\n      if (param_1[1] == 0x7fffffffffffffff) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\nLAB_0019d1b1:\n      FUN_002aac00(param_1,&DAT_0034070c,1);\n    }" if (parenthesized_expression "(param_2 == '\0')" ( (binary_expression "param_2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) {\nLAB_0019cbd9:\n        local_a8 = *puVar21;\n        local_a0 = (int)puVar21[1];\n        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }" { (expression_statement "snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));" (call_expression "snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2))" identifier (argument_list "((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2))" ( (cast_expression "(char *)&local_78" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_78" & identifier)) , number_literal , (string_literal ""%llx %llx %llx"" " string_content ") , identifier , identifier , (pointer_expression "*(undefined8 *)(lVar6 + lVar22 * 2)" * (cast_expression "(undefined8 *)(lVar6 + lVar22 * 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + lVar22 * 2)" ( (binary_expression "lVar6 + lVar22 * 2" identifier + (binary_expression "lVar22 * 2" identifier * number_literal)) )))) ))) ;) (if_statement "if (*puVar21 != 0) {\nLAB_0019cbd9:\n        local_a8 = *puVar21;\n        local_a0 = (int)puVar21[1];\n        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }" if (parenthesized_expression "(*puVar21 != 0)" ( (binary_expression "*puVar21 != 0" (pointer_expression "*puVar21" * identifier) != number_literal) )) (compound_statement "{\nLAB_0019cbd9:\n        local_a8 = *puVar21;\n        local_a0 = (int)puVar21[1];\n        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }" { (labeled_statement "LAB_0019cbd9:\n        local_a8 = *puVar21;" statement_identifier : (expression_statement "local_a8 = *puVar21;" (assignment_expression "local_a8 = *puVar21" identifier = (pointer_expression "*puVar21" * identifier)) ;)) (expression_statement "local_a0 = (int)puVar21[1];" (assignment_expression "local_a0 = (int)puVar21[1]" identifier = (cast_expression "(int)puVar21[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar21[1]" identifier [ number_literal ]))) ;) (if_statement "if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }" if (parenthesized_expression "((*param_3 == local_a8) && ((int)param_3[1] == local_a0))" ( (binary_expression "(*param_3 == local_a8) && ((int)param_3[1] == local_a0)" (parenthesized_expression "(*param_3 == local_a8)" ( (binary_expression "*param_3 == local_a8" (pointer_expression "*param_3" * identifier) == identifier) )) && (parenthesized_expression "((int)param_3[1] == local_a0)" ( (binary_expression "(int)param_3[1] == local_a0" (cast_expression "(int)param_3[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_3[1]" identifier [ number_literal ])) == identifier) ))) )) (compound_statement "{\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }" { (if_statement "if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }" if (parenthesized_expression "(param_2 != '\0')" ( (binary_expression "param_2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }" { (if_statement "if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }" if (parenthesized_expression "(param_1[1] == 0x7fffffffffffffff)" ( (binary_expression "param_1[1] == 0x7fffffffffffffff" (subscript_expression "param_1[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                    \n              FUN_002e12b0("basic_string::append");\n            }" { (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (expression_statement "FUN_002aac00(param_1,"R",1);" (call_expression "FUN_002aac00(param_1,"R",1)" identifier (argument_list "(param_1,"R",1)" ( identifier , (string_literal ""R"" " string_content ") , number_literal ))) ;) (expression_statement "puVar20 = &local_78;" (assignment_expression "puVar20 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;) (do_statement "do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);" do (compound_statement "{\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            }" { (expression_statement "puVar19 = puVar20;" (assignment_expression "puVar19 = puVar20" identifier = identifier) ;) (expression_statement "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;" (assignment_expression "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" identifier = (binary_expression "(uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (binary_expression "(uint)*puVar19 + 0xfefefeff" (binary_expression "(uint)*puVar19" (parenthesized_expression "(uint)" ( identifier )) * identifier) + number_literal) & (binary_expression "~(uint)*puVar19" (unary_expression "~(uint)" ~ (parenthesized_expression "(uint)" ( identifier ))) * identifier))) ;) (expression_statement "uVar10 = uVar9 & 0x80808080;" (assignment_expression "uVar10 = uVar9 & 0x80808080" identifier = (binary_expression "uVar9 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar20 = (ulong *)((long)puVar19 + 4);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 4)" identifier = (cast_expression "(ulong *)((long)puVar19 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 4)" ( (binary_expression "(long)puVar19 + 4" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) ;) (expression_statement "bVar27 = (uVar9 & 0x8080) == 0;" (assignment_expression "bVar27 = (uVar9 & 0x8080) == 0" identifier = (binary_expression "(uVar9 & 0x8080) == 0" (parenthesized_expression "(uVar9 & 0x8080)" ( (binary_expression "uVar9 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n              uVar10 = uVar10 >> 0x10;\n            }" { (expression_statement "uVar10 = uVar10 >> 0x10;" (assignment_expression "uVar10 = uVar10 >> 0x10" identifier = (binary_expression "uVar10 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }" { (expression_statement "puVar20 = (ulong *)((long)puVar19 + 6);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 6)" identifier = (cast_expression "(ulong *)((long)puVar19 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 6)" ( (binary_expression "(long)puVar19 + 6" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (if_statement "if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }" if (parenthesized_expression "((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)))" ( (binary_expression "(char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" (cast_expression "(char *)(0x7fffffffffffffff - param_1[1])" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(0x7fffffffffffffff - param_1[1])" ( (binary_expression "0x7fffffffffffffff - param_1[1]" number_literal - (subscript_expression "param_1[1]" identifier [ number_literal ])) ))) < (cast_expression "(char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" ( (binary_expression "(long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" (cast_expression "(long)puVar20" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" ( (binary_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar10,(byte)uVar10)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar10,(byte)uVar10)" identifier (argument_list "((byte)uVar10,(byte)uVar10)" ( (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(long)&local_78" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&local_78" & identifier))) ))) )))) )) (compound_statement "{\n                    \n              FUN_002e12b0("basic_string::append");\n            }" { (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (expression_statement "FUN_002aac00(param_1,&local_78);" (call_expression "FUN_002aac00(param_1,&local_78)" identifier (argument_list "(param_1,&local_78)" ( identifier , (pointer_expression "&local_78" & identifier) ))) ;) (if_statement "if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }" if (parenthesized_expression "(param_1[1] == 0x7fffffffffffffff)" ( (binary_expression "param_1[1] == 0x7fffffffffffffff" (subscript_expression "param_1[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                    \n              FUN_002e12b0("basic_string::append");\n            }" { (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (goto_statement "goto LAB_0019d1b1;" goto statement_identifier ;) })) }) (else_clause "else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }" else (compound_statement "{\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }" { (expression_statement "lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);" (assignment_expression "lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8)" identifier = (call_expression "FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8)" identifier (argument_list "(*(long *)(param_6 + 0x298) + 0x18,&local_a8)" ( (binary_expression "*(long *)(param_6 + 0x298) + 0x18" (pointer_expression "*(long *)(param_6 + 0x298)" * (cast_expression "(long *)(param_6 + 0x298)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x298)" ( (binary_expression "param_6 + 0x298" identifier + number_literal) )))) + number_literal) , (pointer_expression "&local_a8" & identifier) )))) ;) (if_statement "if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }" if (parenthesized_expression "(puVar15 == (undefined8 *)0x0)" ( (binary_expression "puVar15 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }" { (labeled_statement "LAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }" statement_identifier : (if_statement "if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }" if (parenthesized_expression "(lVar11 != 0)" ( (binary_expression "lVar11 != 0" identifier != number_literal) )) (compound_statement "{\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }" { (if_statement "if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }" if (parenthesized_expression "(param_5 != (int *)0x0)" ( (binary_expression "param_5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                *param_5 = *param_5 + 1;\n              }" { (expression_statement "*param_5 = *param_5 + 1;" (assignment_expression "*param_5 = *param_5 + 1" (pointer_expression "*param_5" * identifier) = (binary_expression "*param_5 + 1" (pointer_expression "*param_5" * identifier) + number_literal)) ;) })) (expression_statement "snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));" (call_expression "snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4))" identifier (argument_list "((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4))" ( (cast_expression "(char *)local_b8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal , (string_literal ""%u"" " string_content ") , (binary_expression "(ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4)" ( (binary_expression "*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4" (pointer_expression "*param_7" * identifier) + (binary_expression "(ulong)*(uint *)(lVar11 + 0x18) * 4" (binary_expression "(ulong)*(uint *)(lVar11 + 0x18)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(lVar11 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x18)" ( (binary_expression "lVar11 + 0x18" identifier + number_literal) )))) * number_literal)) )))) ))) ;) (expression_statement "puVar20 = local_b8;" (assignment_expression "puVar20 = local_b8" identifier = identifier) ;) (if_statement "if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }" if (parenthesized_expression "(param_2 != '\0')" ( (binary_expression "param_2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }" { (if_statement "if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }" if (parenthesized_expression "(0x7fffffffffffffff - param_1[1] < 5)" ( (binary_expression "0x7fffffffffffffff - param_1[1] < 5" (binary_expression "0x7fffffffffffffff - param_1[1]" number_literal - (subscript_expression "param_1[1]" identifier [ number_literal ])) < number_literal) )) (compound_statement "{\n                    \n                  FUN_002e12b0("basic_string::append");\n                }" { (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (expression_statement "FUN_002aac00(param_1,"ICF_R",5);" (call_expression "FUN_002aac00(param_1,"ICF_R",5)" identifier (argument_list "(param_1,"ICF_R",5)" ( identifier , (string_literal ""ICF_R"" " string_content ") , number_literal ))) ;) (expression_statement "puVar20 = &local_78;" (assignment_expression "puVar20 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;) (do_statement "do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);" do (compound_statement "{\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                }" { (expression_statement "puVar19 = puVar20;" (assignment_expression "puVar19 = puVar20" identifier = identifier) ;) (expression_statement "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;" (assignment_expression "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" identifier = (binary_expression "(uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (binary_expression "(uint)*puVar19 + 0xfefefeff" (binary_expression "(uint)*puVar19" (parenthesized_expression "(uint)" ( identifier )) * identifier) + number_literal) & (binary_expression "~(uint)*puVar19" (unary_expression "~(uint)" ~ (parenthesized_expression "(uint)" ( identifier ))) * identifier))) ;) (expression_statement "uVar10 = uVar9 & 0x80808080;" (assignment_expression "uVar10 = uVar9 & 0x80808080" identifier = (binary_expression "uVar9 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar20 = (ulong *)((long)puVar19 + 4);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 4)" identifier = (cast_expression "(ulong *)((long)puVar19 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 4)" ( (binary_expression "(long)puVar19 + 4" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) ;) (expression_statement "bVar27 = (uVar9 & 0x8080) == 0;" (assignment_expression "bVar27 = (uVar9 & 0x8080) == 0" identifier = (binary_expression "(uVar9 & 0x8080) == 0" (parenthesized_expression "(uVar9 & 0x8080)" ( (binary_expression "uVar9 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n                  uVar10 = uVar10 >> 0x10;\n                }" { (expression_statement "uVar10 = uVar10 >> 0x10;" (assignment_expression "uVar10 = uVar10 >> 0x10" identifier = (binary_expression "uVar10 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }" { (expression_statement "puVar20 = (ulong *)((long)puVar19 + 6);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 6)" identifier = (cast_expression "(ulong *)((long)puVar19 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 6)" ( (binary_expression "(long)puVar19 + 6" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (if_statement "if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }" if (parenthesized_expression "((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)))" ( (binary_expression "(char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" (cast_expression "(char *)(0x7fffffffffffffff - param_1[1])" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(0x7fffffffffffffff - param_1[1])" ( (binary_expression "0x7fffffffffffffff - param_1[1]" number_literal - (subscript_expression "param_1[1]" identifier [ number_literal ])) ))) < (cast_expression "(char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" ( (binary_expression "(long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" (cast_expression "(long)puVar20" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" ( (binary_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar10,(byte)uVar10)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar10,(byte)uVar10)" identifier (argument_list "((byte)uVar10,(byte)uVar10)" ( (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(long)&local_78" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&local_78" & identifier))) ))) )))) )) (compound_statement "{\n                    \n                  FUN_002e12b0("basic_string::append");\n                }" { (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (expression_statement "FUN_002aac00(param_1,&local_78);" (call_expression "FUN_002aac00(param_1,&local_78)" identifier (argument_list "(param_1,&local_78)" ( identifier , (pointer_expression "&local_78" & identifier) ))) ;) (expression_statement "puVar20 = local_b8;" (assignment_expression "puVar20 = local_b8" identifier = identifier) ;) })) (do_statement "do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);" do (compound_statement "{\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              }" { (expression_statement "puVar19 = puVar20;" (assignment_expression "puVar19 = puVar20" identifier = identifier) ;) (expression_statement "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;" (assignment_expression "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" identifier = (binary_expression "(uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (binary_expression "(uint)*puVar19 + 0xfefefeff" (binary_expression "(uint)*puVar19" (parenthesized_expression "(uint)" ( identifier )) * identifier) + number_literal) & (binary_expression "~(uint)*puVar19" (unary_expression "~(uint)" ~ (parenthesized_expression "(uint)" ( identifier ))) * identifier))) ;) (expression_statement "uVar10 = uVar9 & 0x80808080;" (assignment_expression "uVar10 = uVar9 & 0x80808080" identifier = (binary_expression "uVar9 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar20 = (ulong *)((long)puVar19 + 4);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 4)" identifier = (cast_expression "(ulong *)((long)puVar19 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 4)" ( (binary_expression "(long)puVar19 + 4" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) ;) (expression_statement "bVar27 = (uVar9 & 0x8080) == 0;" (assignment_expression "bVar27 = (uVar9 & 0x8080) == 0" identifier = (binary_expression "(uVar9 & 0x8080) == 0" (parenthesized_expression "(uVar9 & 0x8080)" ( (binary_expression "uVar9 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n                uVar10 = uVar10 >> 0x10;\n              }" { (expression_statement "uVar10 = uVar10 >> 0x10;" (assignment_expression "uVar10 = uVar10 >> 0x10" identifier = (binary_expression "uVar10 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }" { (expression_statement "puVar20 = (ulong *)((long)puVar19 + 6);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 6)" identifier = (cast_expression "(ulong *)((long)puVar19 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 6)" ( (binary_expression "(long)puVar19 + 6" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (if_statement "if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }" if (parenthesized_expression "((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8)))" ( (binary_expression "(char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))" (cast_expression "(char *)(0x7fffffffffffffff - local_90)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(0x7fffffffffffffff - local_90)" ( (binary_expression "0x7fffffffffffffff - local_90" number_literal - identifier) ))) < (cast_expression "(char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))" ( (binary_expression "(long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8)" (cast_expression "(long)puVar20" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8)" ( (binary_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar10,(byte)uVar10)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar10,(byte)uVar10)" identifier (argument_list "((byte)uVar10,(byte)uVar10)" ( (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(long)local_b8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) )))) )) (compound_statement "{\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }" { (expression_statement "FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);" (call_expression "FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00)" identifier (argument_list "("basic_string::append",uVar10 & 0xffffff00)" ( (string_literal ""basic_string::append"" " string_content ") , (binary_expression "uVar10 & 0xffffff00" identifier & number_literal) ))) ;) })) (expression_statement "FUN_002aac00(&local_98,local_b8);" (call_expression "FUN_002aac00(&local_98,local_b8)" identifier (argument_list "(&local_98,local_b8)" ( (pointer_expression "&local_98" & identifier) , identifier ))) ;) (expression_statement "puVar20 = &local_78;" (assignment_expression "puVar20 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;) (do_statement "do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);" do (compound_statement "{\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              }" { (expression_statement "puVar19 = puVar20;" (assignment_expression "puVar19 = puVar20" identifier = identifier) ;) (expression_statement "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;" (assignment_expression "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" identifier = (binary_expression "(uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (binary_expression "(uint)*puVar19 + 0xfefefeff" (binary_expression "(uint)*puVar19" (parenthesized_expression "(uint)" ( identifier )) * identifier) + number_literal) & (binary_expression "~(uint)*puVar19" (unary_expression "~(uint)" ~ (parenthesized_expression "(uint)" ( identifier ))) * identifier))) ;) (expression_statement "uVar10 = uVar9 & 0x80808080;" (assignment_expression "uVar10 = uVar9 & 0x80808080" identifier = (binary_expression "uVar9 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar20 = (ulong *)((long)puVar19 + 4);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 4)" identifier = (cast_expression "(ulong *)((long)puVar19 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 4)" ( (binary_expression "(long)puVar19 + 4" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) ;) (expression_statement "bVar27 = (uVar9 & 0x8080) == 0;" (assignment_expression "bVar27 = (uVar9 & 0x8080) == 0" identifier = (binary_expression "(uVar9 & 0x8080) == 0" (parenthesized_expression "(uVar9 & 0x8080)" ( (binary_expression "uVar9 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n                uVar10 = uVar10 >> 0x10;\n              }" { (expression_statement "uVar10 = uVar10 >> 0x10;" (assignment_expression "uVar10 = uVar10 >> 0x10" identifier = (binary_expression "uVar10 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }" { (expression_statement "puVar20 = (ulong *)((long)puVar19 + 6);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 6)" identifier = (cast_expression "(ulong *)((long)puVar19 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 6)" ( (binary_expression "(long)puVar19 + 6" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (if_statement "if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }" if (parenthesized_expression "((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)))" ( (binary_expression "(char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" (cast_expression "(char *)(0x7fffffffffffffff - local_90)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(0x7fffffffffffffff - local_90)" ( (binary_expression "0x7fffffffffffffff - local_90" number_literal - identifier) ))) < (cast_expression "(char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" ( (binary_expression "(long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" (cast_expression "(long)puVar20" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" ( (binary_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar10,(byte)uVar10)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar10,(byte)uVar10)" identifier (argument_list "((byte)uVar10,(byte)uVar10)" ( (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(long)&local_78" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&local_78" & identifier))) ))) )))) )) (compound_statement "{\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }" { (expression_statement "FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);" (call_expression "FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00)" identifier (argument_list "("basic_string::append",uVar10 & 0xffffff00)" ( (string_literal ""basic_string::append"" " string_content ") , (binary_expression "uVar10 & 0xffffff00" identifier & number_literal) ))) ;) })) (expression_statement "FUN_002aac00(&local_98,&local_78);" (call_expression "FUN_002aac00(&local_98,&local_78)" identifier (argument_list "(&local_98,&local_78)" ( (pointer_expression "&local_98" & identifier) , (pointer_expression "&local_78" & identifier) ))) ;) (if_statement "if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }" if (parenthesized_expression "(local_90 == 0x7fffffffffffffff)" ( (binary_expression "local_90 == 0x7fffffffffffffff" identifier == number_literal) )) (compound_statement "{\n                    \n                FUN_002e12b0("basic_string::append");\n              }" { (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (expression_statement "FUN_002aac00(&local_98,&DAT_0034070c,1);" (call_expression "FUN_002aac00(&local_98,&DAT_0034070c,1)" identifier (argument_list "(&local_98,&DAT_0034070c,1)" ( (pointer_expression "&local_98" & identifier) , (pointer_expression "&DAT_0034070c" & identifier) , number_literal ))) ;) (goto_statement "goto LAB_0019ce15;" goto statement_identifier ;) }))) }) (else_clause "else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }" else (compound_statement "{\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }" { (if_statement "if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }" if (parenthesized_expression "((*(byte *)((long)puVar15 + 0x3a) & 7) == 0)" ( (binary_expression "(*(byte *)((long)puVar15 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)((long)puVar15 + 0x3a) & 7)" ( (binary_expression "*(byte *)((long)puVar15 + 0x3a) & 7" (pointer_expression "*(byte *)((long)puVar15 + 0x3a)" * (cast_expression "(byte *)((long)puVar15 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar15 + 0x3a)" ( (binary_expression "(long)puVar15 + 0x3a" (cast_expression "(long)puVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }" { (if_statement "if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;" if (parenthesized_expression "(((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))" ( (binary_expression "((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0)))" (parenthesized_expression "((*(byte *)(puVar15[2] + 0x3c) & 1) == 0)" ( (binary_expression "(*(byte *)(puVar15[2] + 0x3c) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar15[2] + 0x3c) & 1)" ( (binary_expression "*(byte *)(puVar15[2] + 0x3c) & 1" (pointer_expression "*(byte *)(puVar15[2] + 0x3c)" * (cast_expression "(byte *)(puVar15[2] + 0x3c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15[2] + 0x3c)" ( (binary_expression "puVar15[2] + 0x3c" (subscript_expression "puVar15[2]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0)))" ( (parenthesized_expression "(*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))" ( (binary_expression "*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0)" (binary_expression "*(int *)(puVar15 + 3) != 0" (pointer_expression "*(int *)(puVar15 + 3)" * (cast_expression "(int *)(puVar15 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 3)" ( (binary_expression "puVar15 + 3" identifier + number_literal) )))) != number_literal) || (parenthesized_expression "((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0)" ( (binary_expression "(*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((long)puVar15 + 0x3b) & 0x20)" ( (binary_expression "*(byte *)((long)puVar15 + 0x3b) & 0x20" (pointer_expression "*(byte *)((long)puVar15 + 0x3b)" * (cast_expression "(byte *)((long)puVar15 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar15 + 0x3b)" ( (binary_expression "(long)puVar15 + 0x3b" (cast_expression "(long)puVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (goto_statement "goto LAB_0019cf7c;" goto statement_identifier ;)) (goto_statement "goto LAB_0019cc40;" goto statement_identifier ;) })) (if_statement "if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;" if (parenthesized_expression "((*(byte *)((long)puVar15 + 0x3a) & 7) == 4)" ( (binary_expression "(*(byte *)((long)puVar15 + 0x3a) & 7) == 4" (parenthesized_expression "(*(byte *)((long)puVar15 + 0x3a) & 7)" ( (binary_expression "*(byte *)((long)puVar15 + 0x3a) & 7" (pointer_expression "*(byte *)((long)puVar15 + 0x3a)" * (cast_expression "(byte *)((long)puVar15 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar15 + 0x3a)" ( (binary_expression "(long)puVar15 + 0x3a" (cast_expression "(long)puVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0019cc40;" goto statement_identifier ;)) (labeled_statement "LAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;" statement_identifier : (if_statement "if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;" if (parenthesized_expression "(((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0))" ( (binary_expression "((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)" (parenthesized_expression "((*(byte *)((long)puVar15 + 0x39) & 3) != 0)" ( (binary_expression "(*(byte *)((long)puVar15 + 0x39) & 3) != 0" (parenthesized_expression "(*(byte *)((long)puVar15 + 0x39) & 3)" ( (binary_expression "*(byte *)((long)puVar15 + 0x39) & 3" (pointer_expression "*(byte *)((long)puVar15 + 0x39)" * (cast_expression "(byte *)((long)puVar15 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar15 + 0x39)" ( (binary_expression "(long)puVar15 + 0x39" (cast_expression "(long)puVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) || (parenthesized_expression "((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)" ( (binary_expression "(*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0" (parenthesized_expression "(*(byte *)((long)puVar15 + 0x3b) & 0x10)" ( (binary_expression "*(byte *)((long)puVar15 + 0x3b) & 0x10" (pointer_expression "*(byte *)((long)puVar15 + 0x3b)" * (cast_expression "(byte *)((long)puVar15 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar15 + 0x3b)" ( (binary_expression "(long)puVar15 + 0x3b" (cast_expression "(long)puVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0019cc40;" goto statement_identifier ;))) (expression_statement "lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);" (assignment_expression "lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003f85c0 + 0x10)" ( (binary_expression "PTR_DAT_003f85c0 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }" if (parenthesized_expression "(lVar16 == 0)" ( (binary_expression "lVar16 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }" { (expression_statement "FUN_00199900("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00199900("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;" if (parenthesized_expression "(*(char *)(lVar16 + 0x2a61) == '\0')" ( (binary_expression "*(char *)(lVar16 + 0x2a61) == '\0'" (pointer_expression "*(char *)(lVar16 + 0x2a61)" * (cast_expression "(char *)(lVar16 + 0x2a61)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar16 + 0x2a61)" ( (binary_expression "lVar16 + 0x2a61" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0019cc40;" goto statement_identifier ;)) (expression_statement "cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);" (assignment_expression "cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1)" identifier = (call_expression "FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1)" identifier (argument_list "(lVar16 + 0x9120,*puVar15,0,&local_c1)" ( (binary_expression "lVar16 + 0x9120" identifier + number_literal) , (pointer_expression "*puVar15" * identifier) , number_literal , (pointer_expression "&local_c1" & identifier) )))) ;) (if_statement "if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }" if (parenthesized_expression "((cVar8 == '\0') || (local_c1 != '\0'))" ( (binary_expression "(cVar8 == '\0') || (local_c1 != '\0')" (parenthesized_expression "(cVar8 == '\0')" ( (binary_expression "cVar8 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(local_c1 != '\0')" ( (binary_expression "local_c1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }" { (expression_statement "lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);" (assignment_expression "lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003f85c0 + 0x10)" ( (binary_expression "PTR_DAT_003f85c0 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }" if (parenthesized_expression "(lVar16 == 0)" ( (binary_expression "lVar16 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }" { (expression_statement "FUN_00199900("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00199900("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;" if (parenthesized_expression "((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))" ( (binary_expression "(*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0')))" (parenthesized_expression "(*(char *)(lVar16 + 0xd21) != '\0')" ( (binary_expression "*(char *)(lVar16 + 0xd21) != '\0'" (pointer_expression "*(char *)(lVar16 + 0xd21)" * (cast_expression "(char *)(lVar16 + 0xd21)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar16 + 0xd21)" ( (binary_expression "lVar16 + 0xd21" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0')))" ( (parenthesized_expression "((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))" ( (binary_expression "(*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0')" (binary_expression "(*(byte *)(puVar15 + 7) & 0xf) != 1" (parenthesized_expression "(*(byte *)(puVar15 + 7) & 0xf)" ( (binary_expression "*(byte *)(puVar15 + 7) & 0xf" (pointer_expression "*(byte *)(puVar15 + 7)" * (cast_expression "(byte *)(puVar15 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 7)" ( (binary_expression "puVar15 + 7" identifier + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "(*(char *)(lVar16 + 0xde9) != '\0')" ( (binary_expression "*(char *)(lVar16 + 0xde9) != '\0'" (pointer_expression "*(char *)(lVar16 + 0xde9)" * (cast_expression "(char *)(lVar16 + 0xde9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar16 + 0xde9)" ( (binary_expression "lVar16 + 0xde9" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (goto_statement "goto LAB_0019cc40;" goto statement_identifier ;)) })) }))) (if_statement "if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }" if (parenthesized_expression "(param_2 != '\0')" ( (binary_expression "param_2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }" { (expression_statement "uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);" (assignment_expression "uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1])" identifier = (call_expression "(**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1])" (parenthesized_expression "(**(code **)(*(long *)*puVar21 + 0x88))" ( (pointer_expression "**(code **)(*(long *)*puVar21 + 0x88)" * (pointer_expression "*(code **)(*(long *)*puVar21 + 0x88)" * (cast_expression "(code **)(*(long *)*puVar21 + 0x88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)*puVar21 + 0x88)" ( (binary_expression "*(long *)*puVar21 + 0x88" (pointer_expression "*(long *)*puVar21" * (cast_expression "(long *)*puVar21" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar21" * identifier))) + number_literal) ))))) )) (argument_list "((long *)*puVar21,(int)puVar21[1])" ( (cast_expression "(long *)*puVar21" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar21" * identifier)) , (cast_expression "(int)puVar21[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar21[1]" identifier [ number_literal ])) )))) ;) (if_statement "if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }" if (parenthesized_expression "((uVar12 & 0x10) != 0)" ( (binary_expression "(uVar12 & 0x10) != 0" (parenthesized_expression "(uVar12 & 0x10)" ( (binary_expression "uVar12 & 0x10" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }" { (if_statement "if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }" if (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x18) == 0)" ( (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x18) == 0" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x18)" * (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003f85c0 + 0x18)" ( (binary_expression "PTR_DAT_003f85c0 + 0x18" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }" { (expression_statement "FUN_00199900("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_00199900("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;) })) (if_statement "if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }" if (parenthesized_expression "(*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0')" ( (binary_expression "*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0'" (pointer_expression "*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10)" * (cast_expression "(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10)" ( (binary_expression "*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10" (pointer_expression "*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" * (cast_expression "(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" ( (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x18) + 8" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x18)" * (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003f85c0 + 0x18)" ( (binary_expression "PTR_DAT_003f85c0 + 0x18" identifier + number_literal) )))) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }" { (expression_statement "uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);" (assignment_expression "uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1])" identifier = (call_expression "(**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1])" (parenthesized_expression "(**(code **)(*(long *)*puVar21 + 0x90))" ( (pointer_expression "**(code **)(*(long *)*puVar21 + 0x90)" * (pointer_expression "*(code **)(*(long *)*puVar21 + 0x90)" * (cast_expression "(code **)(*(long *)*puVar21 + 0x90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)*puVar21 + 0x90)" ( (binary_expression "*(long *)*puVar21 + 0x90" (pointer_expression "*(long *)*puVar21" * (cast_expression "(long *)*puVar21" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar21" * identifier))) + number_literal) ))))) )) (argument_list "((long *)*puVar21,(int)puVar21[1])" ( (cast_expression "(long *)*puVar21" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar21" * identifier)) , (cast_expression "(int)puVar21[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar21[1]" identifier [ number_literal ])) )))) ;) (expression_statement "lVar11 = *(long *)(lVar5 + lVar22 * 4);" (assignment_expression "lVar11 = *(long *)(lVar5 + lVar22 * 4)" identifier = (pointer_expression "*(long *)(lVar5 + lVar22 * 4)" * (cast_expression "(long *)(lVar5 + lVar22 * 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + lVar22 * 4)" ( (binary_expression "lVar5 + lVar22 * 4" identifier + (binary_expression "lVar22 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }" { (if_statement "if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }" if (parenthesized_expression "(8 < *(uint *)(lVar7 + lVar22))" ( (binary_expression "8 < *(uint *)(lVar7 + lVar22)" number_literal < (pointer_expression "*(uint *)(lVar7 + lVar22)" * (cast_expression "(uint *)(lVar7 + lVar22)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + lVar22)" ( (binary_expression "lVar7 + lVar22" identifier + identifier) ))))) )) (compound_statement "{\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }" { (expression_statement "FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");" (call_expression "FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend")" identifier (argument_list "("../../gold/icf.cc",0xfb,"get_rel_addend")" ( (string_literal ""../../gold/icf.cc"" " string_content ") , number_literal , (string_literal ""get_rel_addend"" " string_content ") ))) ;) })) (expression_statement "puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));" (assignment_expression "puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2))" identifier = (cast_expression "(undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2))" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2))" (parenthesized_expression "(*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))" ( (pointer_expression "*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      )" * (cast_expression "(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      )" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      )" ( (binary_expression "&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)" (pointer_expression "&DAT_00340740" & identifier) + (pointer_expression "*(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)" * (cast_expression "(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)" ( (binary_expression "&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4" (pointer_expression "&DAT_00340740" & identifier) + (binary_expression "(ulong)*(uint *)(lVar7 + lVar22) * 4" (binary_expression "(ulong)*(uint *)(lVar7 + lVar22)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(lVar7 + lVar22)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + lVar22)" ( (binary_expression "lVar7 + lVar22" identifier + identifier) )))) * number_literal)) ))))) )))) )) (argument_list "(local_f8 + *(long *)(lVar6 + lVar22 * 2))" ( (binary_expression "local_f8 + *(long *)(lVar6 + lVar22 * 2)" identifier + (pointer_expression "*(long *)(lVar6 + lVar22 * 2)" * (cast_expression "(long *)(lVar6 + lVar22 * 2)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + lVar22 * 2)" ( (binary_expression "lVar6 + lVar22 * 2" identifier + (binary_expression "lVar22 * 2" identifier * number_literal)) ))))) ))))) ;) (return_statement "return puVar15;" return identifier ;) })) (expression_statement "lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);" (assignment_expression "lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0)" identifier = (call_expression "FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0)" identifier (argument_list "(*puVar21,(int)puVar21[1],local_b8,0)" ( (pointer_expression "*puVar21" * identifier) , (cast_expression "(int)puVar21[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar21[1]" identifier [ number_literal ])) , identifier , number_literal )))) ;) (expression_statement "__s = (int *)(lVar16 + lVar11);" (assignment_expression "__s = (int *)(lVar16 + lVar11)" identifier = (cast_expression "(int *)(lVar16 + lVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar16 + lVar11)" ( (binary_expression "lVar16 + lVar11" identifier + identifier) )))) ;) (if_statement "if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }" if (parenthesized_expression "((long)local_b8[0] <= lVar11)" ( (binary_expression "(long)local_b8[0] <= lVar11" (cast_expression "(long)local_b8[0]" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (subscript_expression "local_b8[0]" identifier [ number_literal ])) <= identifier) )) (compound_statement "{\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }" { (expression_statement "FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");" (call_expression "FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents")" identifier (argument_list "("../../gold/icf.cc",0x1eb,"get_section_contents")" ( (string_literal ""../../gold/icf.cc"" " string_content ") , number_literal , (string_literal ""get_section_contents"" " string_content ") ))) ;) })) (if_statement "if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }" if (parenthesized_expression "((uVar12 & 0x20) == 0)" ( (binary_expression "(uVar12 & 0x20) == 0" (parenthesized_expression "(uVar12 & 0x20)" ( (binary_expression "uVar12 & 0x20" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }" { (if_statement "if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }" if (parenthesized_expression "(local_b8[0] < lVar11 + uVar18)" ( (binary_expression "local_b8[0] < lVar11 + uVar18" (subscript_expression "local_b8[0]" identifier [ number_literal ]) < (binary_expression "lVar11 + uVar18" identifier + identifier)) )) (compound_statement "{\n                    uVar18 = local_b8[0] - lVar11;\n                  }" { (expression_statement "uVar18 = local_b8[0] - lVar11;" (assignment_expression "uVar18 = local_b8[0] - lVar11" identifier = (binary_expression "local_b8[0] - lVar11" (subscript_expression "local_b8[0]" identifier [ number_literal ]) - identifier)) ;) })) (if_statement "if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }" if (parenthesized_expression "(0x7fffffffffffffff - param_1[1] < uVar18)" ( (binary_expression "0x7fffffffffffffff - param_1[1] < uVar18" (binary_expression "0x7fffffffffffffff - param_1[1]" number_literal - (subscript_expression "param_1[1]" identifier [ number_literal ])) < identifier) )) (compound_statement "{\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }" { (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (labeled_statement "LAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);" statement_identifier : (expression_statement "FUN_002aac00(param_1,__s,uVar18);" (call_expression "FUN_002aac00(param_1,__s,uVar18)" identifier (argument_list "(param_1,__s,uVar18)" ( identifier , identifier , identifier ))) ;)) }) (else_clause "else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }" else (compound_statement "{\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }" { (if_statement "if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }" if (parenthesized_expression "(uVar18 == 2)" ( (binary_expression "uVar18 == 2" identifier == number_literal) )) (compound_statement "{\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }" { (if_statement "if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }" if (parenthesized_expression "((short)*__s == 0)" ( (binary_expression "(short)*__s == 0" (cast_expression "(short)*__s" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (pointer_expression "*__s" * identifier)) == number_literal) )) (compound_statement "{\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }" { (labeled_statement "LAB_0019d70f:\n                      uVar18 = 0;" statement_identifier : (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }" else (compound_statement "{\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (do_statement "do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);" do (compound_statement "{\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      }" { (expression_statement "uVar10 = (int)uVar12 + 1;" (assignment_expression "uVar10 = (int)uVar12 + 1" identifier = (binary_expression "(int)uVar12 + 1" (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar12 = (ulong)uVar10;" (assignment_expression "uVar12 = (ulong)uVar10" identifier = (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }) while (parenthesized_expression "(*(short *)((long)__s + uVar12 * 2) != 0)" ( (binary_expression "*(short *)((long)__s + uVar12 * 2) != 0" (pointer_expression "*(short *)((long)__s + uVar12 * 2)" * (cast_expression "(short *)((long)__s + uVar12 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__s + uVar12 * 2)" ( (binary_expression "(long)__s + uVar12 * 2" (cast_expression "(long)__s" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar12 * 2" identifier * number_literal)) )))) != number_literal) )) ;) (expression_statement "uVar18 = (ulong)(uVar10 * 2);" (assignment_expression "uVar18 = (ulong)(uVar10 * 2)" identifier = (call_expression "(ulong)(uVar10 * 2)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar10 * 2)" ( (binary_expression "uVar10 * 2" identifier * number_literal) )))) ;) (if_statement "if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }" if (parenthesized_expression "(0x7fffffffffffffff - param_1[1] < uVar18)" ( (binary_expression "0x7fffffffffffffff - param_1[1] < uVar18" (binary_expression "0x7fffffffffffffff - param_1[1]" number_literal - (subscript_expression "param_1[1]" identifier [ number_literal ])) < identifier) )) (compound_statement "{\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }" { (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) }))) (goto_statement "goto LAB_0019d597;" goto statement_identifier ;) })) (if_statement "if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }" if (parenthesized_expression "(uVar18 == 4)" ( (binary_expression "uVar18 == 4" identifier == number_literal) )) (compound_statement "{\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }" { (if_statement "if (*__s == 0) goto LAB_0019d70f;" if (parenthesized_expression "(*__s == 0)" ( (binary_expression "*__s == 0" (pointer_expression "*__s" * identifier) == number_literal) )) (goto_statement "goto LAB_0019d70f;" goto statement_identifier ;)) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (do_statement "do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);" do (compound_statement "{\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    }" { (expression_statement "uVar10 = (int)uVar12 + 1;" (assignment_expression "uVar10 = (int)uVar12 + 1" identifier = (binary_expression "(int)uVar12 + 1" (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar12 = (ulong)uVar10;" (assignment_expression "uVar12 = (ulong)uVar10" identifier = (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }) while (parenthesized_expression "(__s[uVar12] != 0)" ( (binary_expression "__s[uVar12] != 0" (subscript_expression "__s[uVar12]" identifier [ identifier ]) != number_literal) )) ;) (expression_statement "uVar18 = (ulong)(uVar10 * 4);" (assignment_expression "uVar18 = (ulong)(uVar10 * 4)" identifier = (call_expression "(ulong)(uVar10 * 4)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar10 * 4)" ( (binary_expression "uVar10 * 4" identifier * number_literal) )))) ;) (if_statement "if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }" if (parenthesized_expression "(0x7fffffffffffffff - param_1[1] < uVar18)" ( (binary_expression "0x7fffffffffffffff - param_1[1] < uVar18" (binary_expression "0x7fffffffffffffff - param_1[1]" number_literal - (subscript_expression "param_1[1]" identifier [ number_literal ])) < identifier) )) (compound_statement "{\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }" { (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (goto_statement "goto LAB_0019d597;" goto statement_identifier ;) })) (if_statement "if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }" if (parenthesized_expression "(uVar18 != 1)" ( (binary_expression "uVar18 != 1" identifier != number_literal) )) (compound_statement "{\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }" { (expression_statement "FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");" (call_expression "FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents")" identifier (argument_list "("../../gold/icf.cc",0x210,"get_section_contents")" ( (string_literal ""../../gold/icf.cc"" " string_content ") , number_literal , (string_literal ""get_section_contents"" " string_content ") ))) ;) })) (expression_statement "sVar13 = strlen((char *)__s);" (assignment_expression "sVar13 = strlen((char *)__s)" identifier = (call_expression "strlen((char *)__s)" identifier (argument_list "((char *)__s)" ( (cast_expression "(char *)__s" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }" if (parenthesized_expression "(0x7fffffffffffffff - param_1[1] < sVar13)" ( (binary_expression "0x7fffffffffffffff - param_1[1] < sVar13" (binary_expression "0x7fffffffffffffff - param_1[1]" number_literal - (subscript_expression "param_1[1]" identifier [ number_literal ])) < identifier) )) (compound_statement "{\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }" { (expression_statement "FUN_002e12b0("basic_string::append",__s);" (call_expression "FUN_002e12b0("basic_string::append",__s)" identifier (argument_list "("basic_string::append",__s)" ( (string_literal ""basic_string::append"" " string_content ") , identifier ))) ;) })) (expression_statement "FUN_002aac00(param_1,__s,sVar13);" (call_expression "FUN_002aac00(param_1,__s,sVar13)" identifier (argument_list "(param_1,__s,sVar13)" ( identifier , identifier , identifier ))) ;) }))) (if_statement "if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }" if (parenthesized_expression "(param_1[1] == 0x7fffffffffffffff)" ( (binary_expression "param_1[1] == 0x7fffffffffffffff" (subscript_expression "param_1[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                    \n                  FUN_002e12b0("basic_string::append");\n                }" { (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (goto_statement "goto LAB_0019d1b1;" goto statement_identifier ;) })) })) (if_statement "if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }" if (parenthesized_expression "(puVar15 == (undefined8 *)0x0)" ( (binary_expression "puVar15 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }" { (expression_statement "FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));" (call_expression "FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10))" identifier (argument_list "(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10))" ( identifier , (pointer_expression "*(undefined8 *)(*puVar21 + 8)" * (cast_expression "(undefined8 *)(*puVar21 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*puVar21 + 8)" ( (binary_expression "*puVar21 + 8" (pointer_expression "*puVar21" * identifier) + number_literal) )))) , (pointer_expression "*(undefined8 *)(*puVar21 + 0x10)" * (cast_expression "(undefined8 *)(*puVar21 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*puVar21 + 0x10)" ( (binary_expression "*puVar21 + 0x10" (pointer_expression "*puVar21" * identifier) + number_literal) )))) ))) ;) (expression_statement "snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);" (call_expression "snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1])" identifier (argument_list "((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1])" ( (cast_expression "(char *)local_b8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal , (string_literal ""%u"" " string_content ") , (cast_expression "(ulong)(uint)puVar21[1]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)puVar21[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar21[1]" identifier [ number_literal ]))) ))) ;) (expression_statement "puVar20 = local_b8;" (assignment_expression "puVar20 = local_b8" identifier = identifier) ;) (do_statement "do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);" do (compound_statement "{\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              }" { (expression_statement "puVar19 = puVar20;" (assignment_expression "puVar19 = puVar20" identifier = identifier) ;) (expression_statement "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;" (assignment_expression "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" identifier = (binary_expression "(uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (binary_expression "(uint)*puVar19 + 0xfefefeff" (binary_expression "(uint)*puVar19" (parenthesized_expression "(uint)" ( identifier )) * identifier) + number_literal) & (binary_expression "~(uint)*puVar19" (unary_expression "~(uint)" ~ (parenthesized_expression "(uint)" ( identifier ))) * identifier))) ;) (expression_statement "uVar10 = uVar9 & 0x80808080;" (assignment_expression "uVar10 = uVar9 & 0x80808080" identifier = (binary_expression "uVar9 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar20 = (ulong *)((long)puVar19 + 4);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 4)" identifier = (cast_expression "(ulong *)((long)puVar19 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 4)" ( (binary_expression "(long)puVar19 + 4" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) ;) (expression_statement "bVar27 = (uVar9 & 0x8080) == 0;" (assignment_expression "bVar27 = (uVar9 & 0x8080) == 0" identifier = (binary_expression "(uVar9 & 0x8080) == 0" (parenthesized_expression "(uVar9 & 0x8080)" ( (binary_expression "uVar9 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n                uVar10 = uVar10 >> 0x10;\n              }" { (expression_statement "uVar10 = uVar10 >> 0x10;" (assignment_expression "uVar10 = uVar10 >> 0x10" identifier = (binary_expression "uVar10 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }" { (expression_statement "puVar20 = (ulong *)((long)puVar19 + 6);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 6)" identifier = (cast_expression "(ulong *)((long)puVar19 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 6)" ( (binary_expression "(long)puVar19 + 6" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (if_statement "if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }" if (parenthesized_expression "((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8)))" ( (binary_expression "(char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))" (cast_expression "(char *)(0x7fffffffffffffff - param_1[1])" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(0x7fffffffffffffff - param_1[1])" ( (binary_expression "0x7fffffffffffffff - param_1[1]" number_literal - (subscript_expression "param_1[1]" identifier [ number_literal ])) ))) < (cast_expression "(char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))" ( (binary_expression "(long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8)" (cast_expression "(long)puVar20" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8)" ( (binary_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar10,(byte)uVar10)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar10,(byte)uVar10)" identifier (argument_list "((byte)uVar10,(byte)uVar10)" ( (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(long)local_b8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) )))) )) (compound_statement "{\n                    \n                FUN_002e12b0("basic_string::append");\n              }" { (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (expression_statement "FUN_002aac00(param_1,local_b8);" (call_expression "FUN_002aac00(param_1,local_b8)" identifier (argument_list "(param_1,local_b8)" ( identifier , identifier ))) ;) (expression_statement "puVar20 = &local_78;" (assignment_expression "puVar20 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;) (do_statement "do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);" do (compound_statement "{\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              }" { (expression_statement "puVar19 = puVar20;" (assignment_expression "puVar19 = puVar20" identifier = identifier) ;) (expression_statement "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;" (assignment_expression "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" identifier = (binary_expression "(uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (binary_expression "(uint)*puVar19 + 0xfefefeff" (binary_expression "(uint)*puVar19" (parenthesized_expression "(uint)" ( identifier )) * identifier) + number_literal) & (binary_expression "~(uint)*puVar19" (unary_expression "~(uint)" ~ (parenthesized_expression "(uint)" ( identifier ))) * identifier))) ;) (expression_statement "uVar10 = uVar9 & 0x80808080;" (assignment_expression "uVar10 = uVar9 & 0x80808080" identifier = (binary_expression "uVar9 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar20 = (ulong *)((long)puVar19 + 4);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 4)" identifier = (cast_expression "(ulong *)((long)puVar19 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 4)" ( (binary_expression "(long)puVar19 + 4" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) ;) (expression_statement "bVar27 = (uVar9 & 0x8080) == 0;" (assignment_expression "bVar27 = (uVar9 & 0x8080) == 0" identifier = (binary_expression "(uVar9 & 0x8080) == 0" (parenthesized_expression "(uVar9 & 0x8080)" ( (binary_expression "uVar9 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n                uVar10 = uVar10 >> 0x10;\n              }" { (expression_statement "uVar10 = uVar10 >> 0x10;" (assignment_expression "uVar10 = uVar10 >> 0x10" identifier = (binary_expression "uVar10 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }" { (expression_statement "puVar20 = (ulong *)((long)puVar19 + 6);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 6)" identifier = (cast_expression "(ulong *)((long)puVar19 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 6)" ( (binary_expression "(long)puVar19 + 6" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (if_statement "if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }" if (parenthesized_expression "((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)))" ( (binary_expression "(char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" (cast_expression "(char *)(0x7fffffffffffffff - param_1[1])" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(0x7fffffffffffffff - param_1[1])" ( (binary_expression "0x7fffffffffffffff - param_1[1]" number_literal - (subscript_expression "param_1[1]" identifier [ number_literal ])) ))) < (cast_expression "(char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" ( (binary_expression "(long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" (cast_expression "(long)puVar20" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" ( (binary_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar10,(byte)uVar10)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar10,(byte)uVar10)" identifier (argument_list "((byte)uVar10,(byte)uVar10)" ( (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(long)&local_78" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&local_78" & identifier))) ))) )))) )) (compound_statement "{\n                    \n                FUN_002e12b0("basic_string::append");\n              }" { (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (expression_statement "FUN_002aac00(param_1,&local_78);" (call_expression "FUN_002aac00(param_1,&local_78)" identifier (argument_list "(param_1,&local_78)" ( identifier , (pointer_expression "&local_78" & identifier) ))) ;) (if_statement "if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }" if (parenthesized_expression "(param_1[1] == 0x7fffffffffffffff)" ( (binary_expression "param_1[1] == 0x7fffffffffffffff" (subscript_expression "param_1[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                    \n                FUN_002e12b0("basic_string::append");\n              }" { (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) }) (else_clause "else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }" else (compound_statement "{\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }" { (expression_statement "pcVar24 = (char *)*puVar15;" (assignment_expression "pcVar24 = (char *)*puVar15" identifier = (cast_expression "(char *)*puVar15" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar15" * identifier))) ;) (expression_statement "sVar13 = strlen(pcVar24);" (assignment_expression "sVar13 = strlen(pcVar24)" identifier = (call_expression "strlen(pcVar24)" identifier (argument_list "(pcVar24)" ( identifier )))) ;) (if_statement "if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }" if (parenthesized_expression "(0x7fffffffffffffff - param_1[1] < sVar13)" ( (binary_expression "0x7fffffffffffffff - param_1[1] < sVar13" (binary_expression "0x7fffffffffffffff - param_1[1]" number_literal - (subscript_expression "param_1[1]" identifier [ number_literal ])) < identifier) )) (compound_statement "{\n                    \n                FUN_002e12b0("basic_string::append");\n              }" { (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (expression_statement "FUN_002aac00(param_1,pcVar24,sVar13);" (call_expression "FUN_002aac00(param_1,pcVar24,sVar13)" identifier (argument_list "(param_1,pcVar24,sVar13)" ( identifier , identifier , identifier ))) ;) (expression_statement "puVar20 = &local_78;" (assignment_expression "puVar20 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;) (do_statement "do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);" do (compound_statement "{\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              }" { (expression_statement "puVar19 = puVar20;" (assignment_expression "puVar19 = puVar20" identifier = identifier) ;) (expression_statement "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;" (assignment_expression "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" identifier = (binary_expression "(uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (binary_expression "(uint)*puVar19 + 0xfefefeff" (binary_expression "(uint)*puVar19" (parenthesized_expression "(uint)" ( identifier )) * identifier) + number_literal) & (binary_expression "~(uint)*puVar19" (unary_expression "~(uint)" ~ (parenthesized_expression "(uint)" ( identifier ))) * identifier))) ;) (expression_statement "uVar10 = uVar9 & 0x80808080;" (assignment_expression "uVar10 = uVar9 & 0x80808080" identifier = (binary_expression "uVar9 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar20 = (ulong *)((long)puVar19 + 4);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 4)" identifier = (cast_expression "(ulong *)((long)puVar19 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 4)" ( (binary_expression "(long)puVar19 + 4" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) ;) (expression_statement "bVar27 = (uVar9 & 0x8080) == 0;" (assignment_expression "bVar27 = (uVar9 & 0x8080) == 0" identifier = (binary_expression "(uVar9 & 0x8080) == 0" (parenthesized_expression "(uVar9 & 0x8080)" ( (binary_expression "uVar9 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n                uVar10 = uVar10 >> 0x10;\n              }" { (expression_statement "uVar10 = uVar10 >> 0x10;" (assignment_expression "uVar10 = uVar10 >> 0x10" identifier = (binary_expression "uVar10 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }" { (expression_statement "puVar20 = (ulong *)((long)puVar19 + 6);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 6)" identifier = (cast_expression "(ulong *)((long)puVar19 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 6)" ( (binary_expression "(long)puVar19 + 6" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (if_statement "if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }" if (parenthesized_expression "((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)))" ( (binary_expression "(char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" (cast_expression "(char *)(0x7fffffffffffffff - param_1[1])" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(0x7fffffffffffffff - param_1[1])" ( (binary_expression "0x7fffffffffffffff - param_1[1]" number_literal - (subscript_expression "param_1[1]" identifier [ number_literal ])) ))) < (cast_expression "(char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" ( (binary_expression "(long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" (cast_expression "(long)puVar20" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" ( (binary_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar10,(byte)uVar10)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar10,(byte)uVar10)" identifier (argument_list "((byte)uVar10,(byte)uVar10)" ( (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(long)&local_78" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&local_78" & identifier))) ))) )))) )) (compound_statement "{\n                    \n                FUN_002e12b0("basic_string::append");\n              }" { (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (expression_statement "FUN_002aac00(param_1,&local_78);" (call_expression "FUN_002aac00(param_1,&local_78)" identifier (argument_list "(param_1,&local_78)" ( identifier , (pointer_expression "&local_78" & identifier) ))) ;) (if_statement "if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }" if (parenthesized_expression "(param_1[1] == 0x7fffffffffffffff)" ( (binary_expression "param_1[1] == 0x7fffffffffffffff" (subscript_expression "param_1[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                    \n                FUN_002e12b0("basic_string::append");\n              }" { (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) }))) (goto_statement "goto LAB_0019d1b1;" goto statement_identifier ;) })) }))) })) }) (else_clause "else {\n      uVar12 = *puVar21;\n      if (uVar12 != 0) {\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    \n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) goto LAB_0019cbd9;\n      pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      puVar20 = &local_78;\n      if (puVar15 != (undefined8 *)0x0) {\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    \n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }\n      do {\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      } while (uVar10 == 0);\n      bVar27 = (uVar9 & 0x8080) == 0;\n      if (bVar27) {\n        uVar10 = uVar10 >> 0x10;\n      }\n      if (bVar27) {\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }\n      if (pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\n      FUN_002aac00(param_1,&local_78);\n      if (param_1[1] == 0x7fffffffffffffff) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\nLAB_0019d1b1:\n      FUN_002aac00(param_1,&DAT_0034070c,1);\n    }" else (compound_statement "{\n      uVar12 = *puVar21;\n      if (uVar12 != 0) {\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    \n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) goto LAB_0019cbd9;\n      pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      puVar20 = &local_78;\n      if (puVar15 != (undefined8 *)0x0) {\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    \n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }\n      do {\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      } while (uVar10 == 0);\n      bVar27 = (uVar9 & 0x8080) == 0;\n      if (bVar27) {\n        uVar10 = uVar10 >> 0x10;\n      }\n      if (bVar27) {\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }\n      if (pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\n      FUN_002aac00(param_1,&local_78);\n      if (param_1[1] == 0x7fffffffffffffff) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\nLAB_0019d1b1:\n      FUN_002aac00(param_1,&DAT_0034070c,1);\n    }" { (expression_statement "uVar12 = *puVar21;" (assignment_expression "uVar12 = *puVar21" identifier = (pointer_expression "*puVar21" * identifier)) ;) (if_statement "if (uVar12 != 0) {\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    \n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }" if (parenthesized_expression "(uVar12 != 0)" ( (binary_expression "uVar12 != 0" identifier != number_literal) )) (compound_statement "{\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    \n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }" { (expression_statement "local_70 = (int)puVar21[1];" (assignment_expression "local_70 = (int)puVar21[1]" identifier = (cast_expression "(int)puVar21[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar21[1]" identifier [ number_literal ]))) ;) (expression_statement "local_68 = lVar16 + lVar11;" (assignment_expression "local_68 = lVar16 + lVar11" identifier = (binary_expression "lVar16 + lVar11" identifier + identifier)) ;) (expression_statement "plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);" (assignment_expression "plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18)" identifier = (pointer_expression "*(long **)(PTR_DAT_003f85c0 + 0x18)" * (cast_expression "(long **)(PTR_DAT_003f85c0 + 0x18)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_003f85c0 + 0x18)" ( (binary_expression "PTR_DAT_003f85c0 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "local_78 = uVar12;" (assignment_expression "local_78 = uVar12" identifier = identifier) ;) (if_statement "if (plVar26 == (long *)0x0) {\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }" if (parenthesized_expression "(plVar26 == (long *)0x0)" ( (binary_expression "plVar26 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }" { (expression_statement "FUN_00199900("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_00199900("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;) })) (expression_statement "(**(code **)(*plVar26 + 0x88))(plVar26,&local_78);" (call_expression "(**(code **)(*plVar26 + 0x88))(plVar26,&local_78)" (parenthesized_expression "(**(code **)(*plVar26 + 0x88))" ( (pointer_expression "**(code **)(*plVar26 + 0x88)" * (pointer_expression "*(code **)(*plVar26 + 0x88)" * (cast_expression "(code **)(*plVar26 + 0x88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar26 + 0x88)" ( (binary_expression "*plVar26 + 0x88" (pointer_expression "*plVar26" * identifier) + number_literal) ))))) )) (argument_list "(plVar26,&local_78)" ( identifier , (pointer_expression "&local_78" & identifier) ))) ;) (if_statement "if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }" if (parenthesized_expression "(local_70 == (int)puVar21[1])" ( (binary_expression "local_70 == (int)puVar21[1]" identifier == (cast_expression "(int)puVar21[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar21[1]" identifier [ number_literal ]))) )) (compound_statement "{\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }" { (expression_statement "lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);" (assignment_expression "lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4)" identifier = (pointer_expression "*(long *)(lVar5 + 8 + lVar22 * 4)" * (cast_expression "(long *)(lVar5 + 8 + lVar22 * 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 8 + lVar22 * 4)" ( (binary_expression "lVar5 + 8 + lVar22 * 4" (binary_expression "lVar5 + 8" identifier + number_literal) + (binary_expression "lVar22 * 4" identifier * number_literal)) ))))) ;) (expression_statement "lVar16 = *(long *)(lVar5 + lVar22 * 4);" (assignment_expression "lVar16 = *(long *)(lVar5 + lVar22 * 4)" identifier = (pointer_expression "*(long *)(lVar5 + lVar22 * 4)" * (cast_expression "(long *)(lVar5 + lVar22 * 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + lVar22 * 4)" ( (binary_expression "lVar5 + lVar22 * 4" identifier + (binary_expression "lVar22 * 4" identifier * number_literal)) ))))) ;) }) (else_clause "else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }" else (compound_statement "{\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }" { (expression_statement "*(int *)(puVar21 + 1) = local_70;" (assignment_expression "*(int *)(puVar21 + 1) = local_70" (pointer_expression "*(int *)(puVar21 + 1)" * (cast_expression "(int *)(puVar21 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 1)" ( (binary_expression "puVar21 + 1" identifier + number_literal) )))) = identifier) ;) (expression_statement "lVar11 = 0;" (assignment_expression "lVar11 = 0" identifier = number_literal) ;) (expression_statement "*(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;" (assignment_expression "*(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0" (pointer_expression "*(undefined8 *)(lVar5 + 8 + lVar22 * 4)" * (cast_expression "(undefined8 *)(lVar5 + 8 + lVar22 * 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 8 + lVar22 * 4)" ( (binary_expression "lVar5 + 8 + lVar22 * 4" (binary_expression "lVar5 + 8" identifier + number_literal) + (binary_expression "lVar22 * 4" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "*(long *)(lVar5 + lVar22 * 4) = local_68;" (assignment_expression "*(long *)(lVar5 + lVar22 * 4) = local_68" (pointer_expression "*(long *)(lVar5 + lVar22 * 4)" * (cast_expression "(long *)(lVar5 + lVar22 * 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + lVar22 * 4)" ( (binary_expression "lVar5 + lVar22 * 4" identifier + (binary_expression "lVar22 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "lVar16 = local_68;" (assignment_expression "lVar16 = local_68" identifier = identifier) ;) }))) })) (expression_statement "snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));" (call_expression "snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2))" identifier (argument_list "((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2))" ( (cast_expression "(char *)&local_78" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_78" & identifier)) , number_literal , (string_literal ""%llx %llx %llx"" " string_content ") , identifier , identifier , (pointer_expression "*(undefined8 *)(lVar6 + lVar22 * 2)" * (cast_expression "(undefined8 *)(lVar6 + lVar22 * 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + lVar22 * 2)" ( (binary_expression "lVar6 + lVar22 * 2" identifier + (binary_expression "lVar22 * 2" identifier * number_literal)) )))) ))) ;) (if_statement "if (*puVar21 != 0) goto LAB_0019cbd9;" if (parenthesized_expression "(*puVar21 != 0)" ( (binary_expression "*puVar21 != 0" (pointer_expression "*puVar21" * identifier) != number_literal) )) (goto_statement "goto LAB_0019cbd9;" goto statement_identifier ;)) (expression_statement "pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);" (assignment_expression "pcVar24 = (char *)(0x7fffffffffffffff - param_1[1])" identifier = (cast_expression "(char *)(0x7fffffffffffffff - param_1[1])" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(0x7fffffffffffffff - param_1[1])" ( (binary_expression "0x7fffffffffffffff - param_1[1]" number_literal - (subscript_expression "param_1[1]" identifier [ number_literal ])) )))) ;) (expression_statement "puVar20 = &local_78;" (assignment_expression "puVar20 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;) (if_statement "if (puVar15 != (undefined8 *)0x0) {\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    \n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }" if (parenthesized_expression "(puVar15 != (undefined8 *)0x0)" ( (binary_expression "puVar15 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    \n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }" { (expression_statement "__s_00 = (char *)*puVar15;" (assignment_expression "__s_00 = (char *)*puVar15" identifier = (cast_expression "(char *)*puVar15" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar15" * identifier))) ;) (expression_statement "pcVar14 = (char *)strlen(__s_00);" (assignment_expression "pcVar14 = (char *)strlen(__s_00)" identifier = (cast_expression "(char *)strlen(__s_00)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "strlen(__s_00)" identifier (argument_list "(__s_00)" ( identifier ))))) ;) (if_statement "if (pcVar24 < pcVar14) {\n                    \n          FUN_002e12b0("basic_string::append");\n        }" if (parenthesized_expression "(pcVar24 < pcVar14)" ( (binary_expression "pcVar24 < pcVar14" identifier < identifier) )) (compound_statement "{\n                    \n          FUN_002e12b0("basic_string::append");\n        }" { (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (expression_statement "FUN_002aac00(param_1,__s_00,pcVar14);" (call_expression "FUN_002aac00(param_1,__s_00,pcVar14)" identifier (argument_list "(param_1,__s_00,pcVar14)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);" (assignment_expression "pcVar24 = (char *)(0x7fffffffffffffff - param_1[1])" identifier = (cast_expression "(char *)(0x7fffffffffffffff - param_1[1])" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(0x7fffffffffffffff - param_1[1])" ( (binary_expression "0x7fffffffffffffff - param_1[1]" number_literal - (subscript_expression "param_1[1]" identifier [ number_literal ])) )))) ;) })) (do_statement "do {\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      } while (uVar10 == 0);" do (compound_statement "{\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      }" { (expression_statement "puVar19 = puVar20;" (assignment_expression "puVar19 = puVar20" identifier = identifier) ;) (expression_statement "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;" (assignment_expression "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" identifier = (binary_expression "(uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (binary_expression "(uint)*puVar19 + 0xfefefeff" (binary_expression "(uint)*puVar19" (parenthesized_expression "(uint)" ( identifier )) * identifier) + number_literal) & (binary_expression "~(uint)*puVar19" (unary_expression "~(uint)" ~ (parenthesized_expression "(uint)" ( identifier ))) * identifier))) ;) (expression_statement "uVar10 = uVar9 & 0x80808080;" (assignment_expression "uVar10 = uVar9 & 0x80808080" identifier = (binary_expression "uVar9 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar20 = (ulong *)((long)puVar19 + 4);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 4)" identifier = (cast_expression "(ulong *)((long)puVar19 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 4)" ( (binary_expression "(long)puVar19 + 4" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) ;) (expression_statement "bVar27 = (uVar9 & 0x8080) == 0;" (assignment_expression "bVar27 = (uVar9 & 0x8080) == 0" identifier = (binary_expression "(uVar9 & 0x8080) == 0" (parenthesized_expression "(uVar9 & 0x8080)" ( (binary_expression "uVar9 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar27) {\n        uVar10 = uVar10 >> 0x10;\n      }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n        uVar10 = uVar10 >> 0x10;\n      }" { (expression_statement "uVar10 = uVar10 >> 0x10;" (assignment_expression "uVar10 = uVar10 >> 0x10" identifier = (binary_expression "uVar10 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar27) {\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }" { (expression_statement "puVar20 = (ulong *)((long)puVar19 + 6);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 6)" identifier = (cast_expression "(ulong *)((long)puVar19 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 6)" ( (binary_expression "(long)puVar19 + 6" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (if_statement "if (pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }" if (parenthesized_expression "(pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)))" ( (binary_expression "pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" identifier < (cast_expression "(char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" ( (binary_expression "(long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" (cast_expression "(long)puVar20" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" ( (binary_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar10,(byte)uVar10)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar10,(byte)uVar10)" identifier (argument_list "((byte)uVar10,(byte)uVar10)" ( (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(long)&local_78" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&local_78" & identifier))) ))) )))) )) (compound_statement "{\n                    \n        FUN_002e12b0("basic_string::append");\n      }" { (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (expression_statement "FUN_002aac00(param_1,&local_78);" (call_expression "FUN_002aac00(param_1,&local_78)" identifier (argument_list "(param_1,&local_78)" ( identifier , (pointer_expression "&local_78" & identifier) ))) ;) (if_statement "if (param_1[1] == 0x7fffffffffffffff) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }" if (parenthesized_expression "(param_1[1] == 0x7fffffffffffffff)" ( (binary_expression "param_1[1] == 0x7fffffffffffffff" (subscript_expression "param_1[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                    \n        FUN_002e12b0("basic_string::append");\n      }" { (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (labeled_statement "LAB_0019d1b1:\n      FUN_002aac00(param_1,&DAT_0034070c,1);" statement_identifier : (expression_statement "FUN_002aac00(param_1,&DAT_0034070c,1);" (call_expression "FUN_002aac00(param_1,&DAT_0034070c,1)" identifier (argument_list "(param_1,&DAT_0034070c,1)" ( identifier , (pointer_expression "&DAT_0034070c" & identifier) , number_literal ))) ;)) }))) (labeled_statement "LAB_0019ce15:\n    lVar22 = lVar22 + 4;" statement_identifier : (expression_statement "lVar22 = lVar22 + 4;" (assignment_expression "lVar22 = lVar22 + 4" identifier = (binary_expression "lVar22 + 4" identifier + number_literal)) ;)) (expression_statement "puVar21 = puVar21 + 2;" (assignment_expression "puVar21 = puVar21 + 2" identifier = (binary_expression "puVar21 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(ulong **)(lVar2 + 0x20) != puVar21)" ( (binary_expression "*(ulong **)(lVar2 + 0x20) != puVar21" (pointer_expression "*(ulong **)(lVar2 + 0x20)" * (cast_expression "(ulong **)(lVar2 + 0x20)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar2 + 0x20)" ( (binary_expression "lVar2 + 0x20" identifier + number_literal) )))) != identifier) )) ;)) (labeled_statement "LAB_0019d282:\n  if (param_2 == '\0') {\n    if (param_1[1] != 0) {\n                    \n      FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents");\n    }\n    puVar15 = (undefined8 *)((ulong)param_4 * 0x20 + *param_8);\n    FUN_002aac00(param_1,*puVar15,puVar15[1]);\n  }\n  else {\n    if (0x7fffffffffffffff - param_1[1] < 0xb) {\n                    \n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,"Contents = ",0xb);\n    if (0x7fffffffffffffff - param_1[1] < local_c0) {\n                    \n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,local_f8);\n    FUN_002a95a0((ulong)param_4 * 0x20 + *param_8,param_1);\n  }" statement_identifier : (if_statement "if (param_2 == '\0') {\n    if (param_1[1] != 0) {\n                    \n      FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents");\n    }\n    puVar15 = (undefined8 *)((ulong)param_4 * 0x20 + *param_8);\n    FUN_002aac00(param_1,*puVar15,puVar15[1]);\n  }\n  else {\n    if (0x7fffffffffffffff - param_1[1] < 0xb) {\n                    \n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,"Contents = ",0xb);\n    if (0x7fffffffffffffff - param_1[1] < local_c0) {\n                    \n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,local_f8);\n    FUN_002a95a0((ulong)param_4 * 0x20 + *param_8,param_1);\n  }" if (parenthesized_expression "(param_2 == '\0')" ( (binary_expression "param_2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (param_1[1] != 0) {\n                    \n      FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents");\n    }\n    puVar15 = (undefined8 *)((ulong)param_4 * 0x20 + *param_8);\n    FUN_002aac00(param_1,*puVar15,puVar15[1]);\n  }" { (if_statement "if (param_1[1] != 0) {\n                    \n      FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents");\n    }" if (parenthesized_expression "(param_1[1] != 0)" ( (binary_expression "param_1[1] != 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    \n      FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents");\n    }" { (expression_statement "FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents");" (call_expression "FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents")" identifier (argument_list "("../../gold/icf.cc",0x242,"get_section_contents")" ( (string_literal ""../../gold/icf.cc"" " string_content ") , number_literal , (string_literal ""get_section_contents"" " string_content ") ))) ;) })) (expression_statement "puVar15 = (undefined8 *)((ulong)param_4 * 0x20 + *param_8);" (assignment_expression "puVar15 = (undefined8 *)((ulong)param_4 * 0x20 + *param_8)" identifier = (cast_expression "(undefined8 *)((ulong)param_4 * 0x20 + *param_8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)param_4 * 0x20 + *param_8)" ( (binary_expression "(ulong)param_4 * 0x20 + *param_8" (binary_expression "(ulong)param_4 * 0x20" (cast_expression "(ulong)param_4" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal) + (pointer_expression "*param_8" * identifier)) )))) ;) (expression_statement "FUN_002aac00(param_1,*puVar15,puVar15[1]);" (call_expression "FUN_002aac00(param_1,*puVar15,puVar15[1])" identifier (argument_list "(param_1,*puVar15,puVar15[1])" ( identifier , (pointer_expression "*puVar15" * identifier) , (subscript_expression "puVar15[1]" identifier [ number_literal ]) ))) ;) }) (else_clause "else {\n    if (0x7fffffffffffffff - param_1[1] < 0xb) {\n                    \n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,"Contents = ",0xb);\n    if (0x7fffffffffffffff - param_1[1] < local_c0) {\n                    \n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,local_f8);\n    FUN_002a95a0((ulong)param_4 * 0x20 + *param_8,param_1);\n  }" else (compound_statement "{\n    if (0x7fffffffffffffff - param_1[1] < 0xb) {\n                    \n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,"Contents = ",0xb);\n    if (0x7fffffffffffffff - param_1[1] < local_c0) {\n                    \n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,local_f8);\n    FUN_002a95a0((ulong)param_4 * 0x20 + *param_8,param_1);\n  }" { (if_statement "if (0x7fffffffffffffff - param_1[1] < 0xb) {\n                    \n      FUN_002e12b0("basic_string::append");\n    }" if (parenthesized_expression "(0x7fffffffffffffff - param_1[1] < 0xb)" ( (binary_expression "0x7fffffffffffffff - param_1[1] < 0xb" (binary_expression "0x7fffffffffffffff - param_1[1]" number_literal - (subscript_expression "param_1[1]" identifier [ number_literal ])) < number_literal) )) (compound_statement "{\n                    \n      FUN_002e12b0("basic_string::append");\n    }" { (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (expression_statement "FUN_002aac00(param_1,"Contents = ",0xb);" (call_expression "FUN_002aac00(param_1,"Contents = ",0xb)" identifier (argument_list "(param_1,"Contents = ",0xb)" ( identifier , (string_literal ""Contents = "" " string_content ") , number_literal ))) ;) (if_statement "if (0x7fffffffffffffff - param_1[1] < local_c0) {\n                    \n      FUN_002e12b0("basic_string::append");\n    }" if (parenthesized_expression "(0x7fffffffffffffff - param_1[1] < local_c0)" ( (binary_expression "0x7fffffffffffffff - param_1[1] < local_c0" (binary_expression "0x7fffffffffffffff - param_1[1]" number_literal - (subscript_expression "param_1[1]" identifier [ number_literal ])) < identifier) )) (compound_statement "{\n                    \n      FUN_002e12b0("basic_string::append");\n    }" { (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;) })) (expression_statement "FUN_002aac00(param_1,local_f8);" (call_expression "FUN_002aac00(param_1,local_f8)" identifier (argument_list "(param_1,local_f8)" ( identifier , identifier ))) ;) (expression_statement "FUN_002a95a0((ulong)param_4 * 0x20 + *param_8,param_1);" (call_expression "FUN_002a95a0((ulong)param_4 * 0x20 + *param_8,param_1)" identifier (argument_list "((ulong)param_4 * 0x20 + *param_8,param_1)" ( (binary_expression "(ulong)param_4 * 0x20 + *param_8" (binary_expression "(ulong)param_4 * 0x20" (cast_expression "(ulong)param_4" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal) + (pointer_expression "*param_8" * identifier)) , identifier ))) ;) })))) (expression_statement "FUN_002aac00(param_1,local_98,local_90);" (call_expression "FUN_002aac00(param_1,local_98,local_90)" identifier (argument_list "(param_1,local_98,local_90)" ( identifier , identifier , identifier ))) ;) (if_statement "if (local_98 != local_88) {\n    FUN_002a2980();\n  }" if (parenthesized_expression "(local_98 != local_88)" ( (binary_expression "local_98 != local_88" identifier != identifier) )) (compound_statement "{\n    FUN_002a2980();\n  }" { (expression_statement "FUN_002a2980();" (call_expression "FUN_002a2980()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "lVar2 = *(long *)(uVar1 + 0x28);" (assignment_expression "lVar2 = *(long *)(uVar1 + 0x28)" identifier = (pointer_expression "*(long *)(uVar1 + 0x28)" * (cast_expression "(long *)(uVar1 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar1 + 0x28)" ( (binary_expression "uVar1 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (lVar2 != 0) {\n    FUN_00193600(lVar2 + 0x28,0xffffffffffffffff);\n  }" if (parenthesized_expression "(lVar2 != 0)" ( (binary_expression "lVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_00193600(lVar2 + 0x28,0xffffffffffffffff);\n  }" { (expression_statement "FUN_00193600(lVar2 + 0x28,0xffffffffffffffff);" (call_expression "FUN_00193600(lVar2 + 0x28,0xffffffffffffffff)" identifier (argument_list "(lVar2 + 0x28,0xffffffffffffffff)" ( (binary_expression "lVar2 + 0x28" identifier + number_literal) , number_literal ))) ;) })) (return_statement "return param_1;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration (sized_type_specifier long) (pointer_declarator * IDENT)) , (parameter_declaration (sized_type_specifier long) (pointer_declarator * IDENT)) )))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) , (pointer_expression & IDENT) , LIT )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ^ (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT % IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) )) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (while_statement while (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression IDENT != IDENT) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (subscript_expression IDENT [ LIT ])) )))) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != (binary_expression IDENT % IDENT)))) ))) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , LIT , (string_literal " string_content ") , IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == IDENT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == IDENT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) + LIT) & (binary_expression (unary_expression ~ (parenthesized_expression ( IDENT ))) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression LIT - (subscript_expression IDENT [ LIT ])) ))) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) )) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression & IDENT))) ))) )))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (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 IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + LIT)) ;) })) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , LIT , (string_literal " string_content ") , (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression LIT - (subscript_expression IDENT [ LIT ])) < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) + LIT) & (binary_expression (unary_expression ~ (parenthesized_expression ( IDENT ))) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression LIT - (subscript_expression IDENT [ LIT ])) ))) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) )) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression & IDENT))) ))) )))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) + LIT) & (binary_expression (unary_expression ~ (parenthesized_expression ( IDENT ))) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression LIT - IDENT) ))) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) )) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ))) )))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (binary_expression IDENT & LIT) ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) + LIT) & (binary_expression (unary_expression ~ (parenthesized_expression ( IDENT ))) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression LIT - IDENT) ))) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) )) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression & IDENT))) ))) )))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (binary_expression IDENT & LIT) ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , LIT ))) ;) (goto_statement goto statement_identifier ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) == LIT) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) != LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) != LIT) ))) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression * IDENT) , LIT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) ))) )) (goto_statement goto statement_identifier ;)) })) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) + LIT) ))))) )) (argument_list ( (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) , (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) + LIT) ))))) )) (argument_list ( (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) , (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) * LIT)) ))))) )))) )) (argument_list ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ))))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (subscript_expression IDENT [ LIT ])) <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) < (binary_expression IDENT + IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) - IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression LIT - (subscript_expression IDENT [ LIT ])) < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (pointer_expression * IDENT)) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (binary_expression IDENT * LIT)) )))) != LIT) )) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT * LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression LIT - (subscript_expression IDENT [ LIT ])) < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) while (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ IDENT ]) != LIT) )) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT * LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression LIT - (subscript_expression IDENT [ LIT ])) < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression LIT - (subscript_expression IDENT [ LIT ])) < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (goto_statement goto statement_identifier ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , LIT , (string_literal " string_content ") , (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) + LIT) & (binary_expression (unary_expression ~ (parenthesized_expression ( IDENT ))) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression LIT - (subscript_expression IDENT [ LIT ])) ))) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) )) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ))) )))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) + LIT) & (binary_expression (unary_expression ~ (parenthesized_expression ( IDENT ))) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression LIT - (subscript_expression IDENT [ LIT ])) ))) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) )) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression & IDENT))) ))) )))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression LIT - (subscript_expression IDENT [ LIT ])) < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) + LIT) & (binary_expression (unary_expression ~ (parenthesized_expression ( IDENT ))) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression LIT - (subscript_expression IDENT [ LIT ])) ))) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) )) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression & IDENT))) ))) )))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) }))) (goto_statement goto statement_identifier ;) })) }))) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (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 , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) })) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , LIT , (string_literal " string_content ") , IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression LIT - (subscript_expression IDENT [ LIT ])) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression LIT - (subscript_expression IDENT [ LIT ])) )))) ;) })) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) + LIT) & (binary_expression (unary_expression ~ (parenthesized_expression ( IDENT ))) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) )) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression & IDENT))) ))) )))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT ))) ;)) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + (pointer_expression * IDENT)) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * IDENT) , (subscript_expression IDENT [ LIT ]) ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression LIT - (subscript_expression IDENT [ LIT ])) < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression LIT - (subscript_expression IDENT [ LIT ])) < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + (pointer_expression * IDENT)) , IDENT ))) ;) })))) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT ))) ;) })) (return_statement return IDENT ;) })))
(function_definition "undefined8 *\nFUN_0019c970(undefined8 *param_1,char param_2,ulong *param_3,uint param_4,int *param_5,long param_6,\n            long *param_7,long *param_8)\n\n{\n  int *__s;\n  ulong uVar1;\n  long lVar2;\n  long *plVar3;\n  long lVar4;\n  long lVar5;\n  long lVar6;\n  long lVar7;\n  char *__s_00;\n  char cVar8;\n  uint uVar9;\n  uint uVar10;\n  long lVar11;\n  ulong uVar12;\n  size_t sVar13;\n  char *pcVar14;\n  undefined8 *puVar15;\n  long lVar16;\n  ulong uVar17;\n  ulong uVar18;\n  ulong *puVar19;\n  ulong *puVar20;\n  ulong *puVar21;\n  long lVar22;\n  long *plVar23;\n  char *pcVar24;\n  ulong uVar25;\n  long *plVar26;\n  bool bVar27;\n  long local_f8;\n  char local_c1;\n  ulong local_c0;\n  ulong local_b8 [2];\n  ulong local_a8;\n  int local_a0;\n  undefined1 *local_98;\n  long local_90;\n  undefined1 local_88 [16];\n  ulong local_78;\n  int local_70;\n  long local_68;\n  \n  uVar1 = *param_3;\n  lVar2 = *(long *)(uVar1 + 0x28);\n  if (lVar2 != 0) {\n    FUN_00192a40(lVar2 + 0x28,0xffffffffffffffff);\n  }\n  local_f8 = 0;\n  if (param_2 != '\0') {\n                    \n    local_f8 = FUN_001c7ce0(*param_3,(int)param_3[1],&local_c0,0);\n  }\n  puVar15 = param_1 + 2;\n  param_1[1] = 0;\n  local_98 = local_88;\n  *param_1 = puVar15;\n  *(undefined1 *)(param_1 + 2) = 0;\n  if (param_5 != (int *)0x0) {\n    *param_5 = 0;\n    puVar15 = (undefined8 *)*param_1;\n  }\n  uVar12 = *(ulong *)(*(long *)(param_6 + 0x298) + 0xb0);\n  uVar25 = (ulong)(uint)param_3[1] ^ *param_3;\n  uVar18 = uVar25 % uVar12;\n  plVar26 = *(long **)(*(long *)(*(long *)(param_6 + 0x298) + 0xa8) + uVar18 * 8);\n  if (plVar26 != (long *)0x0) {\n    uVar17 = ((long *)*plVar26)[0x12];\n    plVar3 = (long *)*plVar26;\n    while (((plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])) ||\n           ((uint)param_3[1] != *(uint *)(plVar23 + 2)))) {\n      plVar3 = (long *)*plVar23;\n      if ((plVar3 == (long *)0x0) ||\n         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)) goto LAB_0019d260;\n    }\n    lVar2 = *plVar26;\n    if (lVar2 != 0) {\n      param_1[1] = 0;\n      lVar22 = 0;\n      *(undefined1 *)puVar15 = 0;\n      local_90 = 0;\n      local_88[0] = 0;\n      lVar4 = *(long *)(lVar2 + 0x30);\n      lVar5 = *(long *)(lVar2 + 0x48);\n      lVar6 = *(long *)(lVar2 + 0x60);\n      lVar7 = *(long *)(lVar2 + 0x78);\n      puVar21 = *(ulong **)(lVar2 + 0x18);\n      if (puVar21 == *(ulong **)(lVar2 + 0x20)) goto LAB_0019d282;\n      goto LAB_0019ce2c;\n    }\n  }\nLAB_0019d260:\n  param_1[1] = 0;\n  *(undefined1 *)puVar15 = 0;\n  local_90 = 0;\n  local_88[0] = 0;\n  goto LAB_0019d282;\nLAB_0019ce2c:\n  do {\n    puVar15 = *(undefined8 **)(lVar4 + lVar22 * 2);\n    bVar27 = puVar15 == (undefined8 *)0xffffffffffffffff;\n    if (bVar27) {\n      puVar15 = (undefined8 *)0x0;\n    }\n    lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n    lVar16 = *(long *)(lVar5 + lVar22 * 4);\n    if (param_2 == '\0') {\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) {\nLAB_0019cbd9:\n        local_a8 = *puVar21;\n        local_a0 = (int)puVar21[1];\n        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }\n    else {\n      uVar12 = *puVar21;\n      if (uVar12 != 0) {\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    \n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) goto LAB_0019cbd9;\n      pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      puVar20 = &local_78;\n      if (puVar15 != (undefined8 *)0x0) {\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    \n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }\n      do {\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      } while (uVar10 == 0);\n      bVar27 = (uVar9 & 0x8080) == 0;\n      if (bVar27) {\n        uVar10 = uVar10 >> 0x10;\n      }\n      if (bVar27) {\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }\n      if (pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\n      FUN_002aac00(param_1,&local_78);\n      if (param_1[1] == 0x7fffffffffffffff) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\nLAB_0019d1b1:\n      FUN_002aac00(param_1,&DAT_0034070c,1);\n    }\nLAB_0019ce15:\n    lVar22 = lVar22 + 4;\n    puVar21 = puVar21 + 2;\n  } while (*(ulong **)(lVar2 + 0x20) != puVar21);\nLAB_0019d282:\n  if (param_2 == '\0') {\n    if (param_1[1] != 0) {\n                    \n      FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents");\n    }\n    puVar15 = (undefined8 *)((ulong)param_4 * 0x20 + *param_8);\n    FUN_002aac00(param_1,*puVar15,puVar15[1]);\n  }\n  else {\n    if (0x7fffffffffffffff - param_1[1] < 0xb) {\n                    \n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,"Contents = ",0xb);\n    if (0x7fffffffffffffff - param_1[1] < local_c0) {\n                    \n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,local_f8);\n    FUN_002a95a0((ulong)param_4 * 0x20 + *param_8,param_1);\n  }\n  FUN_002aac00(param_1,local_98,local_90);\n  if (local_98 != local_88) {\n    FUN_002a2980();\n  }\n  lVar2 = *(long *)(uVar1 + 0x28);\n  if (lVar2 != 0) {\n    FUN_00193600(lVar2 + 0x28,0xffffffffffffffff);\n  }\n  return param_1;\n}" (type_identifier "undefined8") (pointer_declarator "*\nFUN_0019c970(undefined8 *param_1,char param_2,ulong *param_3,uint param_4,int *param_5,long param_6,\n            long *param_7,long *param_8)" (* "*") (function_declarator "FUN_0019c970(undefined8 *param_1,char param_2,ulong *param_3,uint param_4,int *param_5,long param_6,\n            long *param_7,long *param_8)" (identifier "FUN_0019c970") (parameter_list "(undefined8 *param_1,char param_2,ulong *param_3,uint param_4,int *param_5,long param_6,\n            long *param_7,long *param_8)" (( "(") (parameter_declaration "undefined8 *param_1" (type_identifier "undefined8") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "char param_2" (primitive_type "char") (identifier "param_2")) (, ",") (parameter_declaration "ulong *param_3" (type_identifier "ulong") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "uint param_4" (type_identifier "uint") (identifier "param_4")) (, ",") (parameter_declaration "int *param_5" (primitive_type "int") (pointer_declarator "*param_5" (* "*") (identifier "param_5"))) (, ",") (parameter_declaration "long param_6" (sized_type_specifier "long" (long "long")) (identifier "param_6")) (, ",") (parameter_declaration "long *param_7" (sized_type_specifier "long" (long "long")) (pointer_declarator "*param_7" (* "*") (identifier "param_7"))) (, ",") (parameter_declaration "long *param_8" (sized_type_specifier "long" (long "long")) (pointer_declarator "*param_8" (* "*") (identifier "param_8"))) () ")")))) (compound_statement "{\n  int *__s;\n  ulong uVar1;\n  long lVar2;\n  long *plVar3;\n  long lVar4;\n  long lVar5;\n  long lVar6;\n  long lVar7;\n  char *__s_00;\n  char cVar8;\n  uint uVar9;\n  uint uVar10;\n  long lVar11;\n  ulong uVar12;\n  size_t sVar13;\n  char *pcVar14;\n  undefined8 *puVar15;\n  long lVar16;\n  ulong uVar17;\n  ulong uVar18;\n  ulong *puVar19;\n  ulong *puVar20;\n  ulong *puVar21;\n  long lVar22;\n  long *plVar23;\n  char *pcVar24;\n  ulong uVar25;\n  long *plVar26;\n  bool bVar27;\n  long local_f8;\n  char local_c1;\n  ulong local_c0;\n  ulong local_b8 [2];\n  ulong local_a8;\n  int local_a0;\n  undefined1 *local_98;\n  long local_90;\n  undefined1 local_88 [16];\n  ulong local_78;\n  int local_70;\n  long local_68;\n  \n  uVar1 = *param_3;\n  lVar2 = *(long *)(uVar1 + 0x28);\n  if (lVar2 != 0) {\n    FUN_00192a40(lVar2 + 0x28,0xffffffffffffffff);\n  }\n  local_f8 = 0;\n  if (param_2 != '\0') {\n                    \n    local_f8 = FUN_001c7ce0(*param_3,(int)param_3[1],&local_c0,0);\n  }\n  puVar15 = param_1 + 2;\n  param_1[1] = 0;\n  local_98 = local_88;\n  *param_1 = puVar15;\n  *(undefined1 *)(param_1 + 2) = 0;\n  if (param_5 != (int *)0x0) {\n    *param_5 = 0;\n    puVar15 = (undefined8 *)*param_1;\n  }\n  uVar12 = *(ulong *)(*(long *)(param_6 + 0x298) + 0xb0);\n  uVar25 = (ulong)(uint)param_3[1] ^ *param_3;\n  uVar18 = uVar25 % uVar12;\n  plVar26 = *(long **)(*(long *)(*(long *)(param_6 + 0x298) + 0xa8) + uVar18 * 8);\n  if (plVar26 != (long *)0x0) {\n    uVar17 = ((long *)*plVar26)[0x12];\n    plVar3 = (long *)*plVar26;\n    while (((plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])) ||\n           ((uint)param_3[1] != *(uint *)(plVar23 + 2)))) {\n      plVar3 = (long *)*plVar23;\n      if ((plVar3 == (long *)0x0) ||\n         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)) goto LAB_0019d260;\n    }\n    lVar2 = *plVar26;\n    if (lVar2 != 0) {\n      param_1[1] = 0;\n      lVar22 = 0;\n      *(undefined1 *)puVar15 = 0;\n      local_90 = 0;\n      local_88[0] = 0;\n      lVar4 = *(long *)(lVar2 + 0x30);\n      lVar5 = *(long *)(lVar2 + 0x48);\n      lVar6 = *(long *)(lVar2 + 0x60);\n      lVar7 = *(long *)(lVar2 + 0x78);\n      puVar21 = *(ulong **)(lVar2 + 0x18);\n      if (puVar21 == *(ulong **)(lVar2 + 0x20)) goto LAB_0019d282;\n      goto LAB_0019ce2c;\n    }\n  }\nLAB_0019d260:\n  param_1[1] = 0;\n  *(undefined1 *)puVar15 = 0;\n  local_90 = 0;\n  local_88[0] = 0;\n  goto LAB_0019d282;\nLAB_0019ce2c:\n  do {\n    puVar15 = *(undefined8 **)(lVar4 + lVar22 * 2);\n    bVar27 = puVar15 == (undefined8 *)0xffffffffffffffff;\n    if (bVar27) {\n      puVar15 = (undefined8 *)0x0;\n    }\n    lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n    lVar16 = *(long *)(lVar5 + lVar22 * 4);\n    if (param_2 == '\0') {\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) {\nLAB_0019cbd9:\n        local_a8 = *puVar21;\n        local_a0 = (int)puVar21[1];\n        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }\n    else {\n      uVar12 = *puVar21;\n      if (uVar12 != 0) {\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    \n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) goto LAB_0019cbd9;\n      pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      puVar20 = &local_78;\n      if (puVar15 != (undefined8 *)0x0) {\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    \n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }\n      do {\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      } while (uVar10 == 0);\n      bVar27 = (uVar9 & 0x8080) == 0;\n      if (bVar27) {\n        uVar10 = uVar10 >> 0x10;\n      }\n      if (bVar27) {\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }\n      if (pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\n      FUN_002aac00(param_1,&local_78);\n      if (param_1[1] == 0x7fffffffffffffff) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\nLAB_0019d1b1:\n      FUN_002aac00(param_1,&DAT_0034070c,1);\n    }\nLAB_0019ce15:\n    lVar22 = lVar22 + 4;\n    puVar21 = puVar21 + 2;\n  } while (*(ulong **)(lVar2 + 0x20) != puVar21);\nLAB_0019d282:\n  if (param_2 == '\0') {\n    if (param_1[1] != 0) {\n                    \n      FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents");\n    }\n    puVar15 = (undefined8 *)((ulong)param_4 * 0x20 + *param_8);\n    FUN_002aac00(param_1,*puVar15,puVar15[1]);\n  }\n  else {\n    if (0x7fffffffffffffff - param_1[1] < 0xb) {\n                    \n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,"Contents = ",0xb);\n    if (0x7fffffffffffffff - param_1[1] < local_c0) {\n                    \n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,local_f8);\n    FUN_002a95a0((ulong)param_4 * 0x20 + *param_8,param_1);\n  }\n  FUN_002aac00(param_1,local_98,local_90);\n  if (local_98 != local_88) {\n    FUN_002a2980();\n  }\n  lVar2 = *(long *)(uVar1 + 0x28);\n  if (lVar2 != 0) {\n    FUN_00193600(lVar2 + 0x28,0xffffffffffffffff);\n  }\n  return param_1;\n}" ({ "{") (declaration "int *__s;" (primitive_type "int") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "ulong uVar1;" (type_identifier "ulong") (identifier "uVar1") (; ";")) (declaration "long lVar2;" (sized_type_specifier "long" (long "long")) (identifier "lVar2") (; ";")) (declaration "long *plVar3;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar3" (* "*") (identifier "plVar3")) (; ";")) (declaration "long lVar4;" (sized_type_specifier "long" (long "long")) (identifier "lVar4") (; ";")) (declaration "long lVar5;" (sized_type_specifier "long" (long "long")) (identifier "lVar5") (; ";")) (declaration "long lVar6;" (sized_type_specifier "long" (long "long")) (identifier "lVar6") (; ";")) (declaration "long lVar7;" (sized_type_specifier "long" (long "long")) (identifier "lVar7") (; ";")) (declaration "char *__s_00;" (primitive_type "char") (pointer_declarator "*__s_00" (* "*") (identifier "__s_00")) (; ";")) (declaration "char cVar8;" (primitive_type "char") (identifier "cVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "long lVar11;" (sized_type_specifier "long" (long "long")) (identifier "lVar11") (; ";")) (declaration "ulong uVar12;" (type_identifier "ulong") (identifier "uVar12") (; ";")) (declaration "size_t sVar13;" (primitive_type "size_t") (identifier "sVar13") (; ";")) (declaration "char *pcVar14;" (primitive_type "char") (pointer_declarator "*pcVar14" (* "*") (identifier "pcVar14")) (; ";")) (declaration "undefined8 *puVar15;" (type_identifier "undefined8") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "long lVar16;" (sized_type_specifier "long" (long "long")) (identifier "lVar16") (; ";")) (declaration "ulong uVar17;" (type_identifier "ulong") (identifier "uVar17") (; ";")) (declaration "ulong uVar18;" (type_identifier "ulong") (identifier "uVar18") (; ";")) (declaration "ulong *puVar19;" (type_identifier "ulong") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "ulong *puVar20;" (type_identifier "ulong") (pointer_declarator "*puVar20" (* "*") (identifier "puVar20")) (; ";")) (declaration "ulong *puVar21;" (type_identifier "ulong") (pointer_declarator "*puVar21" (* "*") (identifier "puVar21")) (; ";")) (declaration "long lVar22;" (sized_type_specifier "long" (long "long")) (identifier "lVar22") (; ";")) (declaration "long *plVar23;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar23" (* "*") (identifier "plVar23")) (; ";")) (declaration "char *pcVar24;" (primitive_type "char") (pointer_declarator "*pcVar24" (* "*") (identifier "pcVar24")) (; ";")) (declaration "ulong uVar25;" (type_identifier "ulong") (identifier "uVar25") (; ";")) (declaration "long *plVar26;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar26" (* "*") (identifier "plVar26")) (; ";")) (declaration "bool bVar27;" (primitive_type "bool") (identifier "bVar27") (; ";")) (declaration "long local_f8;" (sized_type_specifier "long" (long "long")) (identifier "local_f8") (; ";")) (declaration "char local_c1;" (primitive_type "char") (identifier "local_c1") (; ";")) (declaration "ulong local_c0;" (type_identifier "ulong") (identifier "local_c0") (; ";")) (declaration "ulong local_b8 [2];" (type_identifier "ulong") (array_declarator "local_b8 [2]" (identifier "local_b8") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "ulong local_a8;" (type_identifier "ulong") (identifier "local_a8") (; ";")) (declaration "int local_a0;" (primitive_type "int") (identifier "local_a0") (; ";")) (declaration "undefined1 *local_98;" (type_identifier "undefined1") (pointer_declarator "*local_98" (* "*") (identifier "local_98")) (; ";")) (declaration "long local_90;" (sized_type_specifier "long" (long "long")) (identifier "local_90") (; ";")) (declaration "undefined1 local_88 [16];" (type_identifier "undefined1") (array_declarator "local_88 [16]" (identifier "local_88") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "ulong local_78;" (type_identifier "ulong") (identifier "local_78") (; ";")) (declaration "int local_70;" (primitive_type "int") (identifier "local_70") (; ";")) (declaration "long local_68;" (sized_type_specifier "long" (long "long")) (identifier "local_68") (; ";")) (expression_statement "uVar1 = *param_3;" (assignment_expression "uVar1 = *param_3" (identifier "uVar1") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (expression_statement "lVar2 = *(long *)(uVar1 + 0x28);" (assignment_expression "lVar2 = *(long *)(uVar1 + 0x28)" (identifier "lVar2") (= "=") (pointer_expression "*(long *)(uVar1 + 0x28)" (* "*") (cast_expression "(long *)(uVar1 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar1 + 0x28)" (( "(") (binary_expression "uVar1 + 0x28" (identifier "uVar1") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if (lVar2 != 0) {\n    FUN_00192a40(lVar2 + 0x28,0xffffffffffffffff);\n  }" (if "if") (parenthesized_expression "(lVar2 != 0)" (( "(") (binary_expression "lVar2 != 0" (identifier "lVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_00192a40(lVar2 + 0x28,0xffffffffffffffff);\n  }" ({ "{") (expression_statement "FUN_00192a40(lVar2 + 0x28,0xffffffffffffffff);" (call_expression "FUN_00192a40(lVar2 + 0x28,0xffffffffffffffff)" (identifier "FUN_00192a40") (argument_list "(lVar2 + 0x28,0xffffffffffffffff)" (( "(") (binary_expression "lVar2 + 0x28" (identifier "lVar2") (+ "+") (number_literal "0x28")) (, ",") (number_literal "0xffffffffffffffff") () ")"))) (; ";")) (} "}"))) (expression_statement "local_f8 = 0;" (assignment_expression "local_f8 = 0" (identifier "local_f8") (= "=") (number_literal "0")) (; ";")) (if_statement "if (param_2 != '\0') {\n                    \n    local_f8 = FUN_001c7ce0(*param_3,(int)param_3[1],&local_c0,0);\n  }" (if "if") (parenthesized_expression "(param_2 != '\0')" (( "(") (binary_expression "param_2 != '\0'" (identifier "param_2") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    \n    local_f8 = FUN_001c7ce0(*param_3,(int)param_3[1],&local_c0,0);\n  }" ({ "{") (expression_statement "local_f8 = FUN_001c7ce0(*param_3,(int)param_3[1],&local_c0,0);" (assignment_expression "local_f8 = FUN_001c7ce0(*param_3,(int)param_3[1],&local_c0,0)" (identifier "local_f8") (= "=") (call_expression "FUN_001c7ce0(*param_3,(int)param_3[1],&local_c0,0)" (identifier "FUN_001c7ce0") (argument_list "(*param_3,(int)param_3[1],&local_c0,0)" (( "(") (pointer_expression "*param_3" (* "*") (identifier "param_3")) (, ",") (cast_expression "(int)param_3[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]"))) (, ",") (pointer_expression "&local_c0" (& "&") (identifier "local_c0")) (, ",") (number_literal "0") () ")")))) (; ";")) (} "}"))) (expression_statement "puVar15 = param_1 + 2;" (assignment_expression "puVar15 = param_1 + 2" (identifier "puVar15") (= "=") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_98 = local_88;" (assignment_expression "local_98 = local_88" (identifier "local_98") (= "=") (identifier "local_88")) (; ";")) (expression_statement "*param_1 = puVar15;" (assignment_expression "*param_1 = puVar15" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "puVar15")) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 2) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 2) = 0" (pointer_expression "*(undefined1 *)(param_1 + 2)" (* "*") (cast_expression "(undefined1 *)(param_1 + 2)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 2)" (( "(") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (param_5 != (int *)0x0) {\n    *param_5 = 0;\n    puVar15 = (undefined8 *)*param_1;\n  }" (if "if") (parenthesized_expression "(param_5 != (int *)0x0)" (( "(") (binary_expression "param_5 != (int *)0x0" (identifier "param_5") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    *param_5 = 0;\n    puVar15 = (undefined8 *)*param_1;\n  }" ({ "{") (expression_statement "*param_5 = 0;" (assignment_expression "*param_5 = 0" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar15 = (undefined8 *)*param_1;" (assignment_expression "puVar15 = (undefined8 *)*param_1" (identifier "puVar15") (= "=") (cast_expression "(undefined8 *)*param_1" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1")))) (; ";")) (} "}"))) (expression_statement "uVar12 = *(ulong *)(*(long *)(param_6 + 0x298) + 0xb0);" (assignment_expression "uVar12 = *(ulong *)(*(long *)(param_6 + 0x298) + 0xb0)" (identifier "uVar12") (= "=") (pointer_expression "*(ulong *)(*(long *)(param_6 + 0x298) + 0xb0)" (* "*") (cast_expression "(ulong *)(*(long *)(param_6 + 0x298) + 0xb0)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_6 + 0x298) + 0xb0)" (( "(") (binary_expression "*(long *)(param_6 + 0x298) + 0xb0" (pointer_expression "*(long *)(param_6 + 0x298)" (* "*") (cast_expression "(long *)(param_6 + 0x298)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0x298)" (( "(") (binary_expression "param_6 + 0x298" (identifier "param_6") (+ "+") (number_literal "0x298")) () ")")))) (+ "+") (number_literal "0xb0")) () ")"))))) (; ";")) (expression_statement "uVar25 = (ulong)(uint)param_3[1] ^ *param_3;" (assignment_expression "uVar25 = (ulong)(uint)param_3[1] ^ *param_3" (identifier "uVar25") (= "=") (binary_expression "(ulong)(uint)param_3[1] ^ *param_3" (cast_expression "(ulong)(uint)param_3[1]" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (cast_expression "(uint)param_3[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")))) (^ "^") (pointer_expression "*param_3" (* "*") (identifier "param_3")))) (; ";")) (expression_statement "uVar18 = uVar25 % uVar12;" (assignment_expression "uVar18 = uVar25 % uVar12" (identifier "uVar18") (= "=") (binary_expression "uVar25 % uVar12" (identifier "uVar25") (% "%") (identifier "uVar12"))) (; ";")) (expression_statement "plVar26 = *(long **)(*(long *)(*(long *)(param_6 + 0x298) + 0xa8) + uVar18 * 8);" (assignment_expression "plVar26 = *(long **)(*(long *)(*(long *)(param_6 + 0x298) + 0xa8) + uVar18 * 8)" (identifier "plVar26") (= "=") (pointer_expression "*(long **)(*(long *)(*(long *)(param_6 + 0x298) + 0xa8) + uVar18 * 8)" (* "*") (cast_expression "(long **)(*(long *)(*(long *)(param_6 + 0x298) + 0xa8) + uVar18 * 8)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)(*(long *)(param_6 + 0x298) + 0xa8) + uVar18 * 8)" (( "(") (binary_expression "*(long *)(*(long *)(param_6 + 0x298) + 0xa8) + uVar18 * 8" (pointer_expression "*(long *)(*(long *)(param_6 + 0x298) + 0xa8)" (* "*") (cast_expression "(long *)(*(long *)(param_6 + 0x298) + 0xa8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_6 + 0x298) + 0xa8)" (( "(") (binary_expression "*(long *)(param_6 + 0x298) + 0xa8" (pointer_expression "*(long *)(param_6 + 0x298)" (* "*") (cast_expression "(long *)(param_6 + 0x298)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0x298)" (( "(") (binary_expression "param_6 + 0x298" (identifier "param_6") (+ "+") (number_literal "0x298")) () ")")))) (+ "+") (number_literal "0xa8")) () ")")))) (+ "+") (binary_expression "uVar18 * 8" (identifier "uVar18") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (if_statement "if (plVar26 != (long *)0x0) {\n    uVar17 = ((long *)*plVar26)[0x12];\n    plVar3 = (long *)*plVar26;\n    while (((plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])) ||\n           ((uint)param_3[1] != *(uint *)(plVar23 + 2)))) {\n      plVar3 = (long *)*plVar23;\n      if ((plVar3 == (long *)0x0) ||\n         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)) goto LAB_0019d260;\n    }\n    lVar2 = *plVar26;\n    if (lVar2 != 0) {\n      param_1[1] = 0;\n      lVar22 = 0;\n      *(undefined1 *)puVar15 = 0;\n      local_90 = 0;\n      local_88[0] = 0;\n      lVar4 = *(long *)(lVar2 + 0x30);\n      lVar5 = *(long *)(lVar2 + 0x48);\n      lVar6 = *(long *)(lVar2 + 0x60);\n      lVar7 = *(long *)(lVar2 + 0x78);\n      puVar21 = *(ulong **)(lVar2 + 0x18);\n      if (puVar21 == *(ulong **)(lVar2 + 0x20)) goto LAB_0019d282;\n      goto LAB_0019ce2c;\n    }\n  }" (if "if") (parenthesized_expression "(plVar26 != (long *)0x0)" (( "(") (binary_expression "plVar26 != (long *)0x0" (identifier "plVar26") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    uVar17 = ((long *)*plVar26)[0x12];\n    plVar3 = (long *)*plVar26;\n    while (((plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])) ||\n           ((uint)param_3[1] != *(uint *)(plVar23 + 2)))) {\n      plVar3 = (long *)*plVar23;\n      if ((plVar3 == (long *)0x0) ||\n         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)) goto LAB_0019d260;\n    }\n    lVar2 = *plVar26;\n    if (lVar2 != 0) {\n      param_1[1] = 0;\n      lVar22 = 0;\n      *(undefined1 *)puVar15 = 0;\n      local_90 = 0;\n      local_88[0] = 0;\n      lVar4 = *(long *)(lVar2 + 0x30);\n      lVar5 = *(long *)(lVar2 + 0x48);\n      lVar6 = *(long *)(lVar2 + 0x60);\n      lVar7 = *(long *)(lVar2 + 0x78);\n      puVar21 = *(ulong **)(lVar2 + 0x18);\n      if (puVar21 == *(ulong **)(lVar2 + 0x20)) goto LAB_0019d282;\n      goto LAB_0019ce2c;\n    }\n  }" ({ "{") (expression_statement "uVar17 = ((long *)*plVar26)[0x12];" (assignment_expression "uVar17 = ((long *)*plVar26)[0x12]" (identifier "uVar17") (= "=") (subscript_expression "((long *)*plVar26)[0x12]" (parenthesized_expression "((long *)*plVar26)" (( "(") (cast_expression "(long *)*plVar26" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar26" (* "*") (identifier "plVar26"))) () ")")) ([ "[") (number_literal "0x12") (] "]"))) (; ";")) (expression_statement "plVar3 = (long *)*plVar26;" (assignment_expression "plVar3 = (long *)*plVar26" (identifier "plVar3") (= "=") (cast_expression "(long *)*plVar26" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar26" (* "*") (identifier "plVar26")))) (; ";")) (while_statement "while (((plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])) ||\n           ((uint)param_3[1] != *(uint *)(plVar23 + 2)))) {\n      plVar3 = (long *)*plVar23;\n      if ((plVar3 == (long *)0x0) ||\n         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)) goto LAB_0019d260;\n    }" (while "while") (parenthesized_expression "(((plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])) ||\n           ((uint)param_3[1] != *(uint *)(plVar23 + 2))))" (( "(") (parenthesized_expression "((plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])) ||\n           ((uint)param_3[1] != *(uint *)(plVar23 + 2)))" (( "(") (binary_expression "(plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])) ||\n           ((uint)param_3[1] != *(uint *)(plVar23 + 2))" (parenthesized_expression "(plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1]))" (( "(") (comma_expression "plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])" (assignment_expression "plVar23 = plVar3" (identifier "plVar23") (= "=") (identifier "plVar3")) (, ",") (binary_expression "uVar25 != uVar17 || (*param_3 != plVar23[1])" (binary_expression "uVar25 != uVar17" (identifier "uVar25") (!= "!=") (identifier "uVar17")) (|| "||") (parenthesized_expression "(*param_3 != plVar23[1])" (( "(") (binary_expression "*param_3 != plVar23[1]" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (!= "!=") (subscript_expression "plVar23[1]" (identifier "plVar23") ([ "[") (number_literal "1") (] "]"))) () ")")))) () ")")) (|| "||") (parenthesized_expression "((uint)param_3[1] != *(uint *)(plVar23 + 2))" (( "(") (binary_expression "(uint)param_3[1] != *(uint *)(plVar23 + 2)" (cast_expression "(uint)param_3[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]"))) (!= "!=") (pointer_expression "*(uint *)(plVar23 + 2)" (* "*") (cast_expression "(uint *)(plVar23 + 2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar23 + 2)" (( "(") (binary_expression "plVar23 + 2" (identifier "plVar23") (+ "+") (number_literal "2")) () ")"))))) () ")"))) () ")")) () ")")) (compound_statement "{\n      plVar3 = (long *)*plVar23;\n      if ((plVar3 == (long *)0x0) ||\n         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)) goto LAB_0019d260;\n    }" ({ "{") (expression_statement "plVar3 = (long *)*plVar23;" (assignment_expression "plVar3 = (long *)*plVar23" (identifier "plVar3") (= "=") (cast_expression "(long *)*plVar23" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar23" (* "*") (identifier "plVar23")))) (; ";")) (if_statement "if ((plVar3 == (long *)0x0) ||\n         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)) goto LAB_0019d260;" (if "if") (parenthesized_expression "((plVar3 == (long *)0x0) ||\n         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12))" (( "(") (binary_expression "(plVar3 == (long *)0x0) ||\n         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)" (parenthesized_expression "(plVar3 == (long *)0x0)" (( "(") (binary_expression "plVar3 == (long *)0x0" (identifier "plVar3") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)" (( "(") (comma_expression "uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12" (assignment_expression "uVar17 = plVar3[0x12]" (identifier "uVar17") (= "=") (subscript_expression "plVar3[0x12]" (identifier "plVar3") ([ "[") (number_literal "0x12") (] "]"))) (, ",") (comma_expression "plVar26 = plVar23, uVar18 != uVar17 % uVar12" (assignment_expression "plVar26 = plVar23" (identifier "plVar26") (= "=") (identifier "plVar23")) (, ",") (binary_expression "uVar18 != uVar17 % uVar12" (identifier "uVar18") (!= "!=") (binary_expression "uVar17 % uVar12" (identifier "uVar17") (% "%") (identifier "uVar12"))))) () ")"))) () ")")) (goto_statement "goto LAB_0019d260;" (goto "goto") (statement_identifier "LAB_0019d260") (; ";"))) (} "}"))) (expression_statement "lVar2 = *plVar26;" (assignment_expression "lVar2 = *plVar26" (identifier "lVar2") (= "=") (pointer_expression "*plVar26" (* "*") (identifier "plVar26"))) (; ";")) (if_statement "if (lVar2 != 0) {\n      param_1[1] = 0;\n      lVar22 = 0;\n      *(undefined1 *)puVar15 = 0;\n      local_90 = 0;\n      local_88[0] = 0;\n      lVar4 = *(long *)(lVar2 + 0x30);\n      lVar5 = *(long *)(lVar2 + 0x48);\n      lVar6 = *(long *)(lVar2 + 0x60);\n      lVar7 = *(long *)(lVar2 + 0x78);\n      puVar21 = *(ulong **)(lVar2 + 0x18);\n      if (puVar21 == *(ulong **)(lVar2 + 0x20)) goto LAB_0019d282;\n      goto LAB_0019ce2c;\n    }" (if "if") (parenthesized_expression "(lVar2 != 0)" (( "(") (binary_expression "lVar2 != 0" (identifier "lVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      param_1[1] = 0;\n      lVar22 = 0;\n      *(undefined1 *)puVar15 = 0;\n      local_90 = 0;\n      local_88[0] = 0;\n      lVar4 = *(long *)(lVar2 + 0x30);\n      lVar5 = *(long *)(lVar2 + 0x48);\n      lVar6 = *(long *)(lVar2 + 0x60);\n      lVar7 = *(long *)(lVar2 + 0x78);\n      puVar21 = *(ulong **)(lVar2 + 0x18);\n      if (puVar21 == *(ulong **)(lVar2 + 0x20)) goto LAB_0019d282;\n      goto LAB_0019ce2c;\n    }" ({ "{") (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "lVar22 = 0;" (assignment_expression "lVar22 = 0" (identifier "lVar22") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)puVar15 = 0;" (assignment_expression "*(undefined1 *)puVar15 = 0" (pointer_expression "*(undefined1 *)puVar15" (* "*") (cast_expression "(undefined1 *)puVar15" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar15"))) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" (identifier "local_90") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_88[0] = 0;" (assignment_expression "local_88[0] = 0" (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "lVar4 = *(long *)(lVar2 + 0x30);" (assignment_expression "lVar4 = *(long *)(lVar2 + 0x30)" (identifier "lVar4") (= "=") (pointer_expression "*(long *)(lVar2 + 0x30)" (* "*") (cast_expression "(long *)(lVar2 + 0x30)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x30)" (( "(") (binary_expression "lVar2 + 0x30" (identifier "lVar2") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "lVar5 = *(long *)(lVar2 + 0x48);" (assignment_expression "lVar5 = *(long *)(lVar2 + 0x48)" (identifier "lVar5") (= "=") (pointer_expression "*(long *)(lVar2 + 0x48)" (* "*") (cast_expression "(long *)(lVar2 + 0x48)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x48)" (( "(") (binary_expression "lVar2 + 0x48" (identifier "lVar2") (+ "+") (number_literal "0x48")) () ")"))))) (; ";")) (expression_statement "lVar6 = *(long *)(lVar2 + 0x60);" (assignment_expression "lVar6 = *(long *)(lVar2 + 0x60)" (identifier "lVar6") (= "=") (pointer_expression "*(long *)(lVar2 + 0x60)" (* "*") (cast_expression "(long *)(lVar2 + 0x60)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x60)" (( "(") (binary_expression "lVar2 + 0x60" (identifier "lVar2") (+ "+") (number_literal "0x60")) () ")"))))) (; ";")) (expression_statement "lVar7 = *(long *)(lVar2 + 0x78);" (assignment_expression "lVar7 = *(long *)(lVar2 + 0x78)" (identifier "lVar7") (= "=") (pointer_expression "*(long *)(lVar2 + 0x78)" (* "*") (cast_expression "(long *)(lVar2 + 0x78)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x78)" (( "(") (binary_expression "lVar2 + 0x78" (identifier "lVar2") (+ "+") (number_literal "0x78")) () ")"))))) (; ";")) (expression_statement "puVar21 = *(ulong **)(lVar2 + 0x18);" (assignment_expression "puVar21 = *(ulong **)(lVar2 + 0x18)" (identifier "puVar21") (= "=") (pointer_expression "*(ulong **)(lVar2 + 0x18)" (* "*") (cast_expression "(ulong **)(lVar2 + 0x18)" (( "(") (type_descriptor "ulong **" (type_identifier "ulong") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar2 + 0x18)" (( "(") (binary_expression "lVar2 + 0x18" (identifier "lVar2") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (puVar21 == *(ulong **)(lVar2 + 0x20)) goto LAB_0019d282;" (if "if") (parenthesized_expression "(puVar21 == *(ulong **)(lVar2 + 0x20))" (( "(") (binary_expression "puVar21 == *(ulong **)(lVar2 + 0x20)" (identifier "puVar21") (== "==") (pointer_expression "*(ulong **)(lVar2 + 0x20)" (* "*") (cast_expression "(ulong **)(lVar2 + 0x20)" (( "(") (type_descriptor "ulong **" (type_identifier "ulong") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar2 + 0x20)" (( "(") (binary_expression "lVar2 + 0x20" (identifier "lVar2") (+ "+") (number_literal "0x20")) () ")"))))) () ")")) (goto_statement "goto LAB_0019d282;" (goto "goto") (statement_identifier "LAB_0019d282") (; ";"))) (goto_statement "goto LAB_0019ce2c;" (goto "goto") (statement_identifier "LAB_0019ce2c") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_0019d260:\n  param_1[1] = 0;" (statement_identifier "LAB_0019d260") (: ":") (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";"))) (expression_statement "*(undefined1 *)puVar15 = 0;" (assignment_expression "*(undefined1 *)puVar15 = 0" (pointer_expression "*(undefined1 *)puVar15" (* "*") (cast_expression "(undefined1 *)puVar15" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar15"))) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" (identifier "local_90") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_88[0] = 0;" (assignment_expression "local_88[0] = 0" (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0019d282;" (goto "goto") (statement_identifier "LAB_0019d282") (; ";")) (labeled_statement "LAB_0019ce2c:\n  do {\n    puVar15 = *(undefined8 **)(lVar4 + lVar22 * 2);\n    bVar27 = puVar15 == (undefined8 *)0xffffffffffffffff;\n    if (bVar27) {\n      puVar15 = (undefined8 *)0x0;\n    }\n    lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n    lVar16 = *(long *)(lVar5 + lVar22 * 4);\n    if (param_2 == '\0') {\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) {\nLAB_0019cbd9:\n        local_a8 = *puVar21;\n        local_a0 = (int)puVar21[1];\n        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }\n    else {\n      uVar12 = *puVar21;\n      if (uVar12 != 0) {\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    \n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) goto LAB_0019cbd9;\n      pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      puVar20 = &local_78;\n      if (puVar15 != (undefined8 *)0x0) {\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    \n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }\n      do {\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      } while (uVar10 == 0);\n      bVar27 = (uVar9 & 0x8080) == 0;\n      if (bVar27) {\n        uVar10 = uVar10 >> 0x10;\n      }\n      if (bVar27) {\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }\n      if (pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\n      FUN_002aac00(param_1,&local_78);\n      if (param_1[1] == 0x7fffffffffffffff) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\nLAB_0019d1b1:\n      FUN_002aac00(param_1,&DAT_0034070c,1);\n    }\nLAB_0019ce15:\n    lVar22 = lVar22 + 4;\n    puVar21 = puVar21 + 2;\n  } while (*(ulong **)(lVar2 + 0x20) != puVar21);" (statement_identifier "LAB_0019ce2c") (: ":") (do_statement "do {\n    puVar15 = *(undefined8 **)(lVar4 + lVar22 * 2);\n    bVar27 = puVar15 == (undefined8 *)0xffffffffffffffff;\n    if (bVar27) {\n      puVar15 = (undefined8 *)0x0;\n    }\n    lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n    lVar16 = *(long *)(lVar5 + lVar22 * 4);\n    if (param_2 == '\0') {\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) {\nLAB_0019cbd9:\n        local_a8 = *puVar21;\n        local_a0 = (int)puVar21[1];\n        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }\n    else {\n      uVar12 = *puVar21;\n      if (uVar12 != 0) {\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    \n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) goto LAB_0019cbd9;\n      pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      puVar20 = &local_78;\n      if (puVar15 != (undefined8 *)0x0) {\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    \n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }\n      do {\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      } while (uVar10 == 0);\n      bVar27 = (uVar9 & 0x8080) == 0;\n      if (bVar27) {\n        uVar10 = uVar10 >> 0x10;\n      }\n      if (bVar27) {\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }\n      if (pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\n      FUN_002aac00(param_1,&local_78);\n      if (param_1[1] == 0x7fffffffffffffff) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\nLAB_0019d1b1:\n      FUN_002aac00(param_1,&DAT_0034070c,1);\n    }\nLAB_0019ce15:\n    lVar22 = lVar22 + 4;\n    puVar21 = puVar21 + 2;\n  } while (*(ulong **)(lVar2 + 0x20) != puVar21);" (do "do") (compound_statement "{\n    puVar15 = *(undefined8 **)(lVar4 + lVar22 * 2);\n    bVar27 = puVar15 == (undefined8 *)0xffffffffffffffff;\n    if (bVar27) {\n      puVar15 = (undefined8 *)0x0;\n    }\n    lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n    lVar16 = *(long *)(lVar5 + lVar22 * 4);\n    if (param_2 == '\0') {\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) {\nLAB_0019cbd9:\n        local_a8 = *puVar21;\n        local_a0 = (int)puVar21[1];\n        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }\n    else {\n      uVar12 = *puVar21;\n      if (uVar12 != 0) {\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    \n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) goto LAB_0019cbd9;\n      pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      puVar20 = &local_78;\n      if (puVar15 != (undefined8 *)0x0) {\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    \n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }\n      do {\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      } while (uVar10 == 0);\n      bVar27 = (uVar9 & 0x8080) == 0;\n      if (bVar27) {\n        uVar10 = uVar10 >> 0x10;\n      }\n      if (bVar27) {\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }\n      if (pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\n      FUN_002aac00(param_1,&local_78);\n      if (param_1[1] == 0x7fffffffffffffff) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\nLAB_0019d1b1:\n      FUN_002aac00(param_1,&DAT_0034070c,1);\n    }\nLAB_0019ce15:\n    lVar22 = lVar22 + 4;\n    puVar21 = puVar21 + 2;\n  }" ({ "{") (expression_statement "puVar15 = *(undefined8 **)(lVar4 + lVar22 * 2);" (assignment_expression "puVar15 = *(undefined8 **)(lVar4 + lVar22 * 2)" (identifier "puVar15") (= "=") (pointer_expression "*(undefined8 **)(lVar4 + lVar22 * 2)" (* "*") (cast_expression "(undefined8 **)(lVar4 + lVar22 * 2)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar4 + lVar22 * 2)" (( "(") (binary_expression "lVar4 + lVar22 * 2" (identifier "lVar4") (+ "+") (binary_expression "lVar22 * 2" (identifier "lVar22") (* "*") (number_literal "2"))) () ")"))))) (; ";")) (expression_statement "bVar27 = puVar15 == (undefined8 *)0xffffffffffffffff;" (assignment_expression "bVar27 = puVar15 == (undefined8 *)0xffffffffffffffff" (identifier "bVar27") (= "=") (binary_expression "puVar15 == (undefined8 *)0xffffffffffffffff" (identifier "puVar15") (== "==") (cast_expression "(undefined8 *)0xffffffffffffffff" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffffffffffff")))) (; ";")) (if_statement "if (bVar27) {\n      puVar15 = (undefined8 *)0x0;\n    }" (if "if") (parenthesized_expression "(bVar27)" (( "(") (identifier "bVar27") () ")")) (compound_statement "{\n      puVar15 = (undefined8 *)0x0;\n    }" ({ "{") (expression_statement "puVar15 = (undefined8 *)0x0;" (assignment_expression "puVar15 = (undefined8 *)0x0" (identifier "puVar15") (= "=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (expression_statement "lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);" (assignment_expression "lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4)" (identifier "lVar11") (= "=") (pointer_expression "*(long *)(lVar5 + 8 + lVar22 * 4)" (* "*") (cast_expression "(long *)(lVar5 + 8 + lVar22 * 4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 8 + lVar22 * 4)" (( "(") (binary_expression "lVar5 + 8 + lVar22 * 4" (binary_expression "lVar5 + 8" (identifier "lVar5") (+ "+") (number_literal "8")) (+ "+") (binary_expression "lVar22 * 4" (identifier "lVar22") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "lVar16 = *(long *)(lVar5 + lVar22 * 4);" (assignment_expression "lVar16 = *(long *)(lVar5 + lVar22 * 4)" (identifier "lVar16") (= "=") (pointer_expression "*(long *)(lVar5 + lVar22 * 4)" (* "*") (cast_expression "(long *)(lVar5 + lVar22 * 4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + lVar22 * 4)" (( "(") (binary_expression "lVar5 + lVar22 * 4" (identifier "lVar5") (+ "+") (binary_expression "lVar22 * 4" (identifier "lVar22") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (param_2 == '\0') {\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) {\nLAB_0019cbd9:\n        local_a8 = *puVar21;\n        local_a0 = (int)puVar21[1];\n        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }\n    else {\n      uVar12 = *puVar21;\n      if (uVar12 != 0) {\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    \n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) goto LAB_0019cbd9;\n      pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      puVar20 = &local_78;\n      if (puVar15 != (undefined8 *)0x0) {\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    \n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }\n      do {\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      } while (uVar10 == 0);\n      bVar27 = (uVar9 & 0x8080) == 0;\n      if (bVar27) {\n        uVar10 = uVar10 >> 0x10;\n      }\n      if (bVar27) {\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }\n      if (pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\n      FUN_002aac00(param_1,&local_78);\n      if (param_1[1] == 0x7fffffffffffffff) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\nLAB_0019d1b1:\n      FUN_002aac00(param_1,&DAT_0034070c,1);\n    }" (if "if") (parenthesized_expression "(param_2 == '\0')" (( "(") (binary_expression "param_2 == '\0'" (identifier "param_2") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) {\nLAB_0019cbd9:\n        local_a8 = *puVar21;\n        local_a0 = (int)puVar21[1];\n        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }\n    }" ({ "{") (expression_statement "snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));" (call_expression "snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2))" (identifier "snprintf") (argument_list "((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2))" (( "(") (cast_expression "(char *)&local_78" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_78" (& "&") (identifier "local_78"))) (, ",") (number_literal "0x32") (, ",") (string_literal ""%llx %llx %llx"" (" """) (string_content "%llx %llx %llx") (" """)) (, ",") (identifier "lVar16") (, ",") (identifier "lVar11") (, ",") (pointer_expression "*(undefined8 *)(lVar6 + lVar22 * 2)" (* "*") (cast_expression "(undefined8 *)(lVar6 + lVar22 * 2)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + lVar22 * 2)" (( "(") (binary_expression "lVar6 + lVar22 * 2" (identifier "lVar6") (+ "+") (binary_expression "lVar22 * 2" (identifier "lVar22") (* "*") (number_literal "2"))) () ")")))) () ")"))) (; ";")) (if_statement "if (*puVar21 != 0) {\nLAB_0019cbd9:\n        local_a8 = *puVar21;\n        local_a0 = (int)puVar21[1];\n        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(*puVar21 != 0)" (( "(") (binary_expression "*puVar21 != 0" (pointer_expression "*puVar21" (* "*") (identifier "puVar21")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0019cbd9:\n        local_a8 = *puVar21;\n        local_a0 = (int)puVar21[1];\n        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n      }" ({ "{") (labeled_statement "LAB_0019cbd9:\n        local_a8 = *puVar21;" (statement_identifier "LAB_0019cbd9") (: ":") (expression_statement "local_a8 = *puVar21;" (assignment_expression "local_a8 = *puVar21" (identifier "local_a8") (= "=") (pointer_expression "*puVar21" (* "*") (identifier "puVar21"))) (; ";"))) (expression_statement "local_a0 = (int)puVar21[1];" (assignment_expression "local_a0 = (int)puVar21[1]" (identifier "local_a0") (= "=") (cast_expression "(int)puVar21[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar21[1]" (identifier "puVar21") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }\n        else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }" (if "if") (parenthesized_expression "((*param_3 == local_a8) && ((int)param_3[1] == local_a0))" (( "(") (binary_expression "(*param_3 == local_a8) && ((int)param_3[1] == local_a0)" (parenthesized_expression "(*param_3 == local_a8)" (( "(") (binary_expression "*param_3 == local_a8" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (== "==") (identifier "local_a8")) () ")")) (&& "&&") (parenthesized_expression "((int)param_3[1] == local_a0)" (( "(") (binary_expression "(int)param_3[1] == local_a0" (cast_expression "(int)param_3[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]"))) (== "==") (identifier "local_a0")) () ")"))) () ")")) (compound_statement "{\n          if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }\n        }" ({ "{") (if_statement "if (param_2 != '\0') {\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }" (if "if") (parenthesized_expression "(param_2 != '\0')" (( "(") (binary_expression "param_2 != '\0'" (identifier "param_2") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,"R",1);\n            puVar20 = &local_78;\n            do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);\n            bVar27 = (uVar9 & 0x8080) == 0;\n            if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }\n            if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }\n            if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            FUN_002aac00(param_1,&local_78);\n            if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }\n            goto LAB_0019d1b1;\n          }" ({ "{") (if_statement "if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }" (if "if") (parenthesized_expression "(param_1[1] == 0x7fffffffffffffff)" (( "(") (binary_expression "param_1[1] == 0x7fffffffffffffff" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x7fffffffffffffff")) () ")")) (compound_statement "{\n                    \n              FUN_002e12b0("basic_string::append");\n            }" ({ "{") (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" (identifier "FUN_002e12b0") (argument_list "("basic_string::append")" (( "(") (string_literal ""basic_string::append"" (" """) (string_content "basic_string::append") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_002aac00(param_1,"R",1);" (call_expression "FUN_002aac00(param_1,"R",1)" (identifier "FUN_002aac00") (argument_list "(param_1,"R",1)" (( "(") (identifier "param_1") (, ",") (string_literal ""R"" (" """) (string_content "R") (" """)) (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "puVar20 = &local_78;" (assignment_expression "puVar20 = &local_78" (identifier "puVar20") (= "=") (pointer_expression "&local_78" (& "&") (identifier "local_78"))) (; ";")) (do_statement "do {\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            } while (uVar10 == 0);" (do "do") (compound_statement "{\n              puVar19 = puVar20;\n              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n              uVar10 = uVar9 & 0x80808080;\n              puVar20 = (ulong *)((long)puVar19 + 4);\n            }" ({ "{") (expression_statement "puVar19 = puVar20;" (assignment_expression "puVar19 = puVar20" (identifier "puVar19") (= "=") (identifier "puVar20")) (; ";")) (expression_statement "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;" (assignment_expression "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (identifier "uVar9") (= "=") (binary_expression "(uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (binary_expression "(uint)*puVar19 + 0xfefefeff" (binary_expression "(uint)*puVar19" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "puVar19")) (+ "+") (number_literal "0xfefefeff")) (& "&") (binary_expression "~(uint)*puVar19" (unary_expression "~(uint)" (~ "~") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (identifier "puVar19")))) (; ";")) (expression_statement "uVar10 = uVar9 & 0x80808080;" (assignment_expression "uVar10 = uVar9 & 0x80808080" (identifier "uVar10") (= "=") (binary_expression "uVar9 & 0x80808080" (identifier "uVar9") (& "&") (number_literal "0x80808080"))) (; ";")) (expression_statement "puVar20 = (ulong *)((long)puVar19 + 4);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 4)" (identifier "puVar20") (= "=") (cast_expression "(ulong *)((long)puVar19 + 4)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar19 + 4)" (( "(") (binary_expression "(long)puVar19 + 4" (cast_expression "(long)puVar19" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar19")) (+ "+") (number_literal "4")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (; ";")) (expression_statement "bVar27 = (uVar9 & 0x8080) == 0;" (assignment_expression "bVar27 = (uVar9 & 0x8080) == 0" (identifier "bVar27") (= "=") (binary_expression "(uVar9 & 0x8080) == 0" (parenthesized_expression "(uVar9 & 0x8080)" (( "(") (binary_expression "uVar9 & 0x8080" (identifier "uVar9") (& "&") (number_literal "0x8080")) () ")")) (== "==") (number_literal "0"))) (; ";")) (if_statement "if (bVar27) {\n              uVar10 = uVar10 >> 0x10;\n            }" (if "if") (parenthesized_expression "(bVar27)" (( "(") (identifier "bVar27") () ")")) (compound_statement "{\n              uVar10 = uVar10 >> 0x10;\n            }" ({ "{") (expression_statement "uVar10 = uVar10 >> 0x10;" (assignment_expression "uVar10 = uVar10 >> 0x10" (identifier "uVar10") (= "=") (binary_expression "uVar10 >> 0x10" (identifier "uVar10") (>> ">>") (number_literal "0x10"))) (; ";")) (} "}"))) (if_statement "if (bVar27) {\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }" (if "if") (parenthesized_expression "(bVar27)" (( "(") (identifier "bVar27") () ")")) (compound_statement "{\n              puVar20 = (ulong *)((long)puVar19 + 6);\n            }" ({ "{") (expression_statement "puVar20 = (ulong *)((long)puVar19 + 6);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 6)" (identifier "puVar20") (= "=") (cast_expression "(ulong *)((long)puVar19 + 6)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar19 + 6)" (( "(") (binary_expression "(long)puVar19 + 6" (cast_expression "(long)puVar19" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar19")) (+ "+") (number_literal "6")) () ")")))) (; ";")) (} "}"))) (if_statement "if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }" (if "if") (parenthesized_expression "((char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)))" (( "(") (binary_expression "(char *)(0x7fffffffffffffff - param_1[1]) <\n                (char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" (cast_expression "(char *)(0x7fffffffffffffff - param_1[1])" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(0x7fffffffffffffff - param_1[1])" (( "(") (binary_expression "0x7fffffffffffffff - param_1[1]" (number_literal "0x7fffffffffffffff") (- "-") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) () ")"))) (< "<") (cast_expression "(char *)((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" (( "(") (binary_expression "(long)puVar20 +\n                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" (cast_expression "(long)puVar20" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar20")) (+ "+") (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" (( "(") (binary_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10))" (( "(") (binary_expression "-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)" (number_literal "-3") (- "-") (cast_expression "(ulong)CARRY1((byte)uVar10,(byte)uVar10)" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (call_expression "CARRY1((byte)uVar10,(byte)uVar10)" (identifier "CARRY1") (argument_list "((byte)uVar10,(byte)uVar10)" (( "(") (cast_expression "(byte)uVar10" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar10")) (, ",") (cast_expression "(byte)uVar10" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar10")) () ")"))))) () ")")) (- "-") (cast_expression "(long)&local_78" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&local_78" (& "&") (identifier "local_78")))) () ")"))) () ")")))) () ")")) (compound_statement "{\n                    \n              FUN_002e12b0("basic_string::append");\n            }" ({ "{") (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" (identifier "FUN_002e12b0") (argument_list "("basic_string::append")" (( "(") (string_literal ""basic_string::append"" (" """) (string_content "basic_string::append") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_002aac00(param_1,&local_78);" (call_expression "FUN_002aac00(param_1,&local_78)" (identifier "FUN_002aac00") (argument_list "(param_1,&local_78)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&local_78" (& "&") (identifier "local_78")) () ")"))) (; ";")) (if_statement "if (param_1[1] == 0x7fffffffffffffff) {\n                    \n              FUN_002e12b0("basic_string::append");\n            }" (if "if") (parenthesized_expression "(param_1[1] == 0x7fffffffffffffff)" (( "(") (binary_expression "param_1[1] == 0x7fffffffffffffff" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x7fffffffffffffff")) () ")")) (compound_statement "{\n                    \n              FUN_002e12b0("basic_string::append");\n            }" ({ "{") (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" (identifier "FUN_002e12b0") (argument_list "("basic_string::append")" (( "(") (string_literal ""basic_string::append"" (" """) (string_content "basic_string::append") (" """)) () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_0019d1b1;" (goto "goto") (statement_identifier "LAB_0019d1b1") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }" (else "else") (compound_statement "{\n          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);\n          if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }\n          if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }\n        }" ({ "{") (expression_statement "lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);" (assignment_expression "lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8)" (identifier "lVar11") (= "=") (call_expression "FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8)" (identifier "FUN_0019f9f0") (argument_list "(*(long *)(param_6 + 0x298) + 0x18,&local_a8)" (( "(") (binary_expression "*(long *)(param_6 + 0x298) + 0x18" (pointer_expression "*(long *)(param_6 + 0x298)" (* "*") (cast_expression "(long *)(param_6 + 0x298)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0x298)" (( "(") (binary_expression "param_6 + 0x298" (identifier "param_6") (+ "+") (number_literal "0x298")) () ")")))) (+ "+") (number_literal "0x18")) (, ",") (pointer_expression "&local_a8" (& "&") (identifier "local_a8")) () ")")))) (; ";")) (if_statement "if (puVar15 == (undefined8 *)0x0) {\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }\n          else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }" (if "if") (parenthesized_expression "(puVar15 == (undefined8 *)0x0)" (( "(") (binary_expression "puVar15 == (undefined8 *)0x0" (identifier "puVar15") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }\n          }" ({ "{") (labeled_statement "LAB_0019cc40:\n            if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }" (statement_identifier "LAB_0019cc40") (: ":") (if_statement "if (lVar11 != 0) {\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }" (if "if") (parenthesized_expression "(lVar11 != 0)" (( "(") (binary_expression "lVar11 != 0" (identifier "lVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }\n              snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));\n              puVar20 = local_b8;\n              if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }\n              FUN_002aac00(&local_98,&local_78);\n              if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(&local_98,&DAT_0034070c,1);\n              goto LAB_0019ce15;\n            }" ({ "{") (if_statement "if (param_5 != (int *)0x0) {\n                *param_5 = *param_5 + 1;\n              }" (if "if") (parenthesized_expression "(param_5 != (int *)0x0)" (( "(") (binary_expression "param_5 != (int *)0x0" (identifier "param_5") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                *param_5 = *param_5 + 1;\n              }" ({ "{") (expression_statement "*param_5 = *param_5 + 1;" (assignment_expression "*param_5 = *param_5 + 1" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (binary_expression "*param_5 + 1" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));" (call_expression "snprintf((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4))" (identifier "snprintf") (argument_list "((char *)local_b8,10,"%u",\n                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4))" (( "(") (cast_expression "(char *)local_b8" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_b8")) (, ",") (number_literal "10") (, ",") (string_literal ""%u"" (" """) (string_content "%u") (" """)) (, ",") (binary_expression "(ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4)" (( "(") (binary_expression "*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (+ "+") (binary_expression "(ulong)*(uint *)(lVar11 + 0x18) * 4" (binary_expression "(ulong)*(uint *)(lVar11 + 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(lVar11 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar11 + 0x18)" (( "(") (binary_expression "lVar11 + 0x18" (identifier "lVar11") (+ "+") (number_literal "0x18")) () ")")))) (* "*") (number_literal "4"))) () ")")))) () ")"))) (; ";")) (expression_statement "puVar20 = local_b8;" (assignment_expression "puVar20 = local_b8" (identifier "puVar20") (= "=") (identifier "local_b8")) (; ";")) (if_statement "if (param_2 != '\0') {\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }" (if "if") (parenthesized_expression "(param_2 != '\0')" (( "(") (binary_expression "param_2 != '\0'" (identifier "param_2") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,"ICF_R",5);\n                puVar20 = &local_78;\n                do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);\n                bVar27 = (uVar9 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }\n                if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }\n                if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                FUN_002aac00(param_1,&local_78);\n                puVar20 = local_b8;\n              }" ({ "{") (if_statement "if (0x7fffffffffffffff - param_1[1] < 5) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }" (if "if") (parenthesized_expression "(0x7fffffffffffffff - param_1[1] < 5)" (( "(") (binary_expression "0x7fffffffffffffff - param_1[1] < 5" (binary_expression "0x7fffffffffffffff - param_1[1]" (number_literal "0x7fffffffffffffff") (- "-") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (< "<") (number_literal "5")) () ")")) (compound_statement "{\n                    \n                  FUN_002e12b0("basic_string::append");\n                }" ({ "{") (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" (identifier "FUN_002e12b0") (argument_list "("basic_string::append")" (( "(") (string_literal ""basic_string::append"" (" """) (string_content "basic_string::append") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_002aac00(param_1,"ICF_R",5);" (call_expression "FUN_002aac00(param_1,"ICF_R",5)" (identifier "FUN_002aac00") (argument_list "(param_1,"ICF_R",5)" (( "(") (identifier "param_1") (, ",") (string_literal ""ICF_R"" (" """) (string_content "ICF_R") (" """)) (, ",") (number_literal "5") () ")"))) (; ";")) (expression_statement "puVar20 = &local_78;" (assignment_expression "puVar20 = &local_78" (identifier "puVar20") (= "=") (pointer_expression "&local_78" (& "&") (identifier "local_78"))) (; ";")) (do_statement "do {\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                } while (uVar10 == 0);" (do "do") (compound_statement "{\n                  puVar19 = puVar20;\n                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                  uVar10 = uVar9 & 0x80808080;\n                  puVar20 = (ulong *)((long)puVar19 + 4);\n                }" ({ "{") (expression_statement "puVar19 = puVar20;" (assignment_expression "puVar19 = puVar20" (identifier "puVar19") (= "=") (identifier "puVar20")) (; ";")) (expression_statement "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;" (assignment_expression "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (identifier "uVar9") (= "=") (binary_expression "(uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (binary_expression "(uint)*puVar19 + 0xfefefeff" (binary_expression "(uint)*puVar19" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "puVar19")) (+ "+") (number_literal "0xfefefeff")) (& "&") (binary_expression "~(uint)*puVar19" (unary_expression "~(uint)" (~ "~") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (identifier "puVar19")))) (; ";")) (expression_statement "uVar10 = uVar9 & 0x80808080;" (assignment_expression "uVar10 = uVar9 & 0x80808080" (identifier "uVar10") (= "=") (binary_expression "uVar9 & 0x80808080" (identifier "uVar9") (& "&") (number_literal "0x80808080"))) (; ";")) (expression_statement "puVar20 = (ulong *)((long)puVar19 + 4);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 4)" (identifier "puVar20") (= "=") (cast_expression "(ulong *)((long)puVar19 + 4)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar19 + 4)" (( "(") (binary_expression "(long)puVar19 + 4" (cast_expression "(long)puVar19" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar19")) (+ "+") (number_literal "4")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (; ";")) (expression_statement "bVar27 = (uVar9 & 0x8080) == 0;" (assignment_expression "bVar27 = (uVar9 & 0x8080) == 0" (identifier "bVar27") (= "=") (binary_expression "(uVar9 & 0x8080) == 0" (parenthesized_expression "(uVar9 & 0x8080)" (( "(") (binary_expression "uVar9 & 0x8080" (identifier "uVar9") (& "&") (number_literal "0x8080")) () ")")) (== "==") (number_literal "0"))) (; ";")) (if_statement "if (bVar27) {\n                  uVar10 = uVar10 >> 0x10;\n                }" (if "if") (parenthesized_expression "(bVar27)" (( "(") (identifier "bVar27") () ")")) (compound_statement "{\n                  uVar10 = uVar10 >> 0x10;\n                }" ({ "{") (expression_statement "uVar10 = uVar10 >> 0x10;" (assignment_expression "uVar10 = uVar10 >> 0x10" (identifier "uVar10") (= "=") (binary_expression "uVar10 >> 0x10" (identifier "uVar10") (>> ">>") (number_literal "0x10"))) (; ";")) (} "}"))) (if_statement "if (bVar27) {\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }" (if "if") (parenthesized_expression "(bVar27)" (( "(") (identifier "bVar27") () ")")) (compound_statement "{\n                  puVar20 = (ulong *)((long)puVar19 + 6);\n                }" ({ "{") (expression_statement "puVar20 = (ulong *)((long)puVar19 + 6);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 6)" (identifier "puVar20") (= "=") (cast_expression "(ulong *)((long)puVar19 + 6)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar19 + 6)" (( "(") (binary_expression "(long)puVar19 + 6" (cast_expression "(long)puVar19" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar19")) (+ "+") (number_literal "6")) () ")")))) (; ";")) (} "}"))) (if_statement "if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }" (if "if") (parenthesized_expression "((char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)))" (( "(") (binary_expression "(char *)(0x7fffffffffffffff - param_1[1]) <\n                    (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" (cast_expression "(char *)(0x7fffffffffffffff - param_1[1])" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(0x7fffffffffffffff - param_1[1])" (( "(") (binary_expression "0x7fffffffffffffff - param_1[1]" (number_literal "0x7fffffffffffffff") (- "-") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) () ")"))) (< "<") (cast_expression "(char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" (( "(") (binary_expression "(long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" (cast_expression "(long)puVar20" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar20")) (+ "+") (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" (( "(") (binary_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10))" (( "(") (binary_expression "-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)" (number_literal "-3") (- "-") (cast_expression "(ulong)CARRY1((byte)uVar10,(byte)uVar10)" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (call_expression "CARRY1((byte)uVar10,(byte)uVar10)" (identifier "CARRY1") (argument_list "((byte)uVar10,(byte)uVar10)" (( "(") (cast_expression "(byte)uVar10" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar10")) (, ",") (cast_expression "(byte)uVar10" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar10")) () ")"))))) () ")")) (- "-") (cast_expression "(long)&local_78" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&local_78" (& "&") (identifier "local_78")))) () ")"))) () ")")))) () ")")) (compound_statement "{\n                    \n                  FUN_002e12b0("basic_string::append");\n                }" ({ "{") (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" (identifier "FUN_002e12b0") (argument_list "("basic_string::append")" (( "(") (string_literal ""basic_string::append"" (" """) (string_content "basic_string::append") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_002aac00(param_1,&local_78);" (call_expression "FUN_002aac00(param_1,&local_78)" (identifier "FUN_002aac00") (argument_list "(param_1,&local_78)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&local_78" (& "&") (identifier "local_78")) () ")"))) (; ";")) (expression_statement "puVar20 = local_b8;" (assignment_expression "puVar20 = local_b8" (identifier "puVar20") (= "=") (identifier "local_b8")) (; ";")) (} "}"))) (do_statement "do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);" (do "do") (compound_statement "{\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              }" ({ "{") (expression_statement "puVar19 = puVar20;" (assignment_expression "puVar19 = puVar20" (identifier "puVar19") (= "=") (identifier "puVar20")) (; ";")) (expression_statement "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;" (assignment_expression "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (identifier "uVar9") (= "=") (binary_expression "(uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (binary_expression "(uint)*puVar19 + 0xfefefeff" (binary_expression "(uint)*puVar19" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "puVar19")) (+ "+") (number_literal "0xfefefeff")) (& "&") (binary_expression "~(uint)*puVar19" (unary_expression "~(uint)" (~ "~") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (identifier "puVar19")))) (; ";")) (expression_statement "uVar10 = uVar9 & 0x80808080;" (assignment_expression "uVar10 = uVar9 & 0x80808080" (identifier "uVar10") (= "=") (binary_expression "uVar9 & 0x80808080" (identifier "uVar9") (& "&") (number_literal "0x80808080"))) (; ";")) (expression_statement "puVar20 = (ulong *)((long)puVar19 + 4);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 4)" (identifier "puVar20") (= "=") (cast_expression "(ulong *)((long)puVar19 + 4)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar19 + 4)" (( "(") (binary_expression "(long)puVar19 + 4" (cast_expression "(long)puVar19" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar19")) (+ "+") (number_literal "4")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (; ";")) (expression_statement "bVar27 = (uVar9 & 0x8080) == 0;" (assignment_expression "bVar27 = (uVar9 & 0x8080) == 0" (identifier "bVar27") (= "=") (binary_expression "(uVar9 & 0x8080) == 0" (parenthesized_expression "(uVar9 & 0x8080)" (( "(") (binary_expression "uVar9 & 0x8080" (identifier "uVar9") (& "&") (number_literal "0x8080")) () ")")) (== "==") (number_literal "0"))) (; ";")) (if_statement "if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }" (if "if") (parenthesized_expression "(bVar27)" (( "(") (identifier "bVar27") () ")")) (compound_statement "{\n                uVar10 = uVar10 >> 0x10;\n              }" ({ "{") (expression_statement "uVar10 = uVar10 >> 0x10;" (assignment_expression "uVar10 = uVar10 >> 0x10" (identifier "uVar10") (= "=") (binary_expression "uVar10 >> 0x10" (identifier "uVar10") (>> ">>") (number_literal "0x10"))) (; ";")) (} "}"))) (if_statement "if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }" (if "if") (parenthesized_expression "(bVar27)" (( "(") (identifier "bVar27") () ")")) (compound_statement "{\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }" ({ "{") (expression_statement "puVar20 = (ulong *)((long)puVar19 + 6);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 6)" (identifier "puVar20") (= "=") (cast_expression "(ulong *)((long)puVar19 + 6)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar19 + 6)" (( "(") (binary_expression "(long)puVar19 + 6" (cast_expression "(long)puVar19" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar19")) (+ "+") (number_literal "6")) () ")")))) (; ";")) (} "}"))) (if_statement "if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }" (if "if") (parenthesized_expression "((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8)))" (( "(") (binary_expression "(char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))" (cast_expression "(char *)(0x7fffffffffffffff - local_90)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(0x7fffffffffffffff - local_90)" (( "(") (binary_expression "0x7fffffffffffffff - local_90" (number_literal "0x7fffffffffffffff") (- "-") (identifier "local_90")) () ")"))) (< "<") (cast_expression "(char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))" (( "(") (binary_expression "(long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8)" (cast_expression "(long)puVar20" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar20")) (+ "+") (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8)" (( "(") (binary_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10))" (( "(") (binary_expression "-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)" (number_literal "-3") (- "-") (cast_expression "(ulong)CARRY1((byte)uVar10,(byte)uVar10)" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (call_expression "CARRY1((byte)uVar10,(byte)uVar10)" (identifier "CARRY1") (argument_list "((byte)uVar10,(byte)uVar10)" (( "(") (cast_expression "(byte)uVar10" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar10")) (, ",") (cast_expression "(byte)uVar10" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar10")) () ")"))))) () ")")) (- "-") (cast_expression "(long)local_b8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_b8"))) () ")"))) () ")")))) () ")")) (compound_statement "{\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }" ({ "{") (expression_statement "FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);" (call_expression "FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00)" (identifier "FUN_002e12b0") (argument_list "("basic_string::append",uVar10 & 0xffffff00)" (( "(") (string_literal ""basic_string::append"" (" """) (string_content "basic_string::append") (" """)) (, ",") (binary_expression "uVar10 & 0xffffff00" (identifier "uVar10") (& "&") (number_literal "0xffffff00")) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_002aac00(&local_98,local_b8);" (call_expression "FUN_002aac00(&local_98,local_b8)" (identifier "FUN_002aac00") (argument_list "(&local_98,local_b8)" (( "(") (pointer_expression "&local_98" (& "&") (identifier "local_98")) (, ",") (identifier "local_b8") () ")"))) (; ";")) (expression_statement "puVar20 = &local_78;" (assignment_expression "puVar20 = &local_78" (identifier "puVar20") (= "=") (pointer_expression "&local_78" (& "&") (identifier "local_78"))) (; ";")) (do_statement "do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);" (do "do") (compound_statement "{\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              }" ({ "{") (expression_statement "puVar19 = puVar20;" (assignment_expression "puVar19 = puVar20" (identifier "puVar19") (= "=") (identifier "puVar20")) (; ";")) (expression_statement "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;" (assignment_expression "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (identifier "uVar9") (= "=") (binary_expression "(uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (binary_expression "(uint)*puVar19 + 0xfefefeff" (binary_expression "(uint)*puVar19" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "puVar19")) (+ "+") (number_literal "0xfefefeff")) (& "&") (binary_expression "~(uint)*puVar19" (unary_expression "~(uint)" (~ "~") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (identifier "puVar19")))) (; ";")) (expression_statement "uVar10 = uVar9 & 0x80808080;" (assignment_expression "uVar10 = uVar9 & 0x80808080" (identifier "uVar10") (= "=") (binary_expression "uVar9 & 0x80808080" (identifier "uVar9") (& "&") (number_literal "0x80808080"))) (; ";")) (expression_statement "puVar20 = (ulong *)((long)puVar19 + 4);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 4)" (identifier "puVar20") (= "=") (cast_expression "(ulong *)((long)puVar19 + 4)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar19 + 4)" (( "(") (binary_expression "(long)puVar19 + 4" (cast_expression "(long)puVar19" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar19")) (+ "+") (number_literal "4")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (; ";")) (expression_statement "bVar27 = (uVar9 & 0x8080) == 0;" (assignment_expression "bVar27 = (uVar9 & 0x8080) == 0" (identifier "bVar27") (= "=") (binary_expression "(uVar9 & 0x8080) == 0" (parenthesized_expression "(uVar9 & 0x8080)" (( "(") (binary_expression "uVar9 & 0x8080" (identifier "uVar9") (& "&") (number_literal "0x8080")) () ")")) (== "==") (number_literal "0"))) (; ";")) (if_statement "if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }" (if "if") (parenthesized_expression "(bVar27)" (( "(") (identifier "bVar27") () ")")) (compound_statement "{\n                uVar10 = uVar10 >> 0x10;\n              }" ({ "{") (expression_statement "uVar10 = uVar10 >> 0x10;" (assignment_expression "uVar10 = uVar10 >> 0x10" (identifier "uVar10") (= "=") (binary_expression "uVar10 >> 0x10" (identifier "uVar10") (>> ">>") (number_literal "0x10"))) (; ";")) (} "}"))) (if_statement "if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }" (if "if") (parenthesized_expression "(bVar27)" (( "(") (identifier "bVar27") () ")")) (compound_statement "{\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }" ({ "{") (expression_statement "puVar20 = (ulong *)((long)puVar19 + 6);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 6)" (identifier "puVar20") (= "=") (cast_expression "(ulong *)((long)puVar19 + 6)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar19 + 6)" (( "(") (binary_expression "(long)puVar19 + 6" (cast_expression "(long)puVar19" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar19")) (+ "+") (number_literal "6")) () ")")))) (; ";")) (} "}"))) (if_statement "if ((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }" (if "if") (parenthesized_expression "((char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)))" (( "(") (binary_expression "(char *)(0x7fffffffffffffff - local_90) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" (cast_expression "(char *)(0x7fffffffffffffff - local_90)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(0x7fffffffffffffff - local_90)" (( "(") (binary_expression "0x7fffffffffffffff - local_90" (number_literal "0x7fffffffffffffff") (- "-") (identifier "local_90")) () ")"))) (< "<") (cast_expression "(char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" (( "(") (binary_expression "(long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" (cast_expression "(long)puVar20" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar20")) (+ "+") (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" (( "(") (binary_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10))" (( "(") (binary_expression "-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)" (number_literal "-3") (- "-") (cast_expression "(ulong)CARRY1((byte)uVar10,(byte)uVar10)" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (call_expression "CARRY1((byte)uVar10,(byte)uVar10)" (identifier "CARRY1") (argument_list "((byte)uVar10,(byte)uVar10)" (( "(") (cast_expression "(byte)uVar10" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar10")) (, ",") (cast_expression "(byte)uVar10" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar10")) () ")"))))) () ")")) (- "-") (cast_expression "(long)&local_78" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&local_78" (& "&") (identifier "local_78")))) () ")"))) () ")")))) () ")")) (compound_statement "{\n                    \n                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);\n              }" ({ "{") (expression_statement "FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);" (call_expression "FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00)" (identifier "FUN_002e12b0") (argument_list "("basic_string::append",uVar10 & 0xffffff00)" (( "(") (string_literal ""basic_string::append"" (" """) (string_content "basic_string::append") (" """)) (, ",") (binary_expression "uVar10 & 0xffffff00" (identifier "uVar10") (& "&") (number_literal "0xffffff00")) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_002aac00(&local_98,&local_78);" (call_expression "FUN_002aac00(&local_98,&local_78)" (identifier "FUN_002aac00") (argument_list "(&local_98,&local_78)" (( "(") (pointer_expression "&local_98" (& "&") (identifier "local_98")) (, ",") (pointer_expression "&local_78" (& "&") (identifier "local_78")) () ")"))) (; ";")) (if_statement "if (local_90 == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }" (if "if") (parenthesized_expression "(local_90 == 0x7fffffffffffffff)" (( "(") (binary_expression "local_90 == 0x7fffffffffffffff" (identifier "local_90") (== "==") (number_literal "0x7fffffffffffffff")) () ")")) (compound_statement "{\n                    \n                FUN_002e12b0("basic_string::append");\n              }" ({ "{") (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" (identifier "FUN_002e12b0") (argument_list "("basic_string::append")" (( "(") (string_literal ""basic_string::append"" (" """) (string_content "basic_string::append") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_002aac00(&local_98,&DAT_0034070c,1);" (call_expression "FUN_002aac00(&local_98,&DAT_0034070c,1)" (identifier "FUN_002aac00") (argument_list "(&local_98,&DAT_0034070c,1)" (( "(") (pointer_expression "&local_98" (& "&") (identifier "local_98")) (, ",") (pointer_expression "&DAT_0034070c" (& "&") (identifier "DAT_0034070c")) (, ",") (number_literal "1") () ")"))) (; ";")) (goto_statement "goto LAB_0019ce15;" (goto "goto") (statement_identifier "LAB_0019ce15") (; ";")) (} "}")))) (} "}")) (else_clause "else {\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }" (else "else") (compound_statement "{\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }\n            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;\nLAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;\n            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n            if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;\n            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);\n            if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }\n          }" ({ "{") (if_statement "if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }" (if "if") (parenthesized_expression "((*(byte *)((long)puVar15 + 0x3a) & 7) == 0)" (( "(") (binary_expression "(*(byte *)((long)puVar15 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)((long)puVar15 + 0x3a) & 7)" (( "(") (binary_expression "*(byte *)((long)puVar15 + 0x3a) & 7" (pointer_expression "*(byte *)((long)puVar15 + 0x3a)" (* "*") (cast_expression "(byte *)((long)puVar15 + 0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar15 + 0x3a)" (( "(") (binary_expression "(long)puVar15 + 0x3a" (cast_expression "(long)puVar15" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar15")) (+ "+") (number_literal "0x3a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;\n              goto LAB_0019cc40;\n            }" ({ "{") (if_statement "if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))\n              goto LAB_0019cf7c;" (if "if") (parenthesized_expression "(((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))" (( "(") (binary_expression "((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&\n                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0)))" (parenthesized_expression "((*(byte *)(puVar15[2] + 0x3c) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(puVar15[2] + 0x3c) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar15[2] + 0x3c) & 1)" (( "(") (binary_expression "*(byte *)(puVar15[2] + 0x3c) & 1" (pointer_expression "*(byte *)(puVar15[2] + 0x3c)" (* "*") (cast_expression "(byte *)(puVar15[2] + 0x3c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15[2] + 0x3c)" (( "(") (binary_expression "puVar15[2] + 0x3c" (subscript_expression "puVar15[2]" (identifier "puVar15") ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "0x3c")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0)))" (( "(") (parenthesized_expression "(*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))" (( "(") (binary_expression "*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0)" (binary_expression "*(int *)(puVar15 + 3) != 0" (pointer_expression "*(int *)(puVar15 + 3)" (* "*") (cast_expression "(int *)(puVar15 + 3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 3)" (( "(") (binary_expression "puVar15 + 3" (identifier "puVar15") (+ "+") (number_literal "3")) () ")")))) (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((long)puVar15 + 0x3b) & 0x20)" (( "(") (binary_expression "*(byte *)((long)puVar15 + 0x3b) & 0x20" (pointer_expression "*(byte *)((long)puVar15 + 0x3b)" (* "*") (cast_expression "(byte *)((long)puVar15 + 0x3b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar15 + 0x3b)" (( "(") (binary_expression "(long)puVar15 + 0x3b" (cast_expression "(long)puVar15" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar15")) (+ "+") (number_literal "0x3b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0019cf7c;" (goto "goto") (statement_identifier "LAB_0019cf7c") (; ";"))) (goto_statement "goto LAB_0019cc40;" (goto "goto") (statement_identifier "LAB_0019cc40") (; ";")) (} "}"))) (if_statement "if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;" (if "if") (parenthesized_expression "((*(byte *)((long)puVar15 + 0x3a) & 7) == 4)" (( "(") (binary_expression "(*(byte *)((long)puVar15 + 0x3a) & 7) == 4" (parenthesized_expression "(*(byte *)((long)puVar15 + 0x3a) & 7)" (( "(") (binary_expression "*(byte *)((long)puVar15 + 0x3a) & 7" (pointer_expression "*(byte *)((long)puVar15 + 0x3a)" (* "*") (cast_expression "(byte *)((long)puVar15 + 0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar15 + 0x3a)" (( "(") (binary_expression "(long)puVar15 + 0x3a" (cast_expression "(long)puVar15" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar15")) (+ "+") (number_literal "0x3a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "4")) () ")")) (goto_statement "goto LAB_0019cc40;" (goto "goto") (statement_identifier "LAB_0019cc40") (; ";"))) (labeled_statement "LAB_0019cf7c:\n            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;" (statement_identifier "LAB_0019cf7c") (: ":") (if_statement "if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;" (if "if") (parenthesized_expression "(((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0))" (( "(") (binary_expression "((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||\n               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)" (parenthesized_expression "((*(byte *)((long)puVar15 + 0x39) & 3) != 0)" (( "(") (binary_expression "(*(byte *)((long)puVar15 + 0x39) & 3) != 0" (parenthesized_expression "(*(byte *)((long)puVar15 + 0x39) & 3)" (( "(") (binary_expression "*(byte *)((long)puVar15 + 0x39) & 3" (pointer_expression "*(byte *)((long)puVar15 + 0x39)" (* "*") (cast_expression "(byte *)((long)puVar15 + 0x39)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar15 + 0x39)" (( "(") (binary_expression "(long)puVar15 + 0x39" (cast_expression "(long)puVar15" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar15")) (+ "+") (number_literal "0x39")) () ")")))) (& "&") (number_literal "3")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)" (( "(") (binary_expression "(*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0" (parenthesized_expression "(*(byte *)((long)puVar15 + 0x3b) & 0x10)" (( "(") (binary_expression "*(byte *)((long)puVar15 + 0x3b) & 0x10" (pointer_expression "*(byte *)((long)puVar15 + 0x3b)" (* "*") (cast_expression "(byte *)((long)puVar15 + 0x3b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar15 + 0x3b)" (( "(") (binary_expression "(long)puVar15 + 0x3b" (cast_expression "(long)puVar15" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar15")) (+ "+") (number_literal "0x3b")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_0019cc40;" (goto "goto") (statement_identifier "LAB_0019cc40") (; ";")))) (expression_statement "lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);" (assignment_expression "lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10)" (identifier "lVar16") (= "=") (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_003f85c0 + 0x10)" (( "(") (binary_expression "PTR_DAT_003f85c0 + 0x10" (identifier "PTR_DAT_003f85c0") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (lVar16 == 0) {\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }" (if "if") (parenthesized_expression "(lVar16 == 0)" (( "(") (binary_expression "lVar16 == 0" (identifier "lVar16") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n              FUN_00199900("../../gold/parameters.h",0x5c,"options");\n            }" ({ "{") (expression_statement "FUN_00199900("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00199900("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_00199900") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;" (if "if") (parenthesized_expression "(*(char *)(lVar16 + 0x2a61) == '\0')" (( "(") (binary_expression "*(char *)(lVar16 + 0x2a61) == '\0'" (pointer_expression "*(char *)(lVar16 + 0x2a61)" (* "*") (cast_expression "(char *)(lVar16 + 0x2a61)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar16 + 0x2a61)" (( "(") (binary_expression "lVar16 + 0x2a61" (identifier "lVar16") (+ "+") (number_literal "0x2a61")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0019cc40;" (goto "goto") (statement_identifier "LAB_0019cc40") (; ";"))) (expression_statement "cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);" (assignment_expression "cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1)" (identifier "cVar8") (= "=") (call_expression "FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1)" (identifier "FUN_00241de0") (argument_list "(lVar16 + 0x9120,*puVar15,0,&local_c1)" (( "(") (binary_expression "lVar16 + 0x9120" (identifier "lVar16") (+ "+") (number_literal "0x9120")) (, ",") (pointer_expression "*puVar15" (* "*") (identifier "puVar15")) (, ",") (number_literal "0") (, ",") (pointer_expression "&local_c1" (& "&") (identifier "local_c1")) () ")")))) (; ";")) (if_statement "if ((cVar8 == '\0') || (local_c1 != '\0')) {\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }" (if "if") (parenthesized_expression "((cVar8 == '\0') || (local_c1 != '\0'))" (( "(") (binary_expression "(cVar8 == '\0') || (local_c1 != '\0')" (parenthesized_expression "(cVar8 == '\0')" (( "(") (binary_expression "cVar8 == '\0'" (identifier "cVar8") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(local_c1 != '\0')" (( "(") (binary_expression "local_c1 != '\0'" (identifier "local_c1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);\n              if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;\n            }" ({ "{") (expression_statement "lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);" (assignment_expression "lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10)" (identifier "lVar16") (= "=") (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_003f85c0 + 0x10)" (( "(") (binary_expression "PTR_DAT_003f85c0 + 0x10" (identifier "PTR_DAT_003f85c0") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (lVar16 == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }" (if "if") (parenthesized_expression "(lVar16 == 0)" (( "(") (binary_expression "lVar16 == 0" (identifier "lVar16") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                FUN_00199900("../../gold/parameters.h",0x5c,"options");\n              }" ({ "{") (expression_statement "FUN_00199900("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00199900("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_00199900") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if ((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))\n              goto LAB_0019cc40;" (if "if") (parenthesized_expression "((*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))" (( "(") (binary_expression "(*(char *)(lVar16 + 0xd21) != '\0') ||\n                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0')))" (parenthesized_expression "(*(char *)(lVar16 + 0xd21) != '\0')" (( "(") (binary_expression "*(char *)(lVar16 + 0xd21) != '\0'" (pointer_expression "*(char *)(lVar16 + 0xd21)" (* "*") (cast_expression "(char *)(lVar16 + 0xd21)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar16 + 0xd21)" (( "(") (binary_expression "lVar16 + 0xd21" (identifier "lVar16") (+ "+") (number_literal "0xd21")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0')))" (( "(") (parenthesized_expression "((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))" (( "(") (binary_expression "(*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0')" (binary_expression "(*(byte *)(puVar15 + 7) & 0xf) != 1" (parenthesized_expression "(*(byte *)(puVar15 + 7) & 0xf)" (( "(") (binary_expression "*(byte *)(puVar15 + 7) & 0xf" (pointer_expression "*(byte *)(puVar15 + 7)" (* "*") (cast_expression "(byte *)(puVar15 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 7)" (( "(") (binary_expression "puVar15 + 7" (identifier "puVar15") (+ "+") (number_literal "7")) () ")")))) (& "&") (number_literal "0xf")) () ")")) (!= "!=") (number_literal "1")) (&& "&&") (parenthesized_expression "(*(char *)(lVar16 + 0xde9) != '\0')" (( "(") (binary_expression "*(char *)(lVar16 + 0xde9) != '\0'" (pointer_expression "*(char *)(lVar16 + 0xde9)" (* "*") (cast_expression "(char *)(lVar16 + 0xde9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar16 + 0xde9)" (( "(") (binary_expression "lVar16 + 0xde9" (identifier "lVar16") (+ "+") (number_literal "0xde9")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0019cc40;" (goto "goto") (statement_identifier "LAB_0019cc40") (; ";"))) (} "}"))) (} "}")))) (if_statement "if (param_2 != '\0') {\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }" (if "if") (parenthesized_expression "(param_2 != '\0')" (( "(") (binary_expression "param_2 != '\0'" (identifier "param_2") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);\n            if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }\n            if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            goto LAB_0019d1b1;\n          }" ({ "{") (expression_statement "uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);" (assignment_expression "uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1])" (identifier "uVar12") (= "=") (call_expression "(**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1])" (parenthesized_expression "(**(code **)(*(long *)*puVar21 + 0x88))" (( "(") (pointer_expression "**(code **)(*(long *)*puVar21 + 0x88)" (* "*") (pointer_expression "*(code **)(*(long *)*puVar21 + 0x88)" (* "*") (cast_expression "(code **)(*(long *)*puVar21 + 0x88)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)*puVar21 + 0x88)" (( "(") (binary_expression "*(long *)*puVar21 + 0x88" (pointer_expression "*(long *)*puVar21" (* "*") (cast_expression "(long *)*puVar21" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar21" (* "*") (identifier "puVar21")))) (+ "+") (number_literal "0x88")) () ")"))))) () ")")) (argument_list "((long *)*puVar21,(int)puVar21[1])" (( "(") (cast_expression "(long *)*puVar21" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar21" (* "*") (identifier "puVar21"))) (, ",") (cast_expression "(int)puVar21[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar21[1]" (identifier "puVar21") ([ "[") (number_literal "1") (] "]"))) () ")")))) (; ";")) (if_statement "if ((uVar12 & 0x10) != 0) {\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }" (if "if") (parenthesized_expression "((uVar12 & 0x10) != 0)" (( "(") (binary_expression "(uVar12 & 0x10) != 0" (parenthesized_expression "(uVar12 & 0x10)" (( "(") (binary_expression "uVar12 & 0x10" (identifier "uVar12") (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }\n              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }\n            }" ({ "{") (if_statement "if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }" (if "if") (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x18) == 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x18) == 0" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x18)" (* "*") (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_003f85c0 + 0x18)" (( "(") (binary_expression "PTR_DAT_003f85c0 + 0x18" (identifier "PTR_DAT_003f85c0") (+ "+") (number_literal "0x18")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                FUN_00199900("../../gold/parameters.h",0x69,"target");\n              }" ({ "{") (expression_statement "FUN_00199900("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_00199900("../../gold/parameters.h",0x69,"target")" (identifier "FUN_00199900") (argument_list "("../../gold/parameters.h",0x69,"target")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x69") (, ",") (string_literal ""target"" (" """) (string_content "target") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }" (if "if") (parenthesized_expression "(*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0')" (( "(") (binary_expression "*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0'" (pointer_expression "*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10)" (* "*") (cast_expression "(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10)" (( "(") (binary_expression "*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10" (pointer_expression "*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" (* "*") (cast_expression "(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8)" (( "(") (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x18) + 8" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x18)" (* "*") (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_003f85c0 + 0x18)" (( "(") (binary_expression "PTR_DAT_003f85c0 + 0x18" (identifier "PTR_DAT_003f85c0") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);\n                lVar11 = *(long *)(lVar5 + lVar22 * 4);\n                if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }\n                    \n                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);\n                __s = (int *)(lVar16 + lVar11);\n                if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }\n                if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }\n                if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }\n                goto LAB_0019d1b1;\n              }" ({ "{") (expression_statement "uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);" (assignment_expression "uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1])" (identifier "uVar18") (= "=") (call_expression "(**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1])" (parenthesized_expression "(**(code **)(*(long *)*puVar21 + 0x90))" (( "(") (pointer_expression "**(code **)(*(long *)*puVar21 + 0x90)" (* "*") (pointer_expression "*(code **)(*(long *)*puVar21 + 0x90)" (* "*") (cast_expression "(code **)(*(long *)*puVar21 + 0x90)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)*puVar21 + 0x90)" (( "(") (binary_expression "*(long *)*puVar21 + 0x90" (pointer_expression "*(long *)*puVar21" (* "*") (cast_expression "(long *)*puVar21" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar21" (* "*") (identifier "puVar21")))) (+ "+") (number_literal "0x90")) () ")"))))) () ")")) (argument_list "((long *)*puVar21,(int)puVar21[1])" (( "(") (cast_expression "(long *)*puVar21" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar21" (* "*") (identifier "puVar21"))) (, ",") (cast_expression "(int)puVar21[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar21[1]" (identifier "puVar21") ([ "[") (number_literal "1") (] "]"))) () ")")))) (; ";")) (expression_statement "lVar11 = *(long *)(lVar5 + lVar22 * 4);" (assignment_expression "lVar11 = *(long *)(lVar5 + lVar22 * 4)" (identifier "lVar11") (= "=") (pointer_expression "*(long *)(lVar5 + lVar22 * 4)" (* "*") (cast_expression "(long *)(lVar5 + lVar22 * 4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + lVar22 * 4)" (( "(") (binary_expression "lVar5 + lVar22 * 4" (identifier "lVar5") (+ "+") (binary_expression "lVar22 * 4" (identifier "lVar22") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (bVar27) {\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }" (if "if") (parenthesized_expression "(bVar27)" (( "(") (identifier "bVar27") () ")")) (compound_statement "{\n                  if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }\n                    \n                    \n                  puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));\n                  return puVar15;\n                }" ({ "{") (if_statement "if (8 < *(uint *)(lVar7 + lVar22)) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }" (if "if") (parenthesized_expression "(8 < *(uint *)(lVar7 + lVar22))" (( "(") (binary_expression "8 < *(uint *)(lVar7 + lVar22)" (number_literal "8") (< "<") (pointer_expression "*(uint *)(lVar7 + lVar22)" (* "*") (cast_expression "(uint *)(lVar7 + lVar22)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar7 + lVar22)" (( "(") (binary_expression "lVar7 + lVar22" (identifier "lVar7") (+ "+") (identifier "lVar22")) () ")"))))) () ")")) (compound_statement "{\n                    \n                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");\n                  }" ({ "{") (expression_statement "FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");" (call_expression "FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend")" (identifier "FUN_00199900") (argument_list "("../../gold/icf.cc",0xfb,"get_rel_addend")" (( "(") (string_literal ""../../gold/icf.cc"" (" """) (string_content "../../gold/icf.cc") (" """)) (, ",") (number_literal "0xfb") (, ",") (string_literal ""get_rel_addend"" (" """) (string_content "get_rel_addend") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));" (assignment_expression "puVar15 = (undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2))" (identifier "puVar15") (= "=") (cast_expression "(undefined8 *)\n                            (*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2))" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2))" (parenthesized_expression "(*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      ))" (( "(") (pointer_expression "*(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      )" (* "*") (cast_expression "(code *)(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      )" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)\n                                      )" (( "(") (binary_expression "&DAT_00340740 +\n                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)" (pointer_expression "&DAT_00340740" (& "&") (identifier "DAT_00340740")) (+ "+") (pointer_expression "*(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)" (* "*") (cast_expression "(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)" (( "(") (binary_expression "&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4" (pointer_expression "&DAT_00340740" (& "&") (identifier "DAT_00340740")) (+ "+") (binary_expression "(ulong)*(uint *)(lVar7 + lVar22) * 4" (binary_expression "(ulong)*(uint *)(lVar7 + lVar22)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(lVar7 + lVar22)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar7 + lVar22)" (( "(") (binary_expression "lVar7 + lVar22" (identifier "lVar7") (+ "+") (identifier "lVar22")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) () ")")))) () ")")) (argument_list "(local_f8 + *(long *)(lVar6 + lVar22 * 2))" (( "(") (binary_expression "local_f8 + *(long *)(lVar6 + lVar22 * 2)" (identifier "local_f8") (+ "+") (pointer_expression "*(long *)(lVar6 + lVar22 * 2)" (* "*") (cast_expression "(long *)(lVar6 + lVar22 * 2)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + lVar22 * 2)" (( "(") (binary_expression "lVar6 + lVar22 * 2" (identifier "lVar6") (+ "+") (binary_expression "lVar22 * 2" (identifier "lVar22") (* "*") (number_literal "2"))) () ")"))))) () ")"))))) (; ";")) (return_statement "return puVar15;" (return "return") (identifier "puVar15") (; ";")) (} "}"))) (expression_statement "lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);" (assignment_expression "lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0)" (identifier "lVar16") (= "=") (call_expression "FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0)" (identifier "FUN_001c7ce0") (argument_list "(*puVar21,(int)puVar21[1],local_b8,0)" (( "(") (pointer_expression "*puVar21" (* "*") (identifier "puVar21")) (, ",") (cast_expression "(int)puVar21[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar21[1]" (identifier "puVar21") ([ "[") (number_literal "1") (] "]"))) (, ",") (identifier "local_b8") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "__s = (int *)(lVar16 + lVar11);" (assignment_expression "__s = (int *)(lVar16 + lVar11)" (identifier "__s") (= "=") (cast_expression "(int *)(lVar16 + lVar11)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar16 + lVar11)" (( "(") (binary_expression "lVar16 + lVar11" (identifier "lVar16") (+ "+") (identifier "lVar11")) () ")")))) (; ";")) (if_statement "if ((long)local_b8[0] <= lVar11) {\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }" (if "if") (parenthesized_expression "((long)local_b8[0] <= lVar11)" (( "(") (binary_expression "(long)local_b8[0] <= lVar11" (cast_expression "(long)local_b8[0]" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (subscript_expression "local_b8[0]" (identifier "local_b8") ([ "[") (number_literal "0") (] "]"))) (<= "<=") (identifier "lVar11")) () ")")) (compound_statement "{\n                    \n                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");\n                }" ({ "{") (expression_statement "FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");" (call_expression "FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents")" (identifier "FUN_00199900") (argument_list "("../../gold/icf.cc",0x1eb,"get_section_contents")" (( "(") (string_literal ""../../gold/icf.cc"" (" """) (string_content "../../gold/icf.cc") (" """)) (, ",") (number_literal "0x1eb") (, ",") (string_literal ""get_section_contents"" (" """) (string_content "get_section_contents") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if ((uVar12 & 0x20) == 0) {\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }\n                else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }" (if "if") (parenthesized_expression "((uVar12 & 0x20) == 0)" (( "(") (binary_expression "(uVar12 & 0x20) == 0" (parenthesized_expression "(uVar12 & 0x20)" (( "(") (binary_expression "uVar12 & 0x20" (identifier "uVar12") (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }\n                  if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }\nLAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);\n                }" ({ "{") (if_statement "if (local_b8[0] < lVar11 + uVar18) {\n                    uVar18 = local_b8[0] - lVar11;\n                  }" (if "if") (parenthesized_expression "(local_b8[0] < lVar11 + uVar18)" (( "(") (binary_expression "local_b8[0] < lVar11 + uVar18" (subscript_expression "local_b8[0]" (identifier "local_b8") ([ "[") (number_literal "0") (] "]")) (< "<") (binary_expression "lVar11 + uVar18" (identifier "lVar11") (+ "+") (identifier "uVar18"))) () ")")) (compound_statement "{\n                    uVar18 = local_b8[0] - lVar11;\n                  }" ({ "{") (expression_statement "uVar18 = local_b8[0] - lVar11;" (assignment_expression "uVar18 = local_b8[0] - lVar11" (identifier "uVar18") (= "=") (binary_expression "local_b8[0] - lVar11" (subscript_expression "local_b8[0]" (identifier "local_b8") ([ "[") (number_literal "0") (] "]")) (- "-") (identifier "lVar11"))) (; ";")) (} "}"))) (if_statement "if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }" (if "if") (parenthesized_expression "(0x7fffffffffffffff - param_1[1] < uVar18)" (( "(") (binary_expression "0x7fffffffffffffff - param_1[1] < uVar18" (binary_expression "0x7fffffffffffffff - param_1[1]" (number_literal "0x7fffffffffffffff") (- "-") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (< "<") (identifier "uVar18")) () ")")) (compound_statement "{\n                    \n                    FUN_002e12b0("basic_string::append");\n                  }" ({ "{") (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" (identifier "FUN_002e12b0") (argument_list "("basic_string::append")" (( "(") (string_literal ""basic_string::append"" (" """) (string_content "basic_string::append") (" """)) () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_0019d597:\n                  FUN_002aac00(param_1,__s,uVar18);" (statement_identifier "LAB_0019d597") (: ":") (expression_statement "FUN_002aac00(param_1,__s,uVar18);" (call_expression "FUN_002aac00(param_1,__s,uVar18)" (identifier "FUN_002aac00") (argument_list "(param_1,__s,uVar18)" (( "(") (identifier "param_1") (, ",") (identifier "__s") (, ",") (identifier "uVar18") () ")"))) (; ";"))) (} "}")) (else_clause "else {\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }" (else "else") (compound_statement "{\n                  if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }\n                  if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }\n                  sVar13 = strlen((char *)__s);\n                  if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }\n                  FUN_002aac00(param_1,__s,sVar13);\n                }" ({ "{") (if_statement "if (uVar18 == 2) {\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }" (if "if") (parenthesized_expression "(uVar18 == 2)" (( "(") (binary_expression "uVar18 == 2" (identifier "uVar18") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n                    if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }\n                    goto LAB_0019d597;\n                  }" ({ "{") (if_statement "if ((short)*__s == 0) {\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }\n                    else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }" (if "if") (parenthesized_expression "((short)*__s == 0)" (( "(") (binary_expression "(short)*__s == 0" (cast_expression "(short)*__s" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (pointer_expression "*__s" (* "*") (identifier "__s"))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0019d70f:\n                      uVar18 = 0;\n                    }" ({ "{") (labeled_statement "LAB_0019d70f:\n                      uVar18 = 0;" (statement_identifier "LAB_0019d70f") (: ":") (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";"))) (} "}")) (else_clause "else {\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }" (else "else") (compound_statement "{\n                      uVar12 = 0;\n                      do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);\n                      uVar18 = (ulong)(uVar10 * 2);\n                      if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }\n                    }" ({ "{") (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" (identifier "uVar12") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      } while (*(short *)((long)__s + uVar12 * 2) != 0);" (do "do") (compound_statement "{\n                        uVar10 = (int)uVar12 + 1;\n                        uVar12 = (ulong)uVar10;\n                      }" ({ "{") (expression_statement "uVar10 = (int)uVar12 + 1;" (assignment_expression "uVar10 = (int)uVar12 + 1" (identifier "uVar10") (= "=") (binary_expression "(int)uVar12 + 1" (cast_expression "(int)uVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar12")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar12 = (ulong)uVar10;" (assignment_expression "uVar12 = (ulong)uVar10" (identifier "uVar12") (= "=") (cast_expression "(ulong)uVar10" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar10"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(short *)((long)__s + uVar12 * 2) != 0)" (( "(") (binary_expression "*(short *)((long)__s + uVar12 * 2) != 0" (pointer_expression "*(short *)((long)__s + uVar12 * 2)" (* "*") (cast_expression "(short *)((long)__s + uVar12 * 2)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__s + uVar12 * 2)" (( "(") (binary_expression "(long)__s + uVar12 * 2" (cast_expression "(long)__s" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__s")) (+ "+") (binary_expression "uVar12 * 2" (identifier "uVar12") (* "*") (number_literal "2"))) () ")")))) (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "uVar18 = (ulong)(uVar10 * 2);" (assignment_expression "uVar18 = (ulong)(uVar10 * 2)" (identifier "uVar18") (= "=") (call_expression "(ulong)(uVar10 * 2)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar10 * 2)" (( "(") (binary_expression "uVar10 * 2" (identifier "uVar10") (* "*") (number_literal "2")) () ")")))) (; ";")) (if_statement "if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }" (if "if") (parenthesized_expression "(0x7fffffffffffffff - param_1[1] < uVar18)" (( "(") (binary_expression "0x7fffffffffffffff - param_1[1] < uVar18" (binary_expression "0x7fffffffffffffff - param_1[1]" (number_literal "0x7fffffffffffffff") (- "-") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (< "<") (identifier "uVar18")) () ")")) (compound_statement "{\n                    \n                        FUN_002e12b0("basic_string::append");\n                      }" ({ "{") (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" (identifier "FUN_002e12b0") (argument_list "("basic_string::append")" (( "(") (string_literal ""basic_string::append"" (" """) (string_content "basic_string::append") (" """)) () ")"))) (; ";")) (} "}"))) (} "}")))) (goto_statement "goto LAB_0019d597;" (goto "goto") (statement_identifier "LAB_0019d597") (; ";")) (} "}"))) (if_statement "if (uVar18 == 4) {\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }" (if "if") (parenthesized_expression "(uVar18 == 4)" (( "(") (binary_expression "uVar18 == 4" (identifier "uVar18") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n                    if (*__s == 0) goto LAB_0019d70f;\n                    uVar12 = 0;\n                    do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);\n                    uVar18 = (ulong)(uVar10 * 4);\n                    if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }\n                    goto LAB_0019d597;\n                  }" ({ "{") (if_statement "if (*__s == 0) goto LAB_0019d70f;" (if "if") (parenthesized_expression "(*__s == 0)" (( "(") (binary_expression "*__s == 0" (pointer_expression "*__s" (* "*") (identifier "__s")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0019d70f;" (goto "goto") (statement_identifier "LAB_0019d70f") (; ";"))) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" (identifier "uVar12") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    } while (__s[uVar12] != 0);" (do "do") (compound_statement "{\n                      uVar10 = (int)uVar12 + 1;\n                      uVar12 = (ulong)uVar10;\n                    }" ({ "{") (expression_statement "uVar10 = (int)uVar12 + 1;" (assignment_expression "uVar10 = (int)uVar12 + 1" (identifier "uVar10") (= "=") (binary_expression "(int)uVar12 + 1" (cast_expression "(int)uVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar12")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar12 = (ulong)uVar10;" (assignment_expression "uVar12 = (ulong)uVar10" (identifier "uVar12") (= "=") (cast_expression "(ulong)uVar10" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar10"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(__s[uVar12] != 0)" (( "(") (binary_expression "__s[uVar12] != 0" (subscript_expression "__s[uVar12]" (identifier "__s") ([ "[") (identifier "uVar12") (] "]")) (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "uVar18 = (ulong)(uVar10 * 4);" (assignment_expression "uVar18 = (ulong)(uVar10 * 4)" (identifier "uVar18") (= "=") (call_expression "(ulong)(uVar10 * 4)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar10 * 4)" (( "(") (binary_expression "uVar10 * 4" (identifier "uVar10") (* "*") (number_literal "4")) () ")")))) (; ";")) (if_statement "if (0x7fffffffffffffff - param_1[1] < uVar18) {\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }" (if "if") (parenthesized_expression "(0x7fffffffffffffff - param_1[1] < uVar18)" (( "(") (binary_expression "0x7fffffffffffffff - param_1[1] < uVar18" (binary_expression "0x7fffffffffffffff - param_1[1]" (number_literal "0x7fffffffffffffff") (- "-") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (< "<") (identifier "uVar18")) () ")")) (compound_statement "{\n                    \n                      FUN_002e12b0("basic_string::append");\n                    }" ({ "{") (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" (identifier "FUN_002e12b0") (argument_list "("basic_string::append")" (( "(") (string_literal ""basic_string::append"" (" """) (string_content "basic_string::append") (" """)) () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_0019d597;" (goto "goto") (statement_identifier "LAB_0019d597") (; ";")) (} "}"))) (if_statement "if (uVar18 != 1) {\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }" (if "if") (parenthesized_expression "(uVar18 != 1)" (( "(") (binary_expression "uVar18 != 1" (identifier "uVar18") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n                    \n                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");\n                  }" ({ "{") (expression_statement "FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");" (call_expression "FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents")" (identifier "FUN_00199900") (argument_list "("../../gold/icf.cc",0x210,"get_section_contents")" (( "(") (string_literal ""../../gold/icf.cc"" (" """) (string_content "../../gold/icf.cc") (" """)) (, ",") (number_literal "0x210") (, ",") (string_literal ""get_section_contents"" (" """) (string_content "get_section_contents") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "sVar13 = strlen((char *)__s);" (assignment_expression "sVar13 = strlen((char *)__s)" (identifier "sVar13") (= "=") (call_expression "strlen((char *)__s)" (identifier "strlen") (argument_list "((char *)__s)" (( "(") (cast_expression "(char *)__s" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__s")) () ")")))) (; ";")) (if_statement "if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }" (if "if") (parenthesized_expression "(0x7fffffffffffffff - param_1[1] < sVar13)" (( "(") (binary_expression "0x7fffffffffffffff - param_1[1] < sVar13" (binary_expression "0x7fffffffffffffff - param_1[1]" (number_literal "0x7fffffffffffffff") (- "-") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (< "<") (identifier "sVar13")) () ")")) (compound_statement "{\n                    \n                    FUN_002e12b0("basic_string::append",__s);\n                  }" ({ "{") (expression_statement "FUN_002e12b0("basic_string::append",__s);" (call_expression "FUN_002e12b0("basic_string::append",__s)" (identifier "FUN_002e12b0") (argument_list "("basic_string::append",__s)" (( "(") (string_literal ""basic_string::append"" (" """) (string_content "basic_string::append") (" """)) (, ",") (identifier "__s") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_002aac00(param_1,__s,sVar13);" (call_expression "FUN_002aac00(param_1,__s,sVar13)" (identifier "FUN_002aac00") (argument_list "(param_1,__s,sVar13)" (( "(") (identifier "param_1") (, ",") (identifier "__s") (, ",") (identifier "sVar13") () ")"))) (; ";")) (} "}")))) (if_statement "if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                  FUN_002e12b0("basic_string::append");\n                }" (if "if") (parenthesized_expression "(param_1[1] == 0x7fffffffffffffff)" (( "(") (binary_expression "param_1[1] == 0x7fffffffffffffff" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x7fffffffffffffff")) () ")")) (compound_statement "{\n                    \n                  FUN_002e12b0("basic_string::append");\n                }" ({ "{") (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" (identifier "FUN_002e12b0") (argument_list "("basic_string::append")" (( "(") (string_literal ""basic_string::append"" (" """) (string_content "basic_string::append") (" """)) () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_0019d1b1;" (goto "goto") (statement_identifier "LAB_0019d1b1") (; ";")) (} "}"))) (} "}"))) (if_statement "if (puVar15 == (undefined8 *)0x0) {\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }\n            else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }" (if "if") (parenthesized_expression "(puVar15 == (undefined8 *)0x0)" (( "(") (binary_expression "puVar15 == (undefined8 *)0x0" (identifier "puVar15") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));\n              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);\n              puVar20 = local_b8;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,local_b8);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }" ({ "{") (expression_statement "FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));" (call_expression "FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10))" (identifier "FUN_002aac00") (argument_list "(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10))" (( "(") (identifier "param_1") (, ",") (pointer_expression "*(undefined8 *)(*puVar21 + 8)" (* "*") (cast_expression "(undefined8 *)(*puVar21 + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*puVar21 + 8)" (( "(") (binary_expression "*puVar21 + 8" (pointer_expression "*puVar21" (* "*") (identifier "puVar21")) (+ "+") (number_literal "8")) () ")")))) (, ",") (pointer_expression "*(undefined8 *)(*puVar21 + 0x10)" (* "*") (cast_expression "(undefined8 *)(*puVar21 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*puVar21 + 0x10)" (( "(") (binary_expression "*puVar21 + 0x10" (pointer_expression "*puVar21" (* "*") (identifier "puVar21")) (+ "+") (number_literal "0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);" (call_expression "snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1])" (identifier "snprintf") (argument_list "((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1])" (( "(") (cast_expression "(char *)local_b8" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_b8")) (, ",") (number_literal "10") (, ",") (string_literal ""%u"" (" """) (string_content "%u") (" """)) (, ",") (cast_expression "(ulong)(uint)puVar21[1]" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (cast_expression "(uint)puVar21[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "puVar21[1]" (identifier "puVar21") ([ "[") (number_literal "1") (] "]")))) () ")"))) (; ";")) (expression_statement "puVar20 = local_b8;" (assignment_expression "puVar20 = local_b8" (identifier "puVar20") (= "=") (identifier "local_b8")) (; ";")) (do_statement "do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);" (do "do") (compound_statement "{\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              }" ({ "{") (expression_statement "puVar19 = puVar20;" (assignment_expression "puVar19 = puVar20" (identifier "puVar19") (= "=") (identifier "puVar20")) (; ";")) (expression_statement "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;" (assignment_expression "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (identifier "uVar9") (= "=") (binary_expression "(uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (binary_expression "(uint)*puVar19 + 0xfefefeff" (binary_expression "(uint)*puVar19" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "puVar19")) (+ "+") (number_literal "0xfefefeff")) (& "&") (binary_expression "~(uint)*puVar19" (unary_expression "~(uint)" (~ "~") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (identifier "puVar19")))) (; ";")) (expression_statement "uVar10 = uVar9 & 0x80808080;" (assignment_expression "uVar10 = uVar9 & 0x80808080" (identifier "uVar10") (= "=") (binary_expression "uVar9 & 0x80808080" (identifier "uVar9") (& "&") (number_literal "0x80808080"))) (; ";")) (expression_statement "puVar20 = (ulong *)((long)puVar19 + 4);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 4)" (identifier "puVar20") (= "=") (cast_expression "(ulong *)((long)puVar19 + 4)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar19 + 4)" (( "(") (binary_expression "(long)puVar19 + 4" (cast_expression "(long)puVar19" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar19")) (+ "+") (number_literal "4")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (; ";")) (expression_statement "bVar27 = (uVar9 & 0x8080) == 0;" (assignment_expression "bVar27 = (uVar9 & 0x8080) == 0" (identifier "bVar27") (= "=") (binary_expression "(uVar9 & 0x8080) == 0" (parenthesized_expression "(uVar9 & 0x8080)" (( "(") (binary_expression "uVar9 & 0x8080" (identifier "uVar9") (& "&") (number_literal "0x8080")) () ")")) (== "==") (number_literal "0"))) (; ";")) (if_statement "if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }" (if "if") (parenthesized_expression "(bVar27)" (( "(") (identifier "bVar27") () ")")) (compound_statement "{\n                uVar10 = uVar10 >> 0x10;\n              }" ({ "{") (expression_statement "uVar10 = uVar10 >> 0x10;" (assignment_expression "uVar10 = uVar10 >> 0x10" (identifier "uVar10") (= "=") (binary_expression "uVar10 >> 0x10" (identifier "uVar10") (>> ">>") (number_literal "0x10"))) (; ";")) (} "}"))) (if_statement "if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }" (if "if") (parenthesized_expression "(bVar27)" (( "(") (identifier "bVar27") () ")")) (compound_statement "{\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }" ({ "{") (expression_statement "puVar20 = (ulong *)((long)puVar19 + 6);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 6)" (identifier "puVar20") (= "=") (cast_expression "(ulong *)((long)puVar19 + 6)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar19 + 6)" (( "(") (binary_expression "(long)puVar19 + 6" (cast_expression "(long)puVar19" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar19")) (+ "+") (number_literal "6")) () ")")))) (; ";")) (} "}"))) (if_statement "if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }" (if "if") (parenthesized_expression "((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8)))" (( "(") (binary_expression "(char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))" (cast_expression "(char *)(0x7fffffffffffffff - param_1[1])" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(0x7fffffffffffffff - param_1[1])" (( "(") (binary_expression "0x7fffffffffffffff - param_1[1]" (number_literal "0x7fffffffffffffff") (- "-") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) () ")"))) (< "<") (cast_expression "(char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))" (( "(") (binary_expression "(long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8)" (cast_expression "(long)puVar20" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar20")) (+ "+") (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8)" (( "(") (binary_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10))" (( "(") (binary_expression "-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)" (number_literal "-3") (- "-") (cast_expression "(ulong)CARRY1((byte)uVar10,(byte)uVar10)" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (call_expression "CARRY1((byte)uVar10,(byte)uVar10)" (identifier "CARRY1") (argument_list "((byte)uVar10,(byte)uVar10)" (( "(") (cast_expression "(byte)uVar10" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar10")) (, ",") (cast_expression "(byte)uVar10" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar10")) () ")"))))) () ")")) (- "-") (cast_expression "(long)local_b8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_b8"))) () ")"))) () ")")))) () ")")) (compound_statement "{\n                    \n                FUN_002e12b0("basic_string::append");\n              }" ({ "{") (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" (identifier "FUN_002e12b0") (argument_list "("basic_string::append")" (( "(") (string_literal ""basic_string::append"" (" """) (string_content "basic_string::append") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_002aac00(param_1,local_b8);" (call_expression "FUN_002aac00(param_1,local_b8)" (identifier "FUN_002aac00") (argument_list "(param_1,local_b8)" (( "(") (identifier "param_1") (, ",") (identifier "local_b8") () ")"))) (; ";")) (expression_statement "puVar20 = &local_78;" (assignment_expression "puVar20 = &local_78" (identifier "puVar20") (= "=") (pointer_expression "&local_78" (& "&") (identifier "local_78"))) (; ";")) (do_statement "do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);" (do "do") (compound_statement "{\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              }" ({ "{") (expression_statement "puVar19 = puVar20;" (assignment_expression "puVar19 = puVar20" (identifier "puVar19") (= "=") (identifier "puVar20")) (; ";")) (expression_statement "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;" (assignment_expression "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (identifier "uVar9") (= "=") (binary_expression "(uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (binary_expression "(uint)*puVar19 + 0xfefefeff" (binary_expression "(uint)*puVar19" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "puVar19")) (+ "+") (number_literal "0xfefefeff")) (& "&") (binary_expression "~(uint)*puVar19" (unary_expression "~(uint)" (~ "~") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (identifier "puVar19")))) (; ";")) (expression_statement "uVar10 = uVar9 & 0x80808080;" (assignment_expression "uVar10 = uVar9 & 0x80808080" (identifier "uVar10") (= "=") (binary_expression "uVar9 & 0x80808080" (identifier "uVar9") (& "&") (number_literal "0x80808080"))) (; ";")) (expression_statement "puVar20 = (ulong *)((long)puVar19 + 4);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 4)" (identifier "puVar20") (= "=") (cast_expression "(ulong *)((long)puVar19 + 4)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar19 + 4)" (( "(") (binary_expression "(long)puVar19 + 4" (cast_expression "(long)puVar19" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar19")) (+ "+") (number_literal "4")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (; ";")) (expression_statement "bVar27 = (uVar9 & 0x8080) == 0;" (assignment_expression "bVar27 = (uVar9 & 0x8080) == 0" (identifier "bVar27") (= "=") (binary_expression "(uVar9 & 0x8080) == 0" (parenthesized_expression "(uVar9 & 0x8080)" (( "(") (binary_expression "uVar9 & 0x8080" (identifier "uVar9") (& "&") (number_literal "0x8080")) () ")")) (== "==") (number_literal "0"))) (; ";")) (if_statement "if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }" (if "if") (parenthesized_expression "(bVar27)" (( "(") (identifier "bVar27") () ")")) (compound_statement "{\n                uVar10 = uVar10 >> 0x10;\n              }" ({ "{") (expression_statement "uVar10 = uVar10 >> 0x10;" (assignment_expression "uVar10 = uVar10 >> 0x10" (identifier "uVar10") (= "=") (binary_expression "uVar10 >> 0x10" (identifier "uVar10") (>> ">>") (number_literal "0x10"))) (; ";")) (} "}"))) (if_statement "if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }" (if "if") (parenthesized_expression "(bVar27)" (( "(") (identifier "bVar27") () ")")) (compound_statement "{\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }" ({ "{") (expression_statement "puVar20 = (ulong *)((long)puVar19 + 6);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 6)" (identifier "puVar20") (= "=") (cast_expression "(ulong *)((long)puVar19 + 6)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar19 + 6)" (( "(") (binary_expression "(long)puVar19 + 6" (cast_expression "(long)puVar19" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar19")) (+ "+") (number_literal "6")) () ")")))) (; ";")) (} "}"))) (if_statement "if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }" (if "if") (parenthesized_expression "((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)))" (( "(") (binary_expression "(char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" (cast_expression "(char *)(0x7fffffffffffffff - param_1[1])" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(0x7fffffffffffffff - param_1[1])" (( "(") (binary_expression "0x7fffffffffffffff - param_1[1]" (number_literal "0x7fffffffffffffff") (- "-") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) () ")"))) (< "<") (cast_expression "(char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" (( "(") (binary_expression "(long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" (cast_expression "(long)puVar20" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar20")) (+ "+") (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" (( "(") (binary_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10))" (( "(") (binary_expression "-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)" (number_literal "-3") (- "-") (cast_expression "(ulong)CARRY1((byte)uVar10,(byte)uVar10)" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (call_expression "CARRY1((byte)uVar10,(byte)uVar10)" (identifier "CARRY1") (argument_list "((byte)uVar10,(byte)uVar10)" (( "(") (cast_expression "(byte)uVar10" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar10")) (, ",") (cast_expression "(byte)uVar10" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar10")) () ")"))))) () ")")) (- "-") (cast_expression "(long)&local_78" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&local_78" (& "&") (identifier "local_78")))) () ")"))) () ")")))) () ")")) (compound_statement "{\n                    \n                FUN_002e12b0("basic_string::append");\n              }" ({ "{") (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" (identifier "FUN_002e12b0") (argument_list "("basic_string::append")" (( "(") (string_literal ""basic_string::append"" (" """) (string_content "basic_string::append") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_002aac00(param_1,&local_78);" (call_expression "FUN_002aac00(param_1,&local_78)" (identifier "FUN_002aac00") (argument_list "(param_1,&local_78)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&local_78" (& "&") (identifier "local_78")) () ")"))) (; ";")) (if_statement "if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }" (if "if") (parenthesized_expression "(param_1[1] == 0x7fffffffffffffff)" (( "(") (binary_expression "param_1[1] == 0x7fffffffffffffff" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x7fffffffffffffff")) () ")")) (compound_statement "{\n                    \n                FUN_002e12b0("basic_string::append");\n              }" ({ "{") (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" (identifier "FUN_002e12b0") (argument_list "("basic_string::append")" (( "(") (string_literal ""basic_string::append"" (" """) (string_content "basic_string::append") (" """)) () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }" (else "else") (compound_statement "{\n              pcVar24 = (char *)*puVar15;\n              sVar13 = strlen(pcVar24);\n              if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,pcVar24,sVar13);\n              puVar20 = &local_78;\n              do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);\n              bVar27 = (uVar9 & 0x8080) == 0;\n              if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }\n              if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }\n              if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n              FUN_002aac00(param_1,&local_78);\n              if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }\n            }" ({ "{") (expression_statement "pcVar24 = (char *)*puVar15;" (assignment_expression "pcVar24 = (char *)*puVar15" (identifier "pcVar24") (= "=") (cast_expression "(char *)*puVar15" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar15" (* "*") (identifier "puVar15")))) (; ";")) (expression_statement "sVar13 = strlen(pcVar24);" (assignment_expression "sVar13 = strlen(pcVar24)" (identifier "sVar13") (= "=") (call_expression "strlen(pcVar24)" (identifier "strlen") (argument_list "(pcVar24)" (( "(") (identifier "pcVar24") () ")")))) (; ";")) (if_statement "if (0x7fffffffffffffff - param_1[1] < sVar13) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }" (if "if") (parenthesized_expression "(0x7fffffffffffffff - param_1[1] < sVar13)" (( "(") (binary_expression "0x7fffffffffffffff - param_1[1] < sVar13" (binary_expression "0x7fffffffffffffff - param_1[1]" (number_literal "0x7fffffffffffffff") (- "-") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (< "<") (identifier "sVar13")) () ")")) (compound_statement "{\n                    \n                FUN_002e12b0("basic_string::append");\n              }" ({ "{") (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" (identifier "FUN_002e12b0") (argument_list "("basic_string::append")" (( "(") (string_literal ""basic_string::append"" (" """) (string_content "basic_string::append") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_002aac00(param_1,pcVar24,sVar13);" (call_expression "FUN_002aac00(param_1,pcVar24,sVar13)" (identifier "FUN_002aac00") (argument_list "(param_1,pcVar24,sVar13)" (( "(") (identifier "param_1") (, ",") (identifier "pcVar24") (, ",") (identifier "sVar13") () ")"))) (; ";")) (expression_statement "puVar20 = &local_78;" (assignment_expression "puVar20 = &local_78" (identifier "puVar20") (= "=") (pointer_expression "&local_78" (& "&") (identifier "local_78"))) (; ";")) (do_statement "do {\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              } while (uVar10 == 0);" (do "do") (compound_statement "{\n                puVar19 = puVar20;\n                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n                uVar10 = uVar9 & 0x80808080;\n                puVar20 = (ulong *)((long)puVar19 + 4);\n              }" ({ "{") (expression_statement "puVar19 = puVar20;" (assignment_expression "puVar19 = puVar20" (identifier "puVar19") (= "=") (identifier "puVar20")) (; ";")) (expression_statement "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;" (assignment_expression "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (identifier "uVar9") (= "=") (binary_expression "(uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (binary_expression "(uint)*puVar19 + 0xfefefeff" (binary_expression "(uint)*puVar19" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "puVar19")) (+ "+") (number_literal "0xfefefeff")) (& "&") (binary_expression "~(uint)*puVar19" (unary_expression "~(uint)" (~ "~") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (identifier "puVar19")))) (; ";")) (expression_statement "uVar10 = uVar9 & 0x80808080;" (assignment_expression "uVar10 = uVar9 & 0x80808080" (identifier "uVar10") (= "=") (binary_expression "uVar9 & 0x80808080" (identifier "uVar9") (& "&") (number_literal "0x80808080"))) (; ";")) (expression_statement "puVar20 = (ulong *)((long)puVar19 + 4);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 4)" (identifier "puVar20") (= "=") (cast_expression "(ulong *)((long)puVar19 + 4)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar19 + 4)" (( "(") (binary_expression "(long)puVar19 + 4" (cast_expression "(long)puVar19" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar19")) (+ "+") (number_literal "4")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (; ";")) (expression_statement "bVar27 = (uVar9 & 0x8080) == 0;" (assignment_expression "bVar27 = (uVar9 & 0x8080) == 0" (identifier "bVar27") (= "=") (binary_expression "(uVar9 & 0x8080) == 0" (parenthesized_expression "(uVar9 & 0x8080)" (( "(") (binary_expression "uVar9 & 0x8080" (identifier "uVar9") (& "&") (number_literal "0x8080")) () ")")) (== "==") (number_literal "0"))) (; ";")) (if_statement "if (bVar27) {\n                uVar10 = uVar10 >> 0x10;\n              }" (if "if") (parenthesized_expression "(bVar27)" (( "(") (identifier "bVar27") () ")")) (compound_statement "{\n                uVar10 = uVar10 >> 0x10;\n              }" ({ "{") (expression_statement "uVar10 = uVar10 >> 0x10;" (assignment_expression "uVar10 = uVar10 >> 0x10" (identifier "uVar10") (= "=") (binary_expression "uVar10 >> 0x10" (identifier "uVar10") (>> ">>") (number_literal "0x10"))) (; ";")) (} "}"))) (if_statement "if (bVar27) {\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }" (if "if") (parenthesized_expression "(bVar27)" (( "(") (identifier "bVar27") () ")")) (compound_statement "{\n                puVar20 = (ulong *)((long)puVar19 + 6);\n              }" ({ "{") (expression_statement "puVar20 = (ulong *)((long)puVar19 + 6);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 6)" (identifier "puVar20") (= "=") (cast_expression "(ulong *)((long)puVar19 + 6)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar19 + 6)" (( "(") (binary_expression "(long)puVar19 + 6" (cast_expression "(long)puVar19" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar19")) (+ "+") (number_literal "6")) () ")")))) (; ";")) (} "}"))) (if_statement "if ((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }" (if "if") (parenthesized_expression "((char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)))" (( "(") (binary_expression "(char *)(0x7fffffffffffffff - param_1[1]) <\n                  (char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" (cast_expression "(char *)(0x7fffffffffffffff - param_1[1])" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(0x7fffffffffffffff - param_1[1])" (( "(") (binary_expression "0x7fffffffffffffff - param_1[1]" (number_literal "0x7fffffffffffffff") (- "-") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) () ")"))) (< "<") (cast_expression "(char *)((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" (( "(") (binary_expression "(long)puVar20 +\n                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" (cast_expression "(long)puVar20" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar20")) (+ "+") (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" (( "(") (binary_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10))" (( "(") (binary_expression "-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)" (number_literal "-3") (- "-") (cast_expression "(ulong)CARRY1((byte)uVar10,(byte)uVar10)" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (call_expression "CARRY1((byte)uVar10,(byte)uVar10)" (identifier "CARRY1") (argument_list "((byte)uVar10,(byte)uVar10)" (( "(") (cast_expression "(byte)uVar10" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar10")) (, ",") (cast_expression "(byte)uVar10" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar10")) () ")"))))) () ")")) (- "-") (cast_expression "(long)&local_78" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&local_78" (& "&") (identifier "local_78")))) () ")"))) () ")")))) () ")")) (compound_statement "{\n                    \n                FUN_002e12b0("basic_string::append");\n              }" ({ "{") (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" (identifier "FUN_002e12b0") (argument_list "("basic_string::append")" (( "(") (string_literal ""basic_string::append"" (" """) (string_content "basic_string::append") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_002aac00(param_1,&local_78);" (call_expression "FUN_002aac00(param_1,&local_78)" (identifier "FUN_002aac00") (argument_list "(param_1,&local_78)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&local_78" (& "&") (identifier "local_78")) () ")"))) (; ";")) (if_statement "if (param_1[1] == 0x7fffffffffffffff) {\n                    \n                FUN_002e12b0("basic_string::append");\n              }" (if "if") (parenthesized_expression "(param_1[1] == 0x7fffffffffffffff)" (( "(") (binary_expression "param_1[1] == 0x7fffffffffffffff" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x7fffffffffffffff")) () ")")) (compound_statement "{\n                    \n                FUN_002e12b0("basic_string::append");\n              }" ({ "{") (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" (identifier "FUN_002e12b0") (argument_list "("basic_string::append")" (( "(") (string_literal ""basic_string::append"" (" """) (string_content "basic_string::append") (" """)) () ")"))) (; ";")) (} "}"))) (} "}")))) (goto_statement "goto LAB_0019d1b1;" (goto "goto") (statement_identifier "LAB_0019d1b1") (; ";")) (} "}"))) (} "}")))) (} "}"))) (} "}")) (else_clause "else {\n      uVar12 = *puVar21;\n      if (uVar12 != 0) {\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    \n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) goto LAB_0019cbd9;\n      pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      puVar20 = &local_78;\n      if (puVar15 != (undefined8 *)0x0) {\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    \n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }\n      do {\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      } while (uVar10 == 0);\n      bVar27 = (uVar9 & 0x8080) == 0;\n      if (bVar27) {\n        uVar10 = uVar10 >> 0x10;\n      }\n      if (bVar27) {\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }\n      if (pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\n      FUN_002aac00(param_1,&local_78);\n      if (param_1[1] == 0x7fffffffffffffff) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\nLAB_0019d1b1:\n      FUN_002aac00(param_1,&DAT_0034070c,1);\n    }" (else "else") (compound_statement "{\n      uVar12 = *puVar21;\n      if (uVar12 != 0) {\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    \n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }\n      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));\n      if (*puVar21 != 0) goto LAB_0019cbd9;\n      pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      puVar20 = &local_78;\n      if (puVar15 != (undefined8 *)0x0) {\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    \n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }\n      do {\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      } while (uVar10 == 0);\n      bVar27 = (uVar9 & 0x8080) == 0;\n      if (bVar27) {\n        uVar10 = uVar10 >> 0x10;\n      }\n      if (bVar27) {\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }\n      if (pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\n      FUN_002aac00(param_1,&local_78);\n      if (param_1[1] == 0x7fffffffffffffff) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }\nLAB_0019d1b1:\n      FUN_002aac00(param_1,&DAT_0034070c,1);\n    }" ({ "{") (expression_statement "uVar12 = *puVar21;" (assignment_expression "uVar12 = *puVar21" (identifier "uVar12") (= "=") (pointer_expression "*puVar21" (* "*") (identifier "puVar21"))) (; ";")) (if_statement "if (uVar12 != 0) {\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    \n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }" (if "if") (parenthesized_expression "(uVar12 != 0)" (( "(") (binary_expression "uVar12 != 0" (identifier "uVar12") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        local_70 = (int)puVar21[1];\n        local_68 = lVar16 + lVar11;\n        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n        local_78 = uVar12;\n        if (plVar26 == (long *)0x0) {\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }\n                    \n        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);\n        if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }\n      }" ({ "{") (expression_statement "local_70 = (int)puVar21[1];" (assignment_expression "local_70 = (int)puVar21[1]" (identifier "local_70") (= "=") (cast_expression "(int)puVar21[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar21[1]" (identifier "puVar21") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "local_68 = lVar16 + lVar11;" (assignment_expression "local_68 = lVar16 + lVar11" (identifier "local_68") (= "=") (binary_expression "lVar16 + lVar11" (identifier "lVar16") (+ "+") (identifier "lVar11"))) (; ";")) (expression_statement "plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);" (assignment_expression "plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18)" (identifier "plVar26") (= "=") (pointer_expression "*(long **)(PTR_DAT_003f85c0 + 0x18)" (* "*") (cast_expression "(long **)(PTR_DAT_003f85c0 + 0x18)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_DAT_003f85c0 + 0x18)" (( "(") (binary_expression "PTR_DAT_003f85c0 + 0x18" (identifier "PTR_DAT_003f85c0") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "local_78 = uVar12;" (assignment_expression "local_78 = uVar12" (identifier "local_78") (= "=") (identifier "uVar12")) (; ";")) (if_statement "if (plVar26 == (long *)0x0) {\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }" (if "if") (parenthesized_expression "(plVar26 == (long *)0x0)" (( "(") (binary_expression "plVar26 == (long *)0x0" (identifier "plVar26") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n          FUN_00199900("../../gold/parameters.h",0x69,"target");\n        }" ({ "{") (expression_statement "FUN_00199900("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_00199900("../../gold/parameters.h",0x69,"target")" (identifier "FUN_00199900") (argument_list "("../../gold/parameters.h",0x69,"target")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x69") (, ",") (string_literal ""target"" (" """) (string_content "target") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(*plVar26 + 0x88))(plVar26,&local_78);" (call_expression "(**(code **)(*plVar26 + 0x88))(plVar26,&local_78)" (parenthesized_expression "(**(code **)(*plVar26 + 0x88))" (( "(") (pointer_expression "**(code **)(*plVar26 + 0x88)" (* "*") (pointer_expression "*(code **)(*plVar26 + 0x88)" (* "*") (cast_expression "(code **)(*plVar26 + 0x88)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar26 + 0x88)" (( "(") (binary_expression "*plVar26 + 0x88" (pointer_expression "*plVar26" (* "*") (identifier "plVar26")) (+ "+") (number_literal "0x88")) () ")"))))) () ")")) (argument_list "(plVar26,&local_78)" (( "(") (identifier "plVar26") (, ",") (pointer_expression "&local_78" (& "&") (identifier "local_78")) () ")"))) (; ";")) (if_statement "if (local_70 == (int)puVar21[1]) {\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }\n        else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }" (if "if") (parenthesized_expression "(local_70 == (int)puVar21[1])" (( "(") (binary_expression "local_70 == (int)puVar21[1]" (identifier "local_70") (== "==") (cast_expression "(int)puVar21[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar21[1]" (identifier "puVar21") ([ "[") (number_literal "1") (] "]")))) () ")")) (compound_statement "{\n          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);\n          lVar16 = *(long *)(lVar5 + lVar22 * 4);\n        }" ({ "{") (expression_statement "lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);" (assignment_expression "lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4)" (identifier "lVar11") (= "=") (pointer_expression "*(long *)(lVar5 + 8 + lVar22 * 4)" (* "*") (cast_expression "(long *)(lVar5 + 8 + lVar22 * 4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 8 + lVar22 * 4)" (( "(") (binary_expression "lVar5 + 8 + lVar22 * 4" (binary_expression "lVar5 + 8" (identifier "lVar5") (+ "+") (number_literal "8")) (+ "+") (binary_expression "lVar22 * 4" (identifier "lVar22") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "lVar16 = *(long *)(lVar5 + lVar22 * 4);" (assignment_expression "lVar16 = *(long *)(lVar5 + lVar22 * 4)" (identifier "lVar16") (= "=") (pointer_expression "*(long *)(lVar5 + lVar22 * 4)" (* "*") (cast_expression "(long *)(lVar5 + lVar22 * 4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + lVar22 * 4)" (( "(") (binary_expression "lVar5 + lVar22 * 4" (identifier "lVar5") (+ "+") (binary_expression "lVar22 * 4" (identifier "lVar22") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }" (else "else") (compound_statement "{\n          *(int *)(puVar21 + 1) = local_70;\n          lVar11 = 0;\n          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;\n          *(long *)(lVar5 + lVar22 * 4) = local_68;\n          lVar16 = local_68;\n        }" ({ "{") (expression_statement "*(int *)(puVar21 + 1) = local_70;" (assignment_expression "*(int *)(puVar21 + 1) = local_70" (pointer_expression "*(int *)(puVar21 + 1)" (* "*") (cast_expression "(int *)(puVar21 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 1)" (( "(") (binary_expression "puVar21 + 1" (identifier "puVar21") (+ "+") (number_literal "1")) () ")")))) (= "=") (identifier "local_70")) (; ";")) (expression_statement "lVar11 = 0;" (assignment_expression "lVar11 = 0" (identifier "lVar11") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;" (assignment_expression "*(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0" (pointer_expression "*(undefined8 *)(lVar5 + 8 + lVar22 * 4)" (* "*") (cast_expression "(undefined8 *)(lVar5 + 8 + lVar22 * 4)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 8 + lVar22 * 4)" (( "(") (binary_expression "lVar5 + 8 + lVar22 * 4" (binary_expression "lVar5 + 8" (identifier "lVar5") (+ "+") (number_literal "8")) (+ "+") (binary_expression "lVar22 * 4" (identifier "lVar22") (* "*") (number_literal "4"))) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(long *)(lVar5 + lVar22 * 4) = local_68;" (assignment_expression "*(long *)(lVar5 + lVar22 * 4) = local_68" (pointer_expression "*(long *)(lVar5 + lVar22 * 4)" (* "*") (cast_expression "(long *)(lVar5 + lVar22 * 4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + lVar22 * 4)" (( "(") (binary_expression "lVar5 + lVar22 * 4" (identifier "lVar5") (+ "+") (binary_expression "lVar22 * 4" (identifier "lVar22") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "local_68")) (; ";")) (expression_statement "lVar16 = local_68;" (assignment_expression "lVar16 = local_68" (identifier "lVar16") (= "=") (identifier "local_68")) (; ";")) (} "}")))) (} "}"))) (expression_statement "snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2));" (call_expression "snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2))" (identifier "snprintf") (argument_list "((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,\n               *(undefined8 *)(lVar6 + lVar22 * 2))" (( "(") (cast_expression "(char *)&local_78" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_78" (& "&") (identifier "local_78"))) (, ",") (number_literal "0x32") (, ",") (string_literal ""%llx %llx %llx"" (" """) (string_content "%llx %llx %llx") (" """)) (, ",") (identifier "lVar16") (, ",") (identifier "lVar11") (, ",") (pointer_expression "*(undefined8 *)(lVar6 + lVar22 * 2)" (* "*") (cast_expression "(undefined8 *)(lVar6 + lVar22 * 2)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + lVar22 * 2)" (( "(") (binary_expression "lVar6 + lVar22 * 2" (identifier "lVar6") (+ "+") (binary_expression "lVar22 * 2" (identifier "lVar22") (* "*") (number_literal "2"))) () ")")))) () ")"))) (; ";")) (if_statement "if (*puVar21 != 0) goto LAB_0019cbd9;" (if "if") (parenthesized_expression "(*puVar21 != 0)" (( "(") (binary_expression "*puVar21 != 0" (pointer_expression "*puVar21" (* "*") (identifier "puVar21")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0019cbd9;" (goto "goto") (statement_identifier "LAB_0019cbd9") (; ";"))) (expression_statement "pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);" (assignment_expression "pcVar24 = (char *)(0x7fffffffffffffff - param_1[1])" (identifier "pcVar24") (= "=") (cast_expression "(char *)(0x7fffffffffffffff - param_1[1])" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(0x7fffffffffffffff - param_1[1])" (( "(") (binary_expression "0x7fffffffffffffff - param_1[1]" (number_literal "0x7fffffffffffffff") (- "-") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) () ")")))) (; ";")) (expression_statement "puVar20 = &local_78;" (assignment_expression "puVar20 = &local_78" (identifier "puVar20") (= "=") (pointer_expression "&local_78" (& "&") (identifier "local_78"))) (; ";")) (if_statement "if (puVar15 != (undefined8 *)0x0) {\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    \n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }" (if "if") (parenthesized_expression "(puVar15 != (undefined8 *)0x0)" (( "(") (binary_expression "puVar15 != (undefined8 *)0x0" (identifier "puVar15") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        __s_00 = (char *)*puVar15;\n        pcVar14 = (char *)strlen(__s_00);\n        if (pcVar24 < pcVar14) {\n                    \n          FUN_002e12b0("basic_string::append");\n        }\n        FUN_002aac00(param_1,__s_00,pcVar14);\n        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);\n      }" ({ "{") (expression_statement "__s_00 = (char *)*puVar15;" (assignment_expression "__s_00 = (char *)*puVar15" (identifier "__s_00") (= "=") (cast_expression "(char *)*puVar15" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar15" (* "*") (identifier "puVar15")))) (; ";")) (expression_statement "pcVar14 = (char *)strlen(__s_00);" (assignment_expression "pcVar14 = (char *)strlen(__s_00)" (identifier "pcVar14") (= "=") (cast_expression "(char *)strlen(__s_00)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "strlen(__s_00)" (identifier "strlen") (argument_list "(__s_00)" (( "(") (identifier "__s_00") () ")"))))) (; ";")) (if_statement "if (pcVar24 < pcVar14) {\n                    \n          FUN_002e12b0("basic_string::append");\n        }" (if "if") (parenthesized_expression "(pcVar24 < pcVar14)" (( "(") (binary_expression "pcVar24 < pcVar14" (identifier "pcVar24") (< "<") (identifier "pcVar14")) () ")")) (compound_statement "{\n                    \n          FUN_002e12b0("basic_string::append");\n        }" ({ "{") (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" (identifier "FUN_002e12b0") (argument_list "("basic_string::append")" (( "(") (string_literal ""basic_string::append"" (" """) (string_content "basic_string::append") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_002aac00(param_1,__s_00,pcVar14);" (call_expression "FUN_002aac00(param_1,__s_00,pcVar14)" (identifier "FUN_002aac00") (argument_list "(param_1,__s_00,pcVar14)" (( "(") (identifier "param_1") (, ",") (identifier "__s_00") (, ",") (identifier "pcVar14") () ")"))) (; ";")) (expression_statement "pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);" (assignment_expression "pcVar24 = (char *)(0x7fffffffffffffff - param_1[1])" (identifier "pcVar24") (= "=") (cast_expression "(char *)(0x7fffffffffffffff - param_1[1])" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(0x7fffffffffffffff - param_1[1])" (( "(") (binary_expression "0x7fffffffffffffff - param_1[1]" (number_literal "0x7fffffffffffffff") (- "-") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) () ")")))) (; ";")) (} "}"))) (do_statement "do {\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      } while (uVar10 == 0);" (do "do") (compound_statement "{\n        puVar19 = puVar20;\n        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;\n        uVar10 = uVar9 & 0x80808080;\n        puVar20 = (ulong *)((long)puVar19 + 4);\n      }" ({ "{") (expression_statement "puVar19 = puVar20;" (assignment_expression "puVar19 = puVar20" (identifier "puVar19") (= "=") (identifier "puVar20")) (; ";")) (expression_statement "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;" (assignment_expression "uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (identifier "uVar9") (= "=") (binary_expression "(uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19" (binary_expression "(uint)*puVar19 + 0xfefefeff" (binary_expression "(uint)*puVar19" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "puVar19")) (+ "+") (number_literal "0xfefefeff")) (& "&") (binary_expression "~(uint)*puVar19" (unary_expression "~(uint)" (~ "~") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (identifier "puVar19")))) (; ";")) (expression_statement "uVar10 = uVar9 & 0x80808080;" (assignment_expression "uVar10 = uVar9 & 0x80808080" (identifier "uVar10") (= "=") (binary_expression "uVar9 & 0x80808080" (identifier "uVar9") (& "&") (number_literal "0x80808080"))) (; ";")) (expression_statement "puVar20 = (ulong *)((long)puVar19 + 4);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 4)" (identifier "puVar20") (= "=") (cast_expression "(ulong *)((long)puVar19 + 4)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar19 + 4)" (( "(") (binary_expression "(long)puVar19 + 4" (cast_expression "(long)puVar19" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar19")) (+ "+") (number_literal "4")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (; ";")) (expression_statement "bVar27 = (uVar9 & 0x8080) == 0;" (assignment_expression "bVar27 = (uVar9 & 0x8080) == 0" (identifier "bVar27") (= "=") (binary_expression "(uVar9 & 0x8080) == 0" (parenthesized_expression "(uVar9 & 0x8080)" (( "(") (binary_expression "uVar9 & 0x8080" (identifier "uVar9") (& "&") (number_literal "0x8080")) () ")")) (== "==") (number_literal "0"))) (; ";")) (if_statement "if (bVar27) {\n        uVar10 = uVar10 >> 0x10;\n      }" (if "if") (parenthesized_expression "(bVar27)" (( "(") (identifier "bVar27") () ")")) (compound_statement "{\n        uVar10 = uVar10 >> 0x10;\n      }" ({ "{") (expression_statement "uVar10 = uVar10 >> 0x10;" (assignment_expression "uVar10 = uVar10 >> 0x10" (identifier "uVar10") (= "=") (binary_expression "uVar10 >> 0x10" (identifier "uVar10") (>> ">>") (number_literal "0x10"))) (; ";")) (} "}"))) (if_statement "if (bVar27) {\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }" (if "if") (parenthesized_expression "(bVar27)" (( "(") (identifier "bVar27") () ")")) (compound_statement "{\n        puVar20 = (ulong *)((long)puVar19 + 6);\n      }" ({ "{") (expression_statement "puVar20 = (ulong *)((long)puVar19 + 6);" (assignment_expression "puVar20 = (ulong *)((long)puVar19 + 6)" (identifier "puVar20") (= "=") (cast_expression "(ulong *)((long)puVar19 + 6)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar19 + 6)" (( "(") (binary_expression "(long)puVar19 + 6" (cast_expression "(long)puVar19" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar19")) (+ "+") (number_literal "6")) () ")")))) (; ";")) (} "}"))) (if_statement "if (pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }" (if "if") (parenthesized_expression "(pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)))" (( "(") (binary_expression "pcVar24 < (char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" (identifier "pcVar24") (< "<") (cast_expression "(char *)((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))" (( "(") (binary_expression "(long)puVar20 +\n                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" (cast_expression "(long)puVar20" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar20")) (+ "+") (parenthesized_expression "((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78)" (( "(") (binary_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10))" (( "(") (binary_expression "-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)" (number_literal "-3") (- "-") (cast_expression "(ulong)CARRY1((byte)uVar10,(byte)uVar10)" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (call_expression "CARRY1((byte)uVar10,(byte)uVar10)" (identifier "CARRY1") (argument_list "((byte)uVar10,(byte)uVar10)" (( "(") (cast_expression "(byte)uVar10" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar10")) (, ",") (cast_expression "(byte)uVar10" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar10")) () ")"))))) () ")")) (- "-") (cast_expression "(long)&local_78" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&local_78" (& "&") (identifier "local_78")))) () ")"))) () ")")))) () ")")) (compound_statement "{\n                    \n        FUN_002e12b0("basic_string::append");\n      }" ({ "{") (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" (identifier "FUN_002e12b0") (argument_list "("basic_string::append")" (( "(") (string_literal ""basic_string::append"" (" """) (string_content "basic_string::append") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_002aac00(param_1,&local_78);" (call_expression "FUN_002aac00(param_1,&local_78)" (identifier "FUN_002aac00") (argument_list "(param_1,&local_78)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&local_78" (& "&") (identifier "local_78")) () ")"))) (; ";")) (if_statement "if (param_1[1] == 0x7fffffffffffffff) {\n                    \n        FUN_002e12b0("basic_string::append");\n      }" (if "if") (parenthesized_expression "(param_1[1] == 0x7fffffffffffffff)" (( "(") (binary_expression "param_1[1] == 0x7fffffffffffffff" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x7fffffffffffffff")) () ")")) (compound_statement "{\n                    \n        FUN_002e12b0("basic_string::append");\n      }" ({ "{") (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" (identifier "FUN_002e12b0") (argument_list "("basic_string::append")" (( "(") (string_literal ""basic_string::append"" (" """) (string_content "basic_string::append") (" """)) () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_0019d1b1:\n      FUN_002aac00(param_1,&DAT_0034070c,1);" (statement_identifier "LAB_0019d1b1") (: ":") (expression_statement "FUN_002aac00(param_1,&DAT_0034070c,1);" (call_expression "FUN_002aac00(param_1,&DAT_0034070c,1)" (identifier "FUN_002aac00") (argument_list "(param_1,&DAT_0034070c,1)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&DAT_0034070c" (& "&") (identifier "DAT_0034070c")) (, ",") (number_literal "1") () ")"))) (; ";"))) (} "}")))) (labeled_statement "LAB_0019ce15:\n    lVar22 = lVar22 + 4;" (statement_identifier "LAB_0019ce15") (: ":") (expression_statement "lVar22 = lVar22 + 4;" (assignment_expression "lVar22 = lVar22 + 4" (identifier "lVar22") (= "=") (binary_expression "lVar22 + 4" (identifier "lVar22") (+ "+") (number_literal "4"))) (; ";"))) (expression_statement "puVar21 = puVar21 + 2;" (assignment_expression "puVar21 = puVar21 + 2" (identifier "puVar21") (= "=") (binary_expression "puVar21 + 2" (identifier "puVar21") (+ "+") (number_literal "2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(ulong **)(lVar2 + 0x20) != puVar21)" (( "(") (binary_expression "*(ulong **)(lVar2 + 0x20) != puVar21" (pointer_expression "*(ulong **)(lVar2 + 0x20)" (* "*") (cast_expression "(ulong **)(lVar2 + 0x20)" (( "(") (type_descriptor "ulong **" (type_identifier "ulong") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar2 + 0x20)" (( "(") (binary_expression "lVar2 + 0x20" (identifier "lVar2") (+ "+") (number_literal "0x20")) () ")")))) (!= "!=") (identifier "puVar21")) () ")")) (; ";"))) (labeled_statement "LAB_0019d282:\n  if (param_2 == '\0') {\n    if (param_1[1] != 0) {\n                    \n      FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents");\n    }\n    puVar15 = (undefined8 *)((ulong)param_4 * 0x20 + *param_8);\n    FUN_002aac00(param_1,*puVar15,puVar15[1]);\n  }\n  else {\n    if (0x7fffffffffffffff - param_1[1] < 0xb) {\n                    \n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,"Contents = ",0xb);\n    if (0x7fffffffffffffff - param_1[1] < local_c0) {\n                    \n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,local_f8);\n    FUN_002a95a0((ulong)param_4 * 0x20 + *param_8,param_1);\n  }" (statement_identifier "LAB_0019d282") (: ":") (if_statement "if (param_2 == '\0') {\n    if (param_1[1] != 0) {\n                    \n      FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents");\n    }\n    puVar15 = (undefined8 *)((ulong)param_4 * 0x20 + *param_8);\n    FUN_002aac00(param_1,*puVar15,puVar15[1]);\n  }\n  else {\n    if (0x7fffffffffffffff - param_1[1] < 0xb) {\n                    \n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,"Contents = ",0xb);\n    if (0x7fffffffffffffff - param_1[1] < local_c0) {\n                    \n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,local_f8);\n    FUN_002a95a0((ulong)param_4 * 0x20 + *param_8,param_1);\n  }" (if "if") (parenthesized_expression "(param_2 == '\0')" (( "(") (binary_expression "param_2 == '\0'" (identifier "param_2") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    if (param_1[1] != 0) {\n                    \n      FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents");\n    }\n    puVar15 = (undefined8 *)((ulong)param_4 * 0x20 + *param_8);\n    FUN_002aac00(param_1,*puVar15,puVar15[1]);\n  }" ({ "{") (if_statement "if (param_1[1] != 0) {\n                    \n      FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents");\n    }" (if "if") (parenthesized_expression "(param_1[1] != 0)" (( "(") (binary_expression "param_1[1] != 0" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n      FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents");\n    }" ({ "{") (expression_statement "FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents");" (call_expression "FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents")" (identifier "FUN_00199900") (argument_list "("../../gold/icf.cc",0x242,"get_section_contents")" (( "(") (string_literal ""../../gold/icf.cc"" (" """) (string_content "../../gold/icf.cc") (" """)) (, ",") (number_literal "0x242") (, ",") (string_literal ""get_section_contents"" (" """) (string_content "get_section_contents") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "puVar15 = (undefined8 *)((ulong)param_4 * 0x20 + *param_8);" (assignment_expression "puVar15 = (undefined8 *)((ulong)param_4 * 0x20 + *param_8)" (identifier "puVar15") (= "=") (cast_expression "(undefined8 *)((ulong)param_4 * 0x20 + *param_8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)param_4 * 0x20 + *param_8)" (( "(") (binary_expression "(ulong)param_4 * 0x20 + *param_8" (binary_expression "(ulong)param_4 * 0x20" (cast_expression "(ulong)param_4" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "param_4")) (* "*") (number_literal "0x20")) (+ "+") (pointer_expression "*param_8" (* "*") (identifier "param_8"))) () ")")))) (; ";")) (expression_statement "FUN_002aac00(param_1,*puVar15,puVar15[1]);" (call_expression "FUN_002aac00(param_1,*puVar15,puVar15[1])" (identifier "FUN_002aac00") (argument_list "(param_1,*puVar15,puVar15[1])" (( "(") (identifier "param_1") (, ",") (pointer_expression "*puVar15" (* "*") (identifier "puVar15")) (, ",") (subscript_expression "puVar15[1]" (identifier "puVar15") ([ "[") (number_literal "1") (] "]")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n    if (0x7fffffffffffffff - param_1[1] < 0xb) {\n                    \n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,"Contents = ",0xb);\n    if (0x7fffffffffffffff - param_1[1] < local_c0) {\n                    \n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,local_f8);\n    FUN_002a95a0((ulong)param_4 * 0x20 + *param_8,param_1);\n  }" (else "else") (compound_statement "{\n    if (0x7fffffffffffffff - param_1[1] < 0xb) {\n                    \n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,"Contents = ",0xb);\n    if (0x7fffffffffffffff - param_1[1] < local_c0) {\n                    \n      FUN_002e12b0("basic_string::append");\n    }\n    FUN_002aac00(param_1,local_f8);\n    FUN_002a95a0((ulong)param_4 * 0x20 + *param_8,param_1);\n  }" ({ "{") (if_statement "if (0x7fffffffffffffff - param_1[1] < 0xb) {\n                    \n      FUN_002e12b0("basic_string::append");\n    }" (if "if") (parenthesized_expression "(0x7fffffffffffffff - param_1[1] < 0xb)" (( "(") (binary_expression "0x7fffffffffffffff - param_1[1] < 0xb" (binary_expression "0x7fffffffffffffff - param_1[1]" (number_literal "0x7fffffffffffffff") (- "-") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (< "<") (number_literal "0xb")) () ")")) (compound_statement "{\n                    \n      FUN_002e12b0("basic_string::append");\n    }" ({ "{") (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" (identifier "FUN_002e12b0") (argument_list "("basic_string::append")" (( "(") (string_literal ""basic_string::append"" (" """) (string_content "basic_string::append") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_002aac00(param_1,"Contents = ",0xb);" (call_expression "FUN_002aac00(param_1,"Contents = ",0xb)" (identifier "FUN_002aac00") (argument_list "(param_1,"Contents = ",0xb)" (( "(") (identifier "param_1") (, ",") (string_literal ""Contents = "" (" """) (string_content "Contents = ") (" """)) (, ",") (number_literal "0xb") () ")"))) (; ";")) (if_statement "if (0x7fffffffffffffff - param_1[1] < local_c0) {\n                    \n      FUN_002e12b0("basic_string::append");\n    }" (if "if") (parenthesized_expression "(0x7fffffffffffffff - param_1[1] < local_c0)" (( "(") (binary_expression "0x7fffffffffffffff - param_1[1] < local_c0" (binary_expression "0x7fffffffffffffff - param_1[1]" (number_literal "0x7fffffffffffffff") (- "-") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (< "<") (identifier "local_c0")) () ")")) (compound_statement "{\n                    \n      FUN_002e12b0("basic_string::append");\n    }" ({ "{") (expression_statement "FUN_002e12b0("basic_string::append");" (call_expression "FUN_002e12b0("basic_string::append")" (identifier "FUN_002e12b0") (argument_list "("basic_string::append")" (( "(") (string_literal ""basic_string::append"" (" """) (string_content "basic_string::append") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_002aac00(param_1,local_f8);" (call_expression "FUN_002aac00(param_1,local_f8)" (identifier "FUN_002aac00") (argument_list "(param_1,local_f8)" (( "(") (identifier "param_1") (, ",") (identifier "local_f8") () ")"))) (; ";")) (expression_statement "FUN_002a95a0((ulong)param_4 * 0x20 + *param_8,param_1);" (call_expression "FUN_002a95a0((ulong)param_4 * 0x20 + *param_8,param_1)" (identifier "FUN_002a95a0") (argument_list "((ulong)param_4 * 0x20 + *param_8,param_1)" (( "(") (binary_expression "(ulong)param_4 * 0x20 + *param_8" (binary_expression "(ulong)param_4 * 0x20" (cast_expression "(ulong)param_4" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "param_4")) (* "*") (number_literal "0x20")) (+ "+") (pointer_expression "*param_8" (* "*") (identifier "param_8"))) (, ",") (identifier "param_1") () ")"))) (; ";")) (} "}"))))) (expression_statement "FUN_002aac00(param_1,local_98,local_90);" (call_expression "FUN_002aac00(param_1,local_98,local_90)" (identifier "FUN_002aac00") (argument_list "(param_1,local_98,local_90)" (( "(") (identifier "param_1") (, ",") (identifier "local_98") (, ",") (identifier "local_90") () ")"))) (; ";")) (if_statement "if (local_98 != local_88) {\n    FUN_002a2980();\n  }" (if "if") (parenthesized_expression "(local_98 != local_88)" (( "(") (binary_expression "local_98 != local_88" (identifier "local_98") (!= "!=") (identifier "local_88")) () ")")) (compound_statement "{\n    FUN_002a2980();\n  }" ({ "{") (expression_statement "FUN_002a2980();" (call_expression "FUN_002a2980()" (identifier "FUN_002a2980") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "lVar2 = *(long *)(uVar1 + 0x28);" (assignment_expression "lVar2 = *(long *)(uVar1 + 0x28)" (identifier "lVar2") (= "=") (pointer_expression "*(long *)(uVar1 + 0x28)" (* "*") (cast_expression "(long *)(uVar1 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar1 + 0x28)" (( "(") (binary_expression "uVar1 + 0x28" (identifier "uVar1") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if (lVar2 != 0) {\n    FUN_00193600(lVar2 + 0x28,0xffffffffffffffff);\n  }" (if "if") (parenthesized_expression "(lVar2 != 0)" (( "(") (binary_expression "lVar2 != 0" (identifier "lVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_00193600(lVar2 + 0x28,0xffffffffffffffff);\n  }" ({ "{") (expression_statement "FUN_00193600(lVar2 + 0x28,0xffffffffffffffff);" (call_expression "FUN_00193600(lVar2 + 0x28,0xffffffffffffffff)" (identifier "FUN_00193600") (argument_list "(lVar2 + 0x28,0xffffffffffffffff)" (( "(") (binary_expression "lVar2 + 0x28" (identifier "lVar2") (+ "+") (number_literal "0x28")) (, ",") (number_literal "0xffffffffffffffff") () ")"))) (; ";")) (} "}"))) (return_statement "return param_1;" (return "return") (identifier "param_1") (; ";")) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */

var_2 * var_52::var_1
                   (var_2 *var_3,bool first_iteration,var_4 *var_5,
                   var_6 var_63,var_6 *var_7,var_8 *var_9,
                   var_10<var_11,_std::var_12<var_11>var_13> *kept_section_id,
                   var_10<var_50::__cxx11::var_14<var_15,_std::var_16<var_15>,_std::var_12<var_15>var_13>,_std::var_12<var_50::__cxx11::var_14<var_15,_std::var_16<var_15>,_std::var_12<var_15>var_13>var_13>var_13>
                   *var_21)

{
  int *__s;
  type_1 *pRVar1;
  type_2 *var_19;
  type_3 *var_26;
  type_3 *p_Var4;
  type_3 *p_Var5;
  type_3 *var_31;
  type_4 *var_34;
  type_5 *var_54;
  bool bVar9;
  type_6 return_value;
  var_6 var_42;
  var_6 var_44;
  type_7 iVar12;
  type_8 var_22;
  size_t var_59;
  char *var_39;
  var_2 *psVar16;
  type_9 pbVar17;
  type_10 *var_58;
  type_3 *var_25;
  long var_32;
  type_8 var_27;
  char *var_38;
  char *var_46;
  var_6 *var_43;
  var_6 *puVar25;
  anon_union_16_2_edb7204a_for_basic_string<var_15,_std::var_16<var_15>,_std::var_12<var_15>var_13>var_17
  *var_18;
  type_3 *var_28;
  long var_29;
  type_11 p_Var29;
  var_2 *buffer;
  type_3 *var_24;
  long var_33;
  type_11 var_23;
  type_12 *var_30;
  bool bVar34;
  type_10 *var_57;
  bool var_56;
  type_13 var_60;
  char kept_section_str [10];
  var_4 reloc_secn;
  var_2 icf_reloc_buffer;
  char addend_str [50];
  
  pRVar1 = var_5->first;
  var_19 = (pRVar1->super_Object).input_file_;
  if (var_19 != (type_2 *)0x0) {
    File_read::var_20(&var_19->file_,(type_14 *)0xffffffffffffffff);
  }
  var_57 = (type_10 *)0x0;
  if (first_iteration) {
                    /* try { // try from 0019d33d to 0019d341 has its CatchHandler @ 0019d8e8 */
    var_57 = type_19::var_21(&var_5->first->super_Object,var_5->second,&var_60,false);
  }
  var_18 = &var_3->field_2;
  var_3->_M_string_length = 0;
  icf_reloc_buffer._M_dataplus._M_p = (type_9)&icf_reloc_buffer.field_2;
  (var_3->_M_dataplus)._M_p = (type_9)var_18;
  (var_3->field_2)._M_local_buf[0] = '\0';
  if (var_7 != (var_6 *)0x0) {
    *var_7 = 0;
    var_18 = (anon_union_16_2_edb7204a_for_basic_string<var_15,_std::var_16<var_15>,_std::var_12<var_15>var_13>var_17
               *)(var_3->_M_dataplus)._M_p;
  }
  var_22 = (var_9->icf_->reloc_info_list_)._M_h._M_bucket_count;
  var_24 = (type_3 *)((type_8)var_5->second ^ (type_8)var_5->first);
  var_27 = (type_8)var_24 % var_22;
  var_23 = (var_9->icf_->reloc_info_list_)._M_h._M_buckets[var_27];
  if (var_23 != (type_11)0x0) {
    var_25 = var_23->_M_nxt[0x12]._M_nxt;
    var_26 = var_23->_M_nxt;
    while (((p_Var29 = var_26, var_24 != var_25 || (var_5->first != (type_1 *)p_Var29[1]._M_nxt))
           || (var_5->second != *(var_6 *)&p_Var29[2]._M_nxt))) {
      var_26 = p_Var29->_M_nxt;
      if ((var_26 == (type_3 *)0x0) ||
         (var_25 = var_26[0x12]._M_nxt, var_23 = p_Var29, var_27 != (type_8)var_25 % var_22))
      goto LAB_0019d260;
    }
    var_24 = var_23->_M_nxt;
    if (var_24 != (type_3 *)0x0) {
      var_3->_M_string_length = 0;
      var_29 = 0;
      var_18->_M_local_buf[0] = '\0';
      icf_reloc_buffer._M_string_length = 0;
      icf_reloc_buffer.field_2._M_local_buf[0] = '\0';
      var_25 = var_24[6]._M_nxt;
      var_26 = var_24[9]._M_nxt;
      p_Var4 = var_24[0xc]._M_nxt;
      p_Var5 = var_24[0xf]._M_nxt;
      var_28 = var_24[3]._M_nxt;
      if (var_28 == var_24[4]._M_nxt) goto LAB_0019d282;
      goto LAB_0019ce2c;
    }
  }
LAB_0019d260:
  var_3->_M_string_length = 0;
  var_18->_M_local_buf[0] = '\0';
  icf_reloc_buffer._M_string_length = 0;
  icf_reloc_buffer.field_2._M_local_buf[0] = '\0';
  goto LAB_0019d282;
LAB_0019ce2c:
  do {
    var_30 = *(type_12 **)((long)&var_25->_M_nxt + var_29 * 2);
    bVar34 = var_30 == (type_12 *)0xffffffffffffffff;
    if (bVar34) {
      var_30 = (type_12 *)0x0;
    }
    var_33 = *(long *)((long)&var_26[1]._M_nxt + var_29 * 4);
    var_32 = *(long *)((long)&var_26->_M_nxt + var_29 * 4);
    if (first_iteration) {
      var_31 = var_28->_M_nxt;
      if (var_31 != (type_3 *)0x0) {
        addend_str._8_4_ = *(type_15 *)&var_28[1]._M_nxt;
        addend_str._16_8_ = var_32 + var_33;
        var_34 = parameters->target_;
        addend_str._0_8_ = var_31;
        if (var_34 == (type_4 *)0x0) {
                    /* WARNING: Subroutine does not return */
          var_35("../../gold/parameters.h",0x69,"target");
        }
                    /* try { // try from 0019cb7f to 0019d2d3 has its CatchHandler @ 0019d8f0 */
        (*var_34->_vptr_Target[0x11])(var_34,addend_str);
        if (addend_str._8_4_ == *(int *)&var_28[1]._M_nxt) {
          var_33 = *(long *)((long)&var_26[1]._M_nxt + var_29 * 4);
          var_32 = *(long *)((long)&var_26->_M_nxt + var_29 * 4);
        }
        else {
          *(type_15 *)&var_28[1]._M_nxt = addend_str._8_4_;
          var_33 = 0;
          *(type_12 *)((long)&var_26[1]._M_nxt + var_29 * 4) = 0;
          *(type_12 *)((long)&var_26->_M_nxt + var_29 * 4) = addend_str._16_8_;
          var_32 = addend_str._16_8_;
        }
      }
      var_36(addend_str,0x32,"%llx %llx %llx",var_32,var_33,
               *(type_12 *)((long)&p_Var4->_M_nxt + var_29 * 2));
      if (var_28->_M_nxt != (type_3 *)0x0) goto LAB_0019cbd9;
      var_38 = (char *)(0x7fffffffffffffff - var_3->_M_string_length);
      puVar25 = (var_6 *)addend_str;
      if (var_30 != (type_12 *)0x0) {
        var_46 = (char *)*var_30;
        var_39 = (char *)var_37(var_46);
        if (var_38 < var_39) {
                    /* WARNING: Subroutine does not return */
          std::var_40("basic_string::append");
        }
        std::string::var_41((var_2 *)var_3,var_46,(type_8)var_39);
        var_38 = (char *)(0x7fffffffffffffff - var_3->_M_string_length);
      }
      do {
        var_43 = puVar25;
        var_42 = *var_43 + 0xfefefeff & ~*var_43;
        var_44 = var_42 & 0x80808080;
        puVar25 = var_43 + 1;
      } while (var_44 == 0);
      bVar34 = (var_42 & 0x8080) == 0;
      if (bVar34) {
        var_44 = var_44 >> 0x10;
      }
      if (bVar34) {
        puVar25 = (var_6 *)((long)var_43 + 6);
      }
      var_46 = (char *)((long)puVar25 +
                        ((-3 - (type_8)var_45((type_16)var_44,(type_16)var_44)) - (long)addend_str));
      if (var_38 < var_46) {
                    /* WARNING: Subroutine does not return */
        std::var_40("basic_string::append");
      }
      std::string::var_41((var_2 *)var_3,addend_str,(type_8)var_46);
      if (var_3->_M_string_length == 0x7fffffffffffffff) {
                    /* WARNING: Subroutine does not return */
        std::var_40("basic_string::append");
      }
LAB_0019d1b1:
      std::string::var_41((var_2 *)var_3,"@",1);
    }
    else {
      var_36(addend_str,0x32,"%llx %llx %llx",var_32,var_33,
               *(type_12 *)((long)&p_Var4->_M_nxt + var_29 * 2));
      if (var_28->_M_nxt != (type_3 *)0x0) {
LAB_0019cbd9:
        reloc_secn.first = (type_1 *)var_28->_M_nxt;
        reloc_secn.second = *(var_6 *)&var_28[1]._M_nxt;
        if ((var_5->first == reloc_secn.first) && (var_5->second == reloc_secn.second)) {
          if (first_iteration) {
            if (var_3->_M_string_length == 0x7fffffffffffffff) {
                    /* WARNING: Subroutine does not return */
              std::var_40("basic_string::append");
            }
            std::string::var_41((var_2 *)var_3,"R",1);
            puVar25 = (var_6 *)addend_str;
            do {
              var_43 = puVar25;
              var_42 = *var_43 + 0xfefefeff & ~*var_43;
              var_44 = var_42 & 0x80808080;
              puVar25 = var_43 + 1;
            } while (var_44 == 0);
            bVar34 = (var_42 & 0x8080) == 0;
            if (bVar34) {
              var_44 = var_44 >> 0x10;
            }
            if (bVar34) {
              puVar25 = (var_6 *)((long)var_43 + 6);
            }
            var_38 = (char *)((long)puVar25 +
                              ((-3 - (type_8)var_45((type_16)var_44,(type_16)var_44)) - (long)addend_str));
            if ((char *)(0x7fffffffffffffff - var_3->_M_string_length) < var_38) {
                    /* WARNING: Subroutine does not return */
              std::var_40("basic_string::append");
            }
            std::string::var_41((var_2 *)var_3,addend_str,(type_8)var_38);
            if (var_3->_M_string_length == 0x7fffffffffffffff) {
                    /* WARNING: Subroutine does not return */
              std::var_40("basic_string::append");
            }
            goto LAB_0019d1b1;
          }
        }
        else {
          iVar12 = var_50::
                   _Hashtable<var_50::pair<var_52::type_1*,var_53>,_std::pair<var_51::pair<var_52::type_1*,var_53>,var_53>,_std::var_12<var_50::pair<var_51::pair<var_52::type_1*,var_53>,var_53>var_13>,_std::__detail::_Select1st,_std::equal_to<var_50::pair<var_52::type_1*,var_53>var_13>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_47<true,_false,var_48>var_13>
                   ::var_49((_Hashtable<var_50::pair<var_52::type_1*,var_53>,_std::pair<var_51::pair<var_52::type_1*,var_53>,var_53>,_std::var_12<var_50::pair<var_51::pair<var_52::type_1*,var_53>,var_53>var_13>,_std::__detail::_Select1st,_std::equal_to<var_50::pair<var_52::type_1*,var_53>var_13>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_47<true,_false,var_48>var_13>
                           *var_62)&var_9->icf_->section_id_,&reloc_secn);
          if (var_30 == (type_12 *)0x0) {
LAB_0019cc40:
            if (iVar12.
                super__Node_iterator_base<var_50::pair<var_51::pair<var_52::type_1*,var_53>,var_53>,var_48>
                ._M_cur != (type_17 *)0x0) {
              if (var_7 != (var_6 *)0x0) {
                *var_7 = *var_7 + 1;
              }
              var_36(kept_section_str,10,"%u",
                       (type_8)(kept_section_id->
                              super__Vector_base<var_11,_std::var_12<var_11>var_13>).
                              _M_impl._M_start
                              [*(var_6 *)((long)iVar12.
                                               super__Node_iterator_base<var_50::pair<var_51::pair<var_52::type_1*,var_53>,var_53>,var_48>
                                               ._M_cur + 0x18)]);
              puVar25 = (var_6 *)kept_section_str;
              if (first_iteration) {
                if (0x7fffffffffffffff - var_3->_M_string_length < 5) {
                    /* WARNING: Subroutine does not return */
                  std::var_40("basic_string::append");
                }
                std::string::var_41((var_2 *)var_3,"ICF_R",5);
                puVar25 = (var_6 *)addend_str;
                do {
                  var_43 = puVar25;
                  var_42 = *var_43 + 0xfefefeff & ~*var_43;
                  var_44 = var_42 & 0x80808080;
                  puVar25 = var_43 + 1;
                } while (var_44 == 0);
                bVar34 = (var_42 & 0x8080) == 0;
                if (bVar34) {
                  var_44 = var_44 >> 0x10;
                }
                if (bVar34) {
                  puVar25 = (var_6 *)((long)var_43 + 6);
                }
                var_38 = (char *)((long)puVar25 +
                                  ((-3 - (type_8)var_45((type_16)var_44,(type_16)var_44)) -
                                  (long)addend_str));
                if ((char *)(0x7fffffffffffffff - var_3->_M_string_length) <
                    var_38) {
                    /* WARNING: Subroutine does not return */
                  std::var_40("basic_string::append");
                }
                std::string::var_41((var_2 *)var_3,addend_str,(type_8)var_38);
                puVar25 = (var_6 *)kept_section_str;
              }
              do {
                var_43 = puVar25;
                var_42 = *var_43 + 0xfefefeff & ~*var_43;
                var_44 = var_42 & 0x80808080;
                puVar25 = var_43 + 1;
              } while (var_44 == 0);
              bVar34 = (var_42 & 0x8080) == 0;
              if (bVar34) {
                var_44 = var_44 >> 0x10;
              }
              if (bVar34) {
                puVar25 = (var_6 *)((long)var_43 + 6);
              }
              var_38 = (char *)((long)puVar25 +
                                ((-3 - (type_8)var_45((type_16)var_44,(type_16)var_44)) -
                                (long)kept_section_str));
              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < var_38) {
                    /* WARNING: Subroutine does not return */
                std::var_40("basic_string::append");
              }
              std::string::var_41((var_2 *)&icf_reloc_buffer,kept_section_str,(type_8)var_38);
              puVar25 = (var_6 *)addend_str;
              do {
                var_43 = puVar25;
                var_42 = *var_43 + 0xfefefeff & ~*var_43;
                var_44 = var_42 & 0x80808080;
                puVar25 = var_43 + 1;
              } while (var_44 == 0);
              bVar34 = (var_42 & 0x8080) == 0;
              if (bVar34) {
                var_44 = var_44 >> 0x10;
              }
              if (bVar34) {
                puVar25 = (var_6 *)((long)var_43 + 6);
              }
              var_38 = (char *)((long)puVar25 +
                                ((-3 - (type_8)var_45((type_16)var_44,(type_16)var_44)) - (long)addend_str)
                                );
              if ((char *)(0x7fffffffffffffff - icf_reloc_buffer._M_string_length) < var_38) {
                    /* WARNING: Subroutine does not return */
                std::var_40("basic_string::append");
              }
              std::string::var_41((var_2 *)&icf_reloc_buffer,addend_str,(type_8)var_38);
              if (icf_reloc_buffer._M_string_length == 0x7fffffffffffffff) {
                    /* WARNING: Subroutine does not return */
                std::var_40("basic_string::append");
              }
              std::string::var_41((var_2 *)&icf_reloc_buffer,"@",1);
              goto LAB_0019ce15;
            }
          }
          else {
            if ((*(type_16 *)((long)var_30 + 0x3a) & 7) == 0) {
              if (((*(type_16 *)(var_30[2] + 0x3c) & 1) == 0) &&
                 ((*(int *)(var_30 + 3) != 0 || ((*(type_16 *)((long)var_30 + 0x3b) & 0x20) == 0))))
              goto LAB_0019cf7c;
              goto LAB_0019cc40;
            }
            if ((*(type_16 *)((long)var_30 + 0x3a) & 7) == 4) goto LAB_0019cc40;
LAB_0019cf7c:
            if (((*(type_16 *)((long)var_30 + 0x39) & 3) != 0) ||
               ((*(type_16 *)((long)var_30 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;
            var_54 = parameters->options_;
            if (var_54 == (type_5 *)0x0) {
                    /* WARNING: Subroutine does not return */
              var_35("../../gold/parameters.h",0x5c,"options");
            }
            if ((var_54->shared_).value == false) goto LAB_0019cc40;
            bVar9 = Version_script_info::var_55
                              (&(var_54->dynamic_list_).version_script_info_,(char *)*var_30,
                               (var_2 *)0x0,&var_56);
            if ((!bVar9) || (var_56 != false)) {
              var_54 = parameters->options_;
              if (var_54 == (type_5 *)0x0) {
                    /* WARNING: Subroutine does not return */
                var_35("../../gold/parameters.h",0x5c,"options");
              }
              if (((var_54->Bsymbolic_).value != false) ||
                 (((*(type_16 *)(var_30 + 7) & 0xf) != 1 &&
                  ((var_54->Bsymbolic_functions_).value != false)))) goto LAB_0019cc40;
            }
          }
          if (first_iteration) {
            var_22 = (*(type_18 *)var_28->_M_nxt->_M_nxt[0x11]._M_nxt)
                               (var_28->_M_nxt,*(type_15 *)&var_28[1]._M_nxt);
            if ((var_22 & 0x10) != 0) {
              if (parameters->target_ == (type_4 *)0x0) {
                    /* WARNING: Subroutine does not return */
                var_35("../../gold/parameters.h",0x69,"target");
              }
              if (parameters->target_->pti_->can_icf_inline_merge_sections != false) {
                var_27 = (*(type_18 *)var_28->_M_nxt->_M_nxt[0x12]._M_nxt)
                                   (var_28->_M_nxt,*(type_15 *)&var_28[1]._M_nxt);
                var_33 = *(long *)((long)&var_26->_M_nxt + var_29 * 4);
                if (bVar34) {
                  if (8 < *(var_6 *)((long)&p_Var5->_M_nxt + var_29)) {
                    /* WARNING: Subroutine does not return */
                    var_35("../../gold/icf.cc",0xfb,"get_rel_addend");
                  }
                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */
                    /* WARNING: Treating indirect jump as call */
                  psVar16 = (var_2 *)
                            (*(type_18 *)(&DAT_00340740 +
                                      *(int *)(&DAT_00340740 +
                                              (type_8)*(var_6 *)((long)&p_Var5->_M_nxt + var_29) * 4))
                            )(var_57 + *(long *)((long)&p_Var4->_M_nxt + var_29 * 2));
                  return psVar16;
                }
                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */
                var_58 = type_19::var_21
                                    ((type_19 *)var_28->_M_nxt,*(var_6 *)&var_28[1]._M_nxt,
                                     (type_13 *)kept_section_str,false);
                __s = (int *)(var_58 + var_33);
                if ((long)kept_section_str._0_8_ <= var_33) {
                    /* WARNING: Subroutine does not return */
                  var_35("../../gold/icf.cc",0x1eb,"get_section_contents");
                }
                if ((var_22 & 0x20) == 0) {
                  if ((type_8)kept_section_str._0_8_ < var_33 + var_27) {
                    var_27 = kept_section_str._0_8_ - var_33;
                  }
                  if (0x7fffffffffffffff - var_3->_M_string_length < var_27) {
                    /* WARNING: Subroutine does not return */
                    std::var_40("basic_string::append");
                  }
LAB_0019d597:
                  std::string::var_41((var_2 *)var_3,(char *)__s,var_27);
                }
                else {
                  if (var_27 == 2) {
                    if ((short)*__s == 0) {
LAB_0019d70f:
                      var_27 = 0;
                    }
                    else {
                      var_22 = 0;
                      do {
                        var_44 = (int)var_22 + 1;
                        var_22 = (type_8)var_44;
                      } while (*(short *)((long)__s + var_22 * 2) != 0);
                      var_27 = (type_8)(var_44 * 2);
                      if (0x7fffffffffffffff - var_3->_M_string_length < var_27) {
                    /* WARNING: Subroutine does not return */
                        std::var_40("basic_string::append");
                      }
                    }
                    goto LAB_0019d597;
                  }
                  if (var_27 == 4) {
                    if (*__s == 0) goto LAB_0019d70f;
                    var_22 = 0;
                    do {
                      var_44 = (int)var_22 + 1;
                      var_22 = (type_8)var_44;
                    } while (__s[var_22] != 0);
                    var_27 = (type_8)(var_44 * 4);
                    if (0x7fffffffffffffff - var_3->_M_string_length < var_27) {
                    /* WARNING: Subroutine does not return */
                      std::var_40("basic_string::append");
                    }
                    goto LAB_0019d597;
                  }
                  if (var_27 != 1) {
                    /* WARNING: Subroutine does not return */
                    var_35("../../gold/icf.cc",0x210,"get_section_contents");
                  }
                  var_59 = var_37((char *)__s);
                  if (0x7fffffffffffffff - var_3->_M_string_length < var_59) {
                    /* WARNING: Subroutine does not return */
                    std::var_40("basic_string::append");
                  }
                  std::string::var_41((var_2 *)var_3,(char *)__s,var_59);
                }
                if (var_3->_M_string_length == 0x7fffffffffffffff) {
                    /* WARNING: Subroutine does not return */
                  std::var_40("basic_string::append");
                }
                goto LAB_0019d1b1;
              }
            }
            if (var_30 == (type_12 *)0x0) {
              std::string::var_41
                        ((var_2 *)var_3,(char *)var_28->_M_nxt[1]._M_nxt,
                         (type_8)var_28->_M_nxt[2]._M_nxt);
              var_36(kept_section_str,10,"%u",(type_8)*(var_6 *)&var_28[1]._M_nxt);
              puVar25 = (var_6 *)kept_section_str;
              do {
                var_43 = puVar25;
                var_42 = *var_43 + 0xfefefeff & ~*var_43;
                var_44 = var_42 & 0x80808080;
                puVar25 = var_43 + 1;
              } while (var_44 == 0);
              bVar34 = (var_42 & 0x8080) == 0;
              if (bVar34) {
                var_44 = var_44 >> 0x10;
              }
              if (bVar34) {
                puVar25 = (var_6 *)((long)var_43 + 6);
              }
              var_38 = (char *)((long)puVar25 +
                                ((-3 - (type_8)var_45((type_16)var_44,(type_16)var_44)) -
                                (long)kept_section_str));
              if ((char *)(0x7fffffffffffffff - var_3->_M_string_length) < var_38)
              {
                    /* WARNING: Subroutine does not return */
                std::var_40("basic_string::append");
              }
              std::string::var_41
                        ((var_2 *)var_3,kept_section_str,(type_8)var_38);
              puVar25 = (var_6 *)addend_str;
              do {
                var_43 = puVar25;
                var_42 = *var_43 + 0xfefefeff & ~*var_43;
                var_44 = var_42 & 0x80808080;
                puVar25 = var_43 + 1;
              } while (var_44 == 0);
              bVar34 = (var_42 & 0x8080) == 0;
              if (bVar34) {
                var_44 = var_44 >> 0x10;
              }
              if (bVar34) {
                puVar25 = (var_6 *)((long)var_43 + 6);
              }
              var_38 = (char *)((long)puVar25 +
                                ((-3 - (type_8)var_45((type_16)var_44,(type_16)var_44)) - (long)addend_str)
                                );
              if ((char *)(0x7fffffffffffffff - var_3->_M_string_length) < var_38)
              {
                    /* WARNING: Subroutine does not return */
                std::var_40("basic_string::append");
              }
              std::string::var_41((var_2 *)var_3,addend_str,(type_8)var_38);
              if (var_3->_M_string_length == 0x7fffffffffffffff) {
                    /* WARNING: Subroutine does not return */
                std::var_40("basic_string::append");
              }
            }
            else {
              var_38 = (char *)*var_30;
              var_59 = var_37(var_38);
              if (0x7fffffffffffffff - var_3->_M_string_length < var_59) {
                    /* WARNING: Subroutine does not return */
                std::var_40("basic_string::append");
              }
              std::string::var_41((var_2 *)var_3,var_38,var_59);
              puVar25 = (var_6 *)addend_str;
              do {
                var_43 = puVar25;
                var_42 = *var_43 + 0xfefefeff & ~*var_43;
                var_44 = var_42 & 0x80808080;
                puVar25 = var_43 + 1;
              } while (var_44 == 0);
              bVar34 = (var_42 & 0x8080) == 0;
              if (bVar34) {
                var_44 = var_44 >> 0x10;
              }
              if (bVar34) {
                puVar25 = (var_6 *)((long)var_43 + 6);
              }
              var_38 = (char *)((long)puVar25 +
                                ((-3 - (type_8)var_45((type_16)var_44,(type_16)var_44)) - (long)addend_str)
                                );
              if ((char *)(0x7fffffffffffffff - var_3->_M_string_length) < var_38)
              {
                    /* WARNING: Subroutine does not return */
                std::var_40("basic_string::append");
              }
              std::string::var_41((var_2 *)var_3,addend_str,(type_8)var_38);
              if (var_3->_M_string_length == 0x7fffffffffffffff) {
                    /* WARNING: Subroutine does not return */
                std::var_40("basic_string::append");
              }
            }
            goto LAB_0019d1b1;
          }
        }
      }
    }
LAB_0019ce15:
    var_29 = var_29 + 4;
    var_28 = var_28 + 2;
  } while (var_24[4]._M_nxt != var_28);
LAB_0019d282:
  if (first_iteration) {
    if (0x7fffffffffffffff - var_3->_M_string_length < 0xb) {
                    /* WARNING: Subroutine does not return */
      std::var_40("basic_string::append");
    }
    std::string::var_41((var_2 *)var_3,"Contents = ",0xb);
    if (0x7fffffffffffffff - var_3->_M_string_length < var_60) {
                    /* WARNING: Subroutine does not return */
      std::var_40("basic_string::append");
    }
    std::string::var_41((var_2 *)var_3,(char *)var_57,var_60);
    std::string::var_61
              ((var_2 *)
               ((var_21->
                super__Vector_base<var_50::__cxx11::var_14<var_15,_std::var_16<var_15>,_std::var_12<var_15>var_13>,_std::var_12<var_50::__cxx11::var_14<var_15,_std::var_16<var_15>,_std::var_12<var_15>var_13>var_13>var_13>var_62
                )._M_impl._M_start + var_63),(var_2 *)var_3);
  }
  else {
    if (var_3->_M_string_length != 0) {
                    /* WARNING: Subroutine does not return */
      var_35("../../gold/icf.cc",0x242,"get_section_contents");
    }
    pbVar17 = (var_21->
              super__Vector_base<var_50::__cxx11::var_14<var_15,_std::var_16<var_15>,_std::var_12<var_15>var_13>,_std::var_12<var_50::__cxx11::var_14<var_15,_std::var_16<var_15>,_std::var_12<var_15>var_13>var_13>var_13>var_62
              )._M_impl._M_start + var_63;
    std::string::var_41
              ((var_2 *)var_3,(pbVar17->_M_dataplus)._M_p,
               pbVar17->_M_string_length);
  }
  std::string::var_41
            ((var_2 *)var_3,icf_reloc_buffer._M_dataplus._M_p,
             icf_reloc_buffer._M_string_length);
  if ((anon_union_16_2_edb7204a_for_basic_string<var_15,_std::var_16<var_15>,_std::var_12<var_15>var_13>var_17
       *)icf_reloc_buffer._M_dataplus._M_p != &icf_reloc_buffer.field_2) {
    var_64(icf_reloc_buffer._M_dataplus._M_p);
  }
  var_19 = (pRVar1->super_Object).input_file_;
  if (var_19 != (type_2 *)0x0) {
    File_read::var_65(&var_19->file_,(type_14 *)0xffffffffffffffff);
  }
  return var_3;
}


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

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

{
  int *__s;
  ulong uVar1;
  long lVar2;
  long *plVar3;
  long lVar4;
  long lVar5;
  long lVar6;
  long lVar7;
  char *__s_00;
  char cVar8;
  uint uVar9;
  uint uVar10;
  long lVar11;
  ulong uVar12;
  size_t sVar13;
  char *pcVar14;
  undefined8 *puVar15;
  long lVar16;
  ulong uVar17;
  ulong uVar18;
  ulong *puVar19;
  ulong *puVar20;
  ulong *puVar21;
  long lVar22;
  long *plVar23;
  char *pcVar24;
  ulong uVar25;
  long *plVar26;
  bool bVar27;
  long local_f8;
  char local_c1;
  ulong local_c0;
  ulong local_b8 [2];
  ulong local_a8;
  int local_a0;
  undefined1 *local_98;
  long local_90;
  undefined1 local_88 [16];
  ulong local_78;
  int local_70;
  long local_68;
  
  uVar1 = *param_3;
  lVar2 = *(long *)(uVar1 + 0x28);
  if (lVar2 != 0) {
    FUN_00192a40(lVar2 + 0x28,0xffffffffffffffff);
  }
  local_f8 = 0;
  if (param_2 != '\0') {
                    /* try { // try from 0019d33d to 0019d341 has its CatchHandler @ 0019d8e8 */
    local_f8 = FUN_001c7ce0(*param_3,(int)param_3[1],&local_c0,0);
  }
  puVar15 = param_1 + 2;
  param_1[1] = 0;
  local_98 = local_88;
  *param_1 = puVar15;
  *(undefined1 *)(param_1 + 2) = 0;
  if (param_5 != (int *)0x0) {
    *param_5 = 0;
    puVar15 = (undefined8 *)*param_1;
  }
  uVar12 = *(ulong *)(*(long *)(param_6 + 0x298) + 0xb0);
  uVar25 = (ulong)(uint)param_3[1] ^ *param_3;
  uVar18 = uVar25 % uVar12;
  plVar26 = *(long **)(*(long *)(*(long *)(param_6 + 0x298) + 0xa8) + uVar18 * 8);
  if (plVar26 != (long *)0x0) {
    uVar17 = ((long *)*plVar26)[0x12];
    plVar3 = (long *)*plVar26;
    while (((plVar23 = plVar3, uVar25 != uVar17 || (*param_3 != plVar23[1])) ||
           ((uint)param_3[1] != *(uint *)(plVar23 + 2)))) {
      plVar3 = (long *)*plVar23;
      if ((plVar3 == (long *)0x0) ||
         (uVar17 = plVar3[0x12], plVar26 = plVar23, uVar18 != uVar17 % uVar12)) goto LAB_0019d260;
    }
    lVar2 = *plVar26;
    if (lVar2 != 0) {
      param_1[1] = 0;
      lVar22 = 0;
      *(undefined1 *)puVar15 = 0;
      local_90 = 0;
      local_88[0] = 0;
      lVar4 = *(long *)(lVar2 + 0x30);
      lVar5 = *(long *)(lVar2 + 0x48);
      lVar6 = *(long *)(lVar2 + 0x60);
      lVar7 = *(long *)(lVar2 + 0x78);
      puVar21 = *(ulong **)(lVar2 + 0x18);
      if (puVar21 == *(ulong **)(lVar2 + 0x20)) goto LAB_0019d282;
      goto LAB_0019ce2c;
    }
  }
LAB_0019d260:
  param_1[1] = 0;
  *(undefined1 *)puVar15 = 0;
  local_90 = 0;
  local_88[0] = 0;
  goto LAB_0019d282;
LAB_0019ce2c:
  do {
    puVar15 = *(undefined8 **)(lVar4 + lVar22 * 2);
    bVar27 = puVar15 == (undefined8 *)0xffffffffffffffff;
    if (bVar27) {
      puVar15 = (undefined8 *)0x0;
    }
    lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);
    lVar16 = *(long *)(lVar5 + lVar22 * 4);
    if (param_2 == '\0') {
      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,
               *(undefined8 *)(lVar6 + lVar22 * 2));
      if (*puVar21 != 0) {
LAB_0019cbd9:
        local_a8 = *puVar21;
        local_a0 = (int)puVar21[1];
        if ((*param_3 == local_a8) && ((int)param_3[1] == local_a0)) {
          if (param_2 != '\0') {
            if (param_1[1] == 0x7fffffffffffffff) {
                    /* WARNING: Subroutine does not return */
              FUN_002e12b0("basic_string::append");
            }
            FUN_002aac00(param_1,"R",1);
            puVar20 = &local_78;
            do {
              puVar19 = puVar20;
              uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;
              uVar10 = uVar9 & 0x80808080;
              puVar20 = (ulong *)((long)puVar19 + 4);
            } while (uVar10 == 0);
            bVar27 = (uVar9 & 0x8080) == 0;
            if (bVar27) {
              uVar10 = uVar10 >> 0x10;
            }
            if (bVar27) {
              puVar20 = (ulong *)((long)puVar19 + 6);
            }
            if ((char *)(0x7fffffffffffffff - param_1[1]) <
                (char *)((long)puVar20 +
                        ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {
                    /* WARNING: Subroutine does not return */
              FUN_002e12b0("basic_string::append");
            }
            FUN_002aac00(param_1,&local_78);
            if (param_1[1] == 0x7fffffffffffffff) {
                    /* WARNING: Subroutine does not return */
              FUN_002e12b0("basic_string::append");
            }
            goto LAB_0019d1b1;
          }
        }
        else {
          lVar11 = FUN_0019f9f0(*(long *)(param_6 + 0x298) + 0x18,&local_a8);
          if (puVar15 == (undefined8 *)0x0) {
LAB_0019cc40:
            if (lVar11 != 0) {
              if (param_5 != (int *)0x0) {
                *param_5 = *param_5 + 1;
              }
              snprintf((char *)local_b8,10,"%u",
                       (ulong)*(uint *)(*param_7 + (ulong)*(uint *)(lVar11 + 0x18) * 4));
              puVar20 = local_b8;
              if (param_2 != '\0') {
                if (0x7fffffffffffffff - param_1[1] < 5) {
                    /* WARNING: Subroutine does not return */
                  FUN_002e12b0("basic_string::append");
                }
                FUN_002aac00(param_1,"ICF_R",5);
                puVar20 = &local_78;
                do {
                  puVar19 = puVar20;
                  uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;
                  uVar10 = uVar9 & 0x80808080;
                  puVar20 = (ulong *)((long)puVar19 + 4);
                } while (uVar10 == 0);
                bVar27 = (uVar9 & 0x8080) == 0;
                if (bVar27) {
                  uVar10 = uVar10 >> 0x10;
                }
                if (bVar27) {
                  puVar20 = (ulong *)((long)puVar19 + 6);
                }
                if ((char *)(0x7fffffffffffffff - param_1[1]) <
                    (char *)((long)puVar20 +
                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {
                    /* WARNING: Subroutine does not return */
                  FUN_002e12b0("basic_string::append");
                }
                FUN_002aac00(param_1,&local_78);
                puVar20 = local_b8;
              }
              do {
                puVar19 = puVar20;
                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;
                uVar10 = uVar9 & 0x80808080;
                puVar20 = (ulong *)((long)puVar19 + 4);
              } while (uVar10 == 0);
              bVar27 = (uVar9 & 0x8080) == 0;
              if (bVar27) {
                uVar10 = uVar10 >> 0x10;
              }
              if (bVar27) {
                puVar20 = (ulong *)((long)puVar19 + 6);
              }
              if ((char *)(0x7fffffffffffffff - local_90) <
                  (char *)((long)puVar20 +
                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {
                    /* WARNING: Subroutine does not return */
                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);
              }
              FUN_002aac00(&local_98,local_b8);
              puVar20 = &local_78;
              do {
                puVar19 = puVar20;
                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;
                uVar10 = uVar9 & 0x80808080;
                puVar20 = (ulong *)((long)puVar19 + 4);
              } while (uVar10 == 0);
              bVar27 = (uVar9 & 0x8080) == 0;
              if (bVar27) {
                uVar10 = uVar10 >> 0x10;
              }
              if (bVar27) {
                puVar20 = (ulong *)((long)puVar19 + 6);
              }
              if ((char *)(0x7fffffffffffffff - local_90) <
                  (char *)((long)puVar20 +
                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {
                    /* WARNING: Subroutine does not return */
                FUN_002e12b0("basic_string::append",uVar10 & 0xffffff00);
              }
              FUN_002aac00(&local_98,&local_78);
              if (local_90 == 0x7fffffffffffffff) {
                    /* WARNING: Subroutine does not return */
                FUN_002e12b0("basic_string::append");
              }
              FUN_002aac00(&local_98,&DAT_0034070c,1);
              goto LAB_0019ce15;
            }
          }
          else {
            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 0) {
              if (((*(byte *)(puVar15[2] + 0x3c) & 1) == 0) &&
                 ((*(int *)(puVar15 + 3) != 0 || ((*(byte *)((long)puVar15 + 0x3b) & 0x20) == 0))))
              goto LAB_0019cf7c;
              goto LAB_0019cc40;
            }
            if ((*(byte *)((long)puVar15 + 0x3a) & 7) == 4) goto LAB_0019cc40;
LAB_0019cf7c:
            if (((*(byte *)((long)puVar15 + 0x39) & 3) != 0) ||
               ((*(byte *)((long)puVar15 + 0x3b) & 0x10) != 0)) goto LAB_0019cc40;
            lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);
            if (lVar16 == 0) {
                    /* WARNING: Subroutine does not return */
              FUN_00199900("../../gold/parameters.h",0x5c,"options");
            }
            if (*(char *)(lVar16 + 0x2a61) == '\0') goto LAB_0019cc40;
            cVar8 = FUN_00241de0(lVar16 + 0x9120,*puVar15,0,&local_c1);
            if ((cVar8 == '\0') || (local_c1 != '\0')) {
              lVar16 = *(long *)(PTR_DAT_003f85c0 + 0x10);
              if (lVar16 == 0) {
                    /* WARNING: Subroutine does not return */
                FUN_00199900("../../gold/parameters.h",0x5c,"options");
              }
              if ((*(char *)(lVar16 + 0xd21) != '\0') ||
                 (((*(byte *)(puVar15 + 7) & 0xf) != 1 && (*(char *)(lVar16 + 0xde9) != '\0'))))
              goto LAB_0019cc40;
            }
          }
          if (param_2 != '\0') {
            uVar12 = (**(code **)(*(long *)*puVar21 + 0x88))((long *)*puVar21,(int)puVar21[1]);
            if ((uVar12 & 0x10) != 0) {
              if (*(long *)(PTR_DAT_003f85c0 + 0x18) == 0) {
                    /* WARNING: Subroutine does not return */
                FUN_00199900("../../gold/parameters.h",0x69,"target");
              }
              if (*(char *)(*(long *)(*(long *)(PTR_DAT_003f85c0 + 0x18) + 8) + 0x10) != '\0') {
                uVar18 = (**(code **)(*(long *)*puVar21 + 0x90))((long *)*puVar21,(int)puVar21[1]);
                lVar11 = *(long *)(lVar5 + lVar22 * 4);
                if (bVar27) {
                  if (8 < *(uint *)(lVar7 + lVar22)) {
                    /* WARNING: Subroutine does not return */
                    FUN_00199900("../../gold/icf.cc",0xfb,"get_rel_addend");
                  }
                    /* WARNING: Could not recover jumptable at 0x0019d256. Too many branches */
                    /* WARNING: Treating indirect jump as call */
                  puVar15 = (undefined8 *)
                            (*(code *)(&DAT_00340740 +
                                      *(int *)(&DAT_00340740 + (ulong)*(uint *)(lVar7 + lVar22) * 4)
                                      ))(local_f8 + *(long *)(lVar6 + lVar22 * 2));
                  return puVar15;
                }
                    /* try { // try from 0019d376 to 0019d8e7 has its CatchHandler @ 0019d8f0 */
                lVar16 = FUN_001c7ce0(*puVar21,(int)puVar21[1],local_b8,0);
                __s = (int *)(lVar16 + lVar11);
                if ((long)local_b8[0] <= lVar11) {
                    /* WARNING: Subroutine does not return */
                  FUN_00199900("../../gold/icf.cc",0x1eb,"get_section_contents");
                }
                if ((uVar12 & 0x20) == 0) {
                  if (local_b8[0] < lVar11 + uVar18) {
                    uVar18 = local_b8[0] - lVar11;
                  }
                  if (0x7fffffffffffffff - param_1[1] < uVar18) {
                    /* WARNING: Subroutine does not return */
                    FUN_002e12b0("basic_string::append");
                  }
LAB_0019d597:
                  FUN_002aac00(param_1,__s,uVar18);
                }
                else {
                  if (uVar18 == 2) {
                    if ((short)*__s == 0) {
LAB_0019d70f:
                      uVar18 = 0;
                    }
                    else {
                      uVar12 = 0;
                      do {
                        uVar10 = (int)uVar12 + 1;
                        uVar12 = (ulong)uVar10;
                      } while (*(short *)((long)__s + uVar12 * 2) != 0);
                      uVar18 = (ulong)(uVar10 * 2);
                      if (0x7fffffffffffffff - param_1[1] < uVar18) {
                    /* WARNING: Subroutine does not return */
                        FUN_002e12b0("basic_string::append");
                      }
                    }
                    goto LAB_0019d597;
                  }
                  if (uVar18 == 4) {
                    if (*__s == 0) goto LAB_0019d70f;
                    uVar12 = 0;
                    do {
                      uVar10 = (int)uVar12 + 1;
                      uVar12 = (ulong)uVar10;
                    } while (__s[uVar12] != 0);
                    uVar18 = (ulong)(uVar10 * 4);
                    if (0x7fffffffffffffff - param_1[1] < uVar18) {
                    /* WARNING: Subroutine does not return */
                      FUN_002e12b0("basic_string::append");
                    }
                    goto LAB_0019d597;
                  }
                  if (uVar18 != 1) {
                    /* WARNING: Subroutine does not return */
                    FUN_00199900("../../gold/icf.cc",0x210,"get_section_contents");
                  }
                  sVar13 = strlen((char *)__s);
                  if (0x7fffffffffffffff - param_1[1] < sVar13) {
                    /* WARNING: Subroutine does not return */
                    FUN_002e12b0("basic_string::append",__s);
                  }
                  FUN_002aac00(param_1,__s,sVar13);
                }
                if (param_1[1] == 0x7fffffffffffffff) {
                    /* WARNING: Subroutine does not return */
                  FUN_002e12b0("basic_string::append");
                }
                goto LAB_0019d1b1;
              }
            }
            if (puVar15 == (undefined8 *)0x0) {
              FUN_002aac00(param_1,*(undefined8 *)(*puVar21 + 8),*(undefined8 *)(*puVar21 + 0x10));
              snprintf((char *)local_b8,10,"%u",(ulong)(uint)puVar21[1]);
              puVar20 = local_b8;
              do {
                puVar19 = puVar20;
                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;
                uVar10 = uVar9 & 0x80808080;
                puVar20 = (ulong *)((long)puVar19 + 4);
              } while (uVar10 == 0);
              bVar27 = (uVar9 & 0x8080) == 0;
              if (bVar27) {
                uVar10 = uVar10 >> 0x10;
              }
              if (bVar27) {
                puVar20 = (ulong *)((long)puVar19 + 6);
              }
              if ((char *)(0x7fffffffffffffff - param_1[1]) <
                  (char *)((long)puVar20 +
                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)local_b8))) {
                    /* WARNING: Subroutine does not return */
                FUN_002e12b0("basic_string::append");
              }
              FUN_002aac00(param_1,local_b8);
              puVar20 = &local_78;
              do {
                puVar19 = puVar20;
                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;
                uVar10 = uVar9 & 0x80808080;
                puVar20 = (ulong *)((long)puVar19 + 4);
              } while (uVar10 == 0);
              bVar27 = (uVar9 & 0x8080) == 0;
              if (bVar27) {
                uVar10 = uVar10 >> 0x10;
              }
              if (bVar27) {
                puVar20 = (ulong *)((long)puVar19 + 6);
              }
              if ((char *)(0x7fffffffffffffff - param_1[1]) <
                  (char *)((long)puVar20 +
                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {
                    /* WARNING: Subroutine does not return */
                FUN_002e12b0("basic_string::append");
              }
              FUN_002aac00(param_1,&local_78);
              if (param_1[1] == 0x7fffffffffffffff) {
                    /* WARNING: Subroutine does not return */
                FUN_002e12b0("basic_string::append");
              }
            }
            else {
              pcVar24 = (char *)*puVar15;
              sVar13 = strlen(pcVar24);
              if (0x7fffffffffffffff - param_1[1] < sVar13) {
                    /* WARNING: Subroutine does not return */
                FUN_002e12b0("basic_string::append");
              }
              FUN_002aac00(param_1,pcVar24,sVar13);
              puVar20 = &local_78;
              do {
                puVar19 = puVar20;
                uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;
                uVar10 = uVar9 & 0x80808080;
                puVar20 = (ulong *)((long)puVar19 + 4);
              } while (uVar10 == 0);
              bVar27 = (uVar9 & 0x8080) == 0;
              if (bVar27) {
                uVar10 = uVar10 >> 0x10;
              }
              if (bVar27) {
                puVar20 = (ulong *)((long)puVar19 + 6);
              }
              if ((char *)(0x7fffffffffffffff - param_1[1]) <
                  (char *)((long)puVar20 +
                          ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {
                    /* WARNING: Subroutine does not return */
                FUN_002e12b0("basic_string::append");
              }
              FUN_002aac00(param_1,&local_78);
              if (param_1[1] == 0x7fffffffffffffff) {
                    /* WARNING: Subroutine does not return */
                FUN_002e12b0("basic_string::append");
              }
            }
            goto LAB_0019d1b1;
          }
        }
      }
    }
    else {
      uVar12 = *puVar21;
      if (uVar12 != 0) {
        local_70 = (int)puVar21[1];
        local_68 = lVar16 + lVar11;
        plVar26 = *(long **)(PTR_DAT_003f85c0 + 0x18);
        local_78 = uVar12;
        if (plVar26 == (long *)0x0) {
                    /* WARNING: Subroutine does not return */
          FUN_00199900("../../gold/parameters.h",0x69,"target");
        }
                    /* try { // try from 0019cb7f to 0019d2d3 has its CatchHandler @ 0019d8f0 */
        (**(code **)(*plVar26 + 0x88))(plVar26,&local_78);
        if (local_70 == (int)puVar21[1]) {
          lVar11 = *(long *)(lVar5 + 8 + lVar22 * 4);
          lVar16 = *(long *)(lVar5 + lVar22 * 4);
        }
        else {
          *(int *)(puVar21 + 1) = local_70;
          lVar11 = 0;
          *(undefined8 *)(lVar5 + 8 + lVar22 * 4) = 0;
          *(long *)(lVar5 + lVar22 * 4) = local_68;
          lVar16 = local_68;
        }
      }
      snprintf((char *)&local_78,0x32,"%llx %llx %llx",lVar16,lVar11,
               *(undefined8 *)(lVar6 + lVar22 * 2));
      if (*puVar21 != 0) goto LAB_0019cbd9;
      pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);
      puVar20 = &local_78;
      if (puVar15 != (undefined8 *)0x0) {
        __s_00 = (char *)*puVar15;
        pcVar14 = (char *)strlen(__s_00);
        if (pcVar24 < pcVar14) {
                    /* WARNING: Subroutine does not return */
          FUN_002e12b0("basic_string::append");
        }
        FUN_002aac00(param_1,__s_00,pcVar14);
        pcVar24 = (char *)(0x7fffffffffffffff - param_1[1]);
      }
      do {
        puVar19 = puVar20;
        uVar9 = (uint)*puVar19 + 0xfefefeff & ~(uint)*puVar19;
        uVar10 = uVar9 & 0x80808080;
        puVar20 = (ulong *)((long)puVar19 + 4);
      } while (uVar10 == 0);
      bVar27 = (uVar9 & 0x8080) == 0;
      if (bVar27) {
        uVar10 = uVar10 >> 0x10;
      }
      if (bVar27) {
        puVar20 = (ulong *)((long)puVar19 + 6);
      }
      if (pcVar24 < (char *)((long)puVar20 +
                            ((-3 - (ulong)CARRY1((byte)uVar10,(byte)uVar10)) - (long)&local_78))) {
                    /* WARNING: Subroutine does not return */
        FUN_002e12b0("basic_string::append");
      }
      FUN_002aac00(param_1,&local_78);
      if (param_1[1] == 0x7fffffffffffffff) {
                    /* WARNING: Subroutine does not return */
        FUN_002e12b0("basic_string::append");
      }
LAB_0019d1b1:
      FUN_002aac00(param_1,&DAT_0034070c,1);
    }
LAB_0019ce15:
    lVar22 = lVar22 + 4;
    puVar21 = puVar21 + 2;
  } while (*(ulong **)(lVar2 + 0x20) != puVar21);
LAB_0019d282:
  if (param_2 == '\0') {
    if (param_1[1] != 0) {
                    /* WARNING: Subroutine does not return */
      FUN_00199900("../../gold/icf.cc",0x242,"get_section_contents");
    }
    puVar15 = (undefined8 *)((ulong)param_4 * 0x20 + *param_8);
    FUN_002aac00(param_1,*puVar15,puVar15[1]);
  }
  else {
    if (0x7fffffffffffffff - param_1[1] < 0xb) {
                    /* WARNING: Subroutine does not return */
      FUN_002e12b0("basic_string::append");
    }
    FUN_002aac00(param_1,"Contents = ",0xb);
    if (0x7fffffffffffffff - param_1[1] < local_c0) {
                    /* WARNING: Subroutine does not return */
      FUN_002e12b0("basic_string::append");
    }
    FUN_002aac00(param_1,local_f8);
    FUN_002a95a0((ulong)param_4 * 0x20 + *param_8,param_1);
  }
  FUN_002aac00(param_1,local_98,local_90);
  if (local_98 != local_88) {
    FUN_002a2980();
  }
  lVar2 = *(long *)(uVar1 + 0x28);
  if (lVar2 != 0) {
    FUN_00193600(lVar2 + 0x28,0xffffffffffffffff);
  }
  return param_1;
}

