
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */
/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */

Should_include
gold::Library_base::should_include_member
          (Symbol_table *symtab,Layout *layout,char *sym_name,Symbol **symp,string *why,
          char **tmpbufp,size_t *tmpbuflen)

{
  int iVar1;
  Symbol *pSVar2;
  undefined4 uVar3;
  undefined4 uVar4;
  Should_include SVar5;
  uint uVar6;
  size_type sVar7;
  undefined *puVar8;
  char *pcVar9;
  int iVar10;
  Script_options *pSVar11;
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *paVar12;
  uint uVar13;
  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> local_48;
  __bucket_type *local_30;
  
  iVar1 = (*(code *)PTR_strchr_004c5cb4)(sym_name,0x40);
  if (iVar1 == 0) {
    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,sym_name,0);
LAB_0014d598:
    *symp = pSVar2;
    if (pSVar2 != (Symbol *)0x0) {
      uVar13 = *(uint *)&pSVar2->field_0x28 & 0xe000;
      pcVar9 = sym_name;
      goto LAB_0014d5a8;
    }
  }
  else {
    iVar10 = iVar1 - (int)sym_name;
    uVar13 = iVar10 + 1;
    pcVar9 = *tmpbufp;
    if (*tmpbuflen < uVar13) {
      pcVar9 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar9,uVar13);
      *tmpbufp = pcVar9;
      *tmpbuflen = uVar13;
    }
    (*(code *)PTR_memcpy_004c5ba8)(pcVar9,sym_name,iVar10);
    pcVar9[iVar10] = '\0';
    if (*(char *)(iVar1 + 1) != '@') {
      iVar1 = iVar1 + 1;
LAB_0014d584:
      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,pcVar9,iVar1);
      sym_name = pcVar9;
      goto LAB_0014d598;
    }
    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,pcVar9,iVar1 + 2);
    if (pSVar2 == (Symbol *)0x0) {
LAB_0014d80c:
      iVar1 = 0;
      goto LAB_0014d584;
    }
    uVar6 = *(uint *)&pSVar2->field_0x28;
    uVar13 = uVar6 & 0xe000;
    if (uVar13 == 0) {
      if (((pSVar2->u2_).shndx == 0) && ((int)(uVar6 << 0x1d) < 0)) goto LAB_0014d628;
      goto LAB_0014d80c;
    }
    if (uVar13 != 0x8000) goto LAB_0014d80c;
LAB_0014d628:
    if ((uVar6 << 4) >> 0x1c == 2) goto LAB_0014d80c;
    *symp = pSVar2;
LAB_0014d5a8:
    if (uVar13 == 0) {
      if ((pSVar2->u2_).shndx != 0) {
        return SHOULD_INCLUDE_NO;
      }
      if (-1 < *(int *)&pSVar2->field_0x28 << 0x1d) {
        return SHOULD_INCLUDE_NO;
      }
    }
    else if (uVar13 != 0x8000) {
      return SHOULD_INCLUDE_NO;
    }
    iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(layout->script_options_,pcVar9);
    if (iVar1 != 0) {
      return SHOULD_INCLUDE_NO;
    }
    sym_name = pcVar9;
    if ((uint)(*(int *)&pSVar2->field_0x28 << 4) >> 0x1c != 2) {
      return SHOULD_INCLUDE_YES;
    }
  }
  puVar8 = PTR_parameters_004c19b4;
  iVar1 = *(int *)PTR_parameters_004c19b4;
  iVar10 = *(int *)(iVar1 + 8);
  if (iVar10 != 0) {
    if (*(int *)(iVar10 + 0x42a4) != 0) {
      paVar12 = &local_48.field_2;
      local_48._M_dataplus._M_p = (pointer)paVar12;
      iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name);
      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
      _M_construct<char_const*>(&local_48,sym_name,sym_name + iVar1,0);
      std::
      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
              *)&local_30,(key_type *)(iVar10 + 0x4298));
      if (local_30 == (__bucket_type *)0x0) {
        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
             *)local_48._M_dataplus._M_p == paVar12) {
          iVar1 = *(int *)puVar8;
        }
        else {
          (*(code *)PTR_operator_delete_004c12fc)();
          iVar1 = *(int *)puVar8;
        }
        goto LAB_0014d684;
      }
      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
           *)local_48._M_dataplus._M_p != paVar12) {
        (*(code *)PTR_operator_delete_004c12fc)();
      }
      sVar7 = why->_M_string_length;
      puVar8 = PTR_s__s_004c1a50 + -0x1704;
      uVar4 = 3;
LAB_0014d958:
      (*(code *)PTR__M_replace_004c20a0)(why,0,sVar7,puVar8,uVar4);
      uVar13 = (*(code *)PTR_strlen_004c5b9c)(sym_name);
      if (uVar13 <= 0x7fffffff - why->_M_string_length) {
        (*(code *)PTR__M_append_004c1e68)(why,sym_name,uVar13);
        return SHOULD_INCLUDE_YES;
      }
      goto LAB_0014daf8;
    }
LAB_0014d684:
    iVar1 = *(int *)(iVar1 + 8);
    if (iVar1 != 0) {
      paVar12 = &local_48.field_2;
      if (*(int *)(iVar1 + 0x1348) == 0) {
        pSVar11 = layout->script_options_;
      }
      else {
        local_48._M_dataplus._M_p = (pointer)paVar12;
        iVar10 = (*(code *)PTR_strlen_004c5b9c)(sym_name);
        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
        _M_construct<char_const*>(&local_48,sym_name,sym_name + iVar10,0);
        std::
        _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
        ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
                *)&local_30,(key_type *)(iVar1 + 0x133c));
        if (local_30 != (__bucket_type *)0x0) {
          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
               *)local_48._M_dataplus._M_p != paVar12) {
            (*(code *)PTR_operator_delete_004c12fc)();
          }
          sVar7 = why->_M_string_length;
          puVar8 = PTR_s__s_004c1a50 + -0x1700;
          uVar4 = 0x18;
          goto LAB_0014d958;
        }
        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
             *)local_48._M_dataplus._M_p != paVar12) {
          (*(code *)PTR_operator_delete_004c12fc)();
        }
        pSVar11 = layout->script_options_;
      }
      local_48._M_dataplus._M_p = (pointer)paVar12;
      iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name);
      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
      _M_construct<char_const*>(&local_48,sym_name,sym_name + iVar1,0);
      std::
      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
              *)&local_30,(key_type *)&pSVar11->symbol_references_);
      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
           *)local_48._M_dataplus._M_p != paVar12) {
        (*(code *)PTR_operator_delete_004c12fc)();
      }
      if (local_30 != (__bucket_type *)0x0) {
        iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name);
        uVar4 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);
        uVar3 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);
        (*(code *)PTR_snprintf_004c5a94)(uVar4,iVar1 + 100,uVar3,sym_name);
        uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar4);
        (*(code *)PTR__M_replace_004c20a0)(why,0,why->_M_string_length,uVar4,uVar3);
        (*(code *)PTR_operator_delete___004c21b8)(uVar4);
        return SHOULD_INCLUDE_YES;
      }
      if (*(int *)(*(int *)puVar8 + 8) != 0) {
        if (((*(char *)(*(int *)(*(int *)puVar8 + 8) + 0x3195) != '\0') ||
            (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||
           (iVar1 = (*(code *)PTR_strcmp_004c5a68)(sym_name,iVar1), iVar1 != 0)) {
          return SHOULD_INCLUDE_UNKNOWN;
        }
        sVar7 = why->_M_string_length;
        puVar8 = PTR_s__s_004c1a50 + -0x16bc;
        uVar4 = 0xd;
        goto LAB_0014d958;
      }
    }
  }
  (*(code *)PTR_do_gold_unreachable_004c1a30)
            (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,PTR_s__s_004c1a50 + -0x1514);
LAB_0014daf8:
  SVar5 = (*(code *)PTR___throw_length_error_004c1e74)
                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);
  return SVar5;
}



/* gold::Library_base::should_include_member(gold::Symbol_table*, gold::Layout*, char const*,
   gold::Symbol**, std::string*, char**, unsigned int*) */

undefined4
gold::Library_base::should_include_member
          (Symbol_table *param_1,Layout *param_2,char *param_3,Symbol **param_4,string *param_5,
          char **param_6,uint *param_7)

{
  int iVar1;
  Symbol *pSVar2;
  undefined4 uVar3;
  uint uVar4;
  undefined4 uVar5;
  undefined *puVar6;
  char *pcVar7;
  int iVar8;
  uint uVar9;
  undefined1 *local_48 [2];
  undefined1 auStack_40 [16];
  int local_30 [2];
  
  iVar1 = (*(code *)PTR_strchr_004c5cb4)(param_3,0x40);
  if (iVar1 == 0) {
    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,param_3,0);
LAB_0014d598:
    *param_4 = pSVar2;
    if (pSVar2 != (Symbol *)0x0) {
      uVar9 = *(uint *)(pSVar2 + 0x28) & 0xe000;
      pcVar7 = param_3;
      goto LAB_0014d5a8;
    }
  }
  else {
    iVar8 = iVar1 - (int)param_3;
    uVar9 = iVar8 + 1;
    pcVar7 = *param_6;
    if (*param_7 < uVar9) {
      pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9);
      *param_6 = pcVar7;
      *param_7 = uVar9;
    }
    (*(code *)PTR_memcpy_004c5ba8)(pcVar7,param_3,iVar8);
    pcVar7[iVar8] = '\0';
    if (*(char *)(iVar1 + 1) != '@') {
      iVar1 = iVar1 + 1;
LAB_0014d584:
      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);
      param_3 = pcVar7;
      goto LAB_0014d598;
    }
    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2);
    if (pSVar2 == (Symbol *)0x0) {
LAB_0014d80c:
      iVar1 = 0;
      goto LAB_0014d584;
    }
    uVar4 = *(uint *)(pSVar2 + 0x28);
    uVar9 = uVar4 & 0xe000;
    if (uVar9 == 0) {
      if ((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)) goto LAB_0014d628;
      goto LAB_0014d80c;
    }
    if (uVar9 != 0x8000) goto LAB_0014d80c;
LAB_0014d628:
    if ((uVar4 << 4) >> 0x1c == 2) goto LAB_0014d80c;
    *param_4 = pSVar2;
LAB_0014d5a8:
    if (uVar9 == 0) {
      if (*(int *)(pSVar2 + 0xc) != 0) {
        return 0;
      }
      if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {
        return 0;
      }
    }
    else if (uVar9 != 0x8000) {
      return 0;
    }
    iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(*(undefined4 *)(param_2 + 4),pcVar7);
    if (iVar1 != 0) {
      return 0;
    }
    param_3 = pcVar7;
    if ((uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c != 2) {
      return 1;
    }
  }
  puVar6 = PTR_parameters_004c19b4;
  iVar1 = *(int *)PTR_parameters_004c19b4;
  if (*(int *)(iVar1 + 8) != 0) {
    if (*(int *)(*(int *)(iVar1 + 8) + 0x42a4) != 0) {
      local_48[0] = auStack_40;
      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);
      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);
      std::
      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>
      ::find((string *)local_30);
      if (local_30[0] != 0) {
        if (local_48[0] != auStack_40) {
          (*(code *)PTR_operator_delete_004c12fc)();
        }
        uVar5 = *(undefined4 *)(param_5 + 4);
        puVar6 = PTR_s__s_004c1a50 + -0x1704;
        uVar3 = 3;
        goto LAB_0014d958;
      }
      if (local_48[0] == auStack_40) {
        iVar1 = *(int *)puVar6;
      }
      else {
        (*(code *)PTR_operator_delete_004c12fc)();
        iVar1 = *(int *)puVar6;
      }
    }
    if (*(int *)(iVar1 + 8) == 0) goto LAB_0014dae0;
    if (*(int *)(*(int *)(iVar1 + 8) + 0x1348) != 0) {
      local_48[0] = auStack_40;
      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);
      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);
      std::
      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>
      ::find((string *)local_30);
      if (local_30[0] != 0) {
        if (local_48[0] != auStack_40) {
          (*(code *)PTR_operator_delete_004c12fc)();
        }
        uVar5 = *(undefined4 *)(param_5 + 4);
        puVar6 = PTR_s__s_004c1a50 + -0x1700;
        uVar3 = 0x18;
        goto LAB_0014d958;
      }
      if (local_48[0] != auStack_40) {
        (*(code *)PTR_operator_delete_004c12fc)();
      }
    }
    local_48[0] = auStack_40;
    iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);
    std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);
    std::
    _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>
    ::find((string *)local_30);
    if (local_48[0] != auStack_40) {
      (*(code *)PTR_operator_delete_004c12fc)();
    }
    if (local_30[0] != 0) {
      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);
      uVar3 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);
      uVar5 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);
      (*(code *)PTR_snprintf_004c5a94)(uVar3,iVar1 + 100,uVar5,param_3);
      uVar5 = (*(code *)PTR_strlen_004c5b9c)(uVar3);
      (*(code *)PTR__M_replace_004c20a0)(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5);
      (*(code *)PTR_operator_delete___004c21b8)(uVar3);
      return 1;
    }
    if (*(int *)(*(int *)puVar6 + 8) != 0) {
      if (((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||
          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||
         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)) {
        return 2;
      }
      uVar5 = *(undefined4 *)(param_5 + 4);
      puVar6 = PTR_s__s_004c1a50 + -0x16bc;
      uVar3 = 0xd;
LAB_0014d958:
      (*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3);
      uVar9 = (*(code *)PTR_strlen_004c5b9c)(param_3);
      if (0x7fffffffU - *(int *)(param_5 + 4) < uVar9) {
        uVar3 = (*(code *)PTR___throw_length_error_004c1e74)
                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);
        return uVar3;
      }
      (*(code *)PTR__M_append_004c1e68)(param_5,param_3,uVar9);
      return 1;
    }
  }
LAB_0014dae0:
  uVar3 = (*(code *)PTR_do_gold_unreachable_004c1a30)
                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,
                     PTR_s__s_004c1a50 + -0x1514);
  return uVar3;
}


lui gp,0x38
addiu gp,gp,-0x4288
addu gp,gp,t9
addiu sp,sp,-0x68
lw t9,-0x358c(gp)
sw s6,0x58(sp)
or s6,a1,zero
li a1,0x40
sw gp,0x18(sp)
sw s7,0x5c(sp)
sw s5,0x54(sp)
or s5,a3,zero
sw s4,0x50(sp)
or s4,a0,zero
sw s3,0x4c(sp)
or a0,a2,zero
sw ra,0x64(sp)
or s3,a2,zero
sw s8,0x60(sp)
sw s2,0x48(sp)
sw s1,0x44(sp)
sw s0,0x40(sp)
jalr t9
_lw s7,0x80(sp)
beq v0,zero,0x0014d7d0
_lw gp,0x18(sp)
subu s2,v0,s3
lw v1,0x7c(sp)
or s1,v0,zero
lw v0,0x0(s7)
addiu s8,s2,0x1
sltu v0,v0,s8
bne v0,zero,0x0014d63c
_lw s0,0x0(v1)
lw t9,-0x3698(gp)
or a2,s2,zero
addu s2,s0,s2
or a1,s3,zero
jalr t9
_or a0,s0,zero
li v0,0x40
lw gp,0x18(sp)
sb zero,0x0(s2)
lb v1,0x1(s1)
beq v1,v0,0x0014d5f0
_lw t9,-0x7400(gp)
addiu a2,s1,0x1
or a1,s0,zero
jalr t9
_or a0,s4,zero
lw gp,0x18(sp)
or s1,v0,zero
beq s1,zero,0x0014d664
_sw s1,0x0(s5)
lw v0,0x28(s1)
andi v0,v0,0xe000
bne v0,zero,0x0014d794
_ori v1,zero,0x8000
lw v0,0xc(s1)
beq v0,zero,0x0014d814
_nop
or v0,zero,zero
lw ra,0x64(sp)
lw s8,0x60(sp)
lw s7,0x5c(sp)
lw s6,0x58(sp)
lw s5,0x54(sp)
lw s4,0x50(sp)
lw s3,0x4c(sp)
lw s2,0x48(sp)
lw s1,0x44(sp)
lw s0,0x40(sp)
jr ra
_addiu sp,sp,0x68
addiu a2,s1,0x2
or a1,s0,zero
jalr t9
_or a0,s4,zero
lw gp,0x18(sp)
beq v0,zero,0x0014d808
_or s1,v0,zero
lw v1,0x28(v0)
andi v0,v1,0xe000
beq v0,zero,0x0014d7f4
_ori a0,zero,0x8000
bne v0,a0,0x0014d80c
_lw t9,-0x7400(gp)
ext v1,v1,0x18,0x4
li a0,0x2
beq v1,a0,0x0014d80c
_lw t9,-0x7400(gp)
b 0x0014d5a8
_sw s1,0x0(s5)
lw t9,-0x5e5c(gp)
or a0,s0,zero
jalr t9
_or a1,s8,zero
or s0,v0,zero
lw v0,0x7c(sp)
lw gp,0x18(sp)
sw s0,0x0(v0)
b 0x0014d550
_sw s8,0x0(s7)
lw s3,-0x788c(gp)
lw v0,0x0(s3)
lw s2,0x8(v0)
beq s2,zero,0x0014dae0
_lw a2,-0x77f0(gp)
lw v1,0x42a4(s2)
bne v1,zero,0x0014d8c8
_lw t9,-0x36a4(gp)
lw s2,0x8(v0)
beq s2,zero,0x0014dae0
_lw a2,-0x77f0(gp)
lw v0,0x1348(s2)
bne v0,zero,0x0014d9d8
_addiu s4,sp,0x28
lw s2,0x4(s6)
lw s5,-0x76d8(gp)
addiu s1,sp,0x20
lw s7,-0x6c8c(gp)
addiu s8,sp,0x38
sw s4,0x20(sp)
lw t9,-0x36a4(gp)
jalr t9
_or a0,s0,zero
or a3,zero,zero
addu a2,s0,v0
sll a3,a3,0x18
or a0,s1,zero
or t9,s5,zero
bal 0x0013b748
_or a1,s0,zero
addiu a1,s2,0x40
or a2,s1,zero
or t9,s7,zero
bal 0x0015091c
_or a0,s8,zero
lw a0,0x20(sp)
lw gp,0x18(sp)
beq a0,s4,0x0014d710
_lw s1,0x38(sp)
lw t9,-0x7f44(gp)
jalr t9
_nop
lw gp,0x18(sp)
bne s1,zero,0x0014d82c
_lw t9,-0x36a4(gp)
lw a0,0x0(s3)
lw v0,0x8(a0)
beq v0,zero,0x0014dae0
_lw a2,-0x77f0(gp)
lbu v0,0x3195(v0)
bne v0,zero,0x0014d764
_lw ra,0x64(sp)
lw t9,-0x5e58(gp)
jalr t9
_nop
beq v0,zero,0x0014d760
_lw gp,0x18(sp)
lw t9,-0x37d8(gp)
or a1,v0,zero
jalr t9
_or a0,s0,zero
beq v0,zero,0x0014da78
_lw gp,0x18(sp)
lw ra,0x64(sp)
li v0,0x2
lw s8,0x60(sp)
lw s7,0x5c(sp)
lw s6,0x58(sp)
lw s5,0x54(sp)
lw s4,0x50(sp)
lw s3,0x4c(sp)
lw s2,0x48(sp)
lw s1,0x44(sp)
lw s0,0x40(sp)
jr ra
_addiu sp,sp,0x68
bne v0,v1,0x0014d5c0
_or v0,zero,zero
lw t9,-0x5e54(gp)
or a1,s0,zero
jalr t9
_lw a0,0x4(s6)
bne v0,zero,0x0014d5bc
_lw gp,0x18(sp)
lw v0,0x28(s1)
li v1,0x2
ext v0,v0,0x18,0x4
beq v0,v1,0x0014d668
_lw s3,-0x788c(gp)
b 0x0014d5c0
_li v0,0x1
lw t9,-0x7400(gp)
or a2,zero,zero
or a1,s3,zero
jalr t9
_or a0,s4,zero
or s0,s3,zero
lw gp,0x18(sp)
b 0x0014d598
_or s1,v0,zero
lw a0,0xc(s1)
bne a0,zero,0x0014d808
_ext a1,v1,0x2,0x1
bne a1,zero,0x0014d628
_ext v1,v1,0x18,0x4
lw t9,-0x7400(gp)
b 0x0014d584
_or a2,zero,zero
lw v0,0x28(s1)
ext v0,v0,0x2,0x1
bne v0,zero,0x0014d7a0
_lw t9,-0x5e54(gp)
b 0x0014d5c0
_or v0,zero,zero
jalr t9
_or a0,s0,zero
lw gp,0x18(sp)
addiu s2,v0,0x64
lw t9,-0x7ef4(gp)
jalr t9
_or a0,s2,zero
lw gp,0x18(sp)
or s1,v0,zero
lw a0,-0x77f0(gp)
lw t9,-0x3610(gp)
jalr t9
_addiu a0,a0,-0x16e4
or a3,s0,zero
lw gp,0x18(sp)
or a1,s2,zero
or a2,v0,zero
lw t9,-0x37ac(gp)
jalr t9
_or a0,s1,zero
lw gp,0x18(sp)
lw t9,-0x36a4(gp)
jalr t9
_or a0,s1,zero
or a1,zero,zero
lw v1,0x78(sp)
or a3,s1,zero
lw gp,0x18(sp)
or a0,v1,zero
lw a2,0x4(v1)
lw t9,-0x71a0(gp)
jalr t9
_sw v0,0x10(sp)
lw gp,0x18(sp)
lw t9,-0x7088(gp)
jalr t9
_or a0,s1,zero
b 0x0014d5c0
_li v0,0x1
addiu s4,sp,0x28
or a0,s0,zero
lw s5,-0x76d8(gp)
lw s7,-0x6c8c(gp)
addiu s1,sp,0x20
jalr t9
_sw s4,0x20(sp)
or a3,zero,zero
addu a2,s0,v0
sll a3,a3,0x18
or a1,s0,zero
or t9,s5,zero
bal 0x0013b748
_or a0,s1,zero
addiu a0,sp,0x38
addiu a1,s2,0x4298
or t9,s7,zero
bal 0x0015091c
_or a2,s1,zero
lw v0,0x38(sp)
lw gp,0x18(sp)
beq v0,zero,0x0014da9c
_lw a0,0x20(sp)
beq a0,s4,0x0014d938
_lw t9,-0x7f44(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw v0,0x78(sp)
or a1,zero,zero
lw a3,-0x77f0(gp)
lw t9,-0x71a0(gp)
or a0,v0,zero
lw a2,0x4(v0)
addiu a3,a3,-0x1704
li v0,0x3
jalr t9
_sw v0,0x10(sp)
lw gp,0x18(sp)
lw t9,-0x36a4(gp)
jalr t9
_or a0,s0,zero
lw v1,0x78(sp)
lw a0,0x4(v1)
lui v1,0x7fff
ori v1,v1,0xffff
subu v1,v1,a0
sltu v1,v1,v0
bne v1,zero,0x0014daf8
_lw gp,0x18(sp)
lw t9,-0x73d8(gp)
or a1,s0,zero
lw a0,0x78(sp)
jalr t9
_or a2,v0,zero
li v0,0x1
lw ra,0x64(sp)
lw s8,0x60(sp)
lw s7,0x5c(sp)
lw s6,0x58(sp)
lw s5,0x54(sp)
lw s4,0x50(sp)
lw s3,0x4c(sp)
lw s2,0x48(sp)
lw s1,0x44(sp)
lw s0,0x40(sp)
jr ra
_addiu sp,sp,0x68
lw t9,-0x36a4(gp)
or a0,s0,zero
lw s5,-0x76d8(gp)
lw s7,-0x6c8c(gp)
addiu s1,sp,0x20
sw s4,0x20(sp)
jalr t9
_addiu s8,sp,0x38
or a3,zero,zero
addu a2,s0,v0
sll a3,a3,0x18
or a1,s0,zero
or t9,s5,zero
bal 0x0013b748
_or a0,s1,zero
addiu a1,s2,0x133c
or a0,s8,zero
or t9,s7,zero
bal 0x0015091c
_or a2,s1,zero
lw v0,0x38(sp)
lw gp,0x18(sp)
beq v0,zero,0x0014dab8
_lw a0,0x20(sp)
bne a0,s4,0x0014da64
_nop
lw v0,0x78(sp)
or a1,zero,zero
lw a3,-0x77f0(gp)
lw t9,-0x71a0(gp)
or a0,v0,zero
lw a2,0x4(v0)
addiu a3,a3,-0x1700
b 0x0014d958
_li v0,0x18
lw t9,-0x7f44(gp)
jalr t9
_nop
b 0x0014da40
_lw gp,0x18(sp)
lw v0,0x78(sp)
or a1,zero,zero
lw a3,-0x77f0(gp)
lw t9,-0x71a0(gp)
or a0,v0,zero
lw a2,0x4(v0)
addiu a3,a3,-0x16bc
b 0x0014d958
_li v0,0xd
beq a0,s4,0x0014dad8
_lw t9,-0x7f44(gp)
jalr t9
_nop
lw gp,0x18(sp)
b 0x0014d684
_lw v0,0x0(s3)
beq a0,s4,0x0014dacc
_lw t9,-0x7f44(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw s2,0x4(s6)
b 0x0014d6b4
_sw s4,0x20(sp)
b 0x0014d684
_lw v0,0x0(s3)
li a1,0x5c
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,-0x1514
jalr t9
_addiu a0,a0,-0x9b8
lw a0,-0x7fc4(gp)
lw t9,-0x73cc(gp)
jalr t9
_addiu a0,a0,0x446c
(translation_unit "/* gold::Library_base::should_include_member(gold::Symbol_table*, gold::Layout*, char const*,\n   gold::Symbol**, std::string*, char**, unsigned int*) */\n\nundefined4\ngold::Library_base::should_include_member\n          (Symbol_table *param_1,Layout *param_2,char *param_3,Symbol **param_4,string *param_5,\n          char **param_6,uint *param_7)\n\n{\n  int iVar1;\n  Symbol *pSVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined *puVar6;\n  char *pcVar7;\n  int iVar8;\n  uint uVar9;\n  undefined1 *local_48 [2];\n  undefined1 auStack_40 [16];\n  int local_30 [2];\n  \n  iVar1 = (*(code *)PTR_strchr_004c5cb4)(param_3,0x40);\n  if (iVar1 == 0) {\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,param_3,0);\nLAB_0014d598:\n    *param_4 = pSVar2;\n    if (pSVar2 != (Symbol *)0x0) {\n      uVar9 = *(uint *)(pSVar2 + 0x28) & 0xe000;\n      pcVar7 = param_3;\n      goto LAB_0014d5a8;\n    }\n  }\n  else {\n    iVar8 = iVar1 - (int)param_3;\n    uVar9 = iVar8 + 1;\n    pcVar7 = *param_6;\n    if (*param_7 < uVar9) {\n      pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9);\n      *param_6 = pcVar7;\n      *param_7 = uVar9;\n    }\n    (*(code *)PTR_memcpy_004c5ba8)(pcVar7,param_3,iVar8);\n    pcVar7[iVar8] = '\0';\n    if (*(char *)(iVar1 + 1) != '@') {\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);\n      param_3 = pcVar7;\n      goto LAB_0014d598;\n    }\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2);\n    if (pSVar2 == (Symbol *)0x0) {\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }\n    uVar4 = *(uint *)(pSVar2 + 0x28);\n    uVar9 = uVar4 & 0xe000;\n    if (uVar9 == 0) {\n      if ((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }\n    if (uVar9 != 0x8000) goto LAB_0014d80c;\nLAB_0014d628:\n    if ((uVar4 << 4) >> 0x1c == 2) goto LAB_0014d80c;\n    *param_4 = pSVar2;\nLAB_0014d5a8:\n    if (uVar9 == 0) {\n      if (*(int *)(pSVar2 + 0xc) != 0) {\n        return 0;\n      }\n      if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {\n        return 0;\n      }\n    }\n    else if (uVar9 != 0x8000) {\n      return 0;\n    }\n    iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(*(undefined4 *)(param_2 + 4),pcVar7);\n    if (iVar1 != 0) {\n      return 0;\n    }\n    param_3 = pcVar7;\n    if ((uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c != 2) {\n      return 1;\n    }\n  }\n  puVar6 = PTR_parameters_004c19b4;\n  iVar1 = *(int *)PTR_parameters_004c19b4;\n  if (*(int *)(iVar1 + 8) != 0) {\n    if (*(int *)(*(int *)(iVar1 + 8) + 0x42a4) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1704;\n        uVar3 = 3;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] == auStack_40) {\n        iVar1 = *(int *)puVar6;\n      }\n      else {\n        (*(code *)PTR_operator_delete_004c12fc)();\n        iVar1 = *(int *)puVar6;\n      }\n    }\n    if (*(int *)(iVar1 + 8) == 0) goto LAB_0014dae0;\n    if (*(int *)(*(int *)(iVar1 + 8) + 0x1348) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1700;\n        uVar3 = 0x18;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] != auStack_40) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }\n    local_48[0] = auStack_40;\n    iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n    std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n    std::\n    _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n    ::find((string *)local_30);\n    if (local_48[0] != auStack_40) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }\n    if (local_30[0] != 0) {\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      uVar3 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);\n      uVar5 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);\n      (*(code *)PTR_snprintf_004c5a94)(uVar3,iVar1 + 100,uVar5,param_3);\n      uVar5 = (*(code *)PTR_strlen_004c5b9c)(uVar3);\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5);\n      (*(code *)PTR_operator_delete___004c21b8)(uVar3);\n      return 1;\n    }\n    if (*(int *)(*(int *)puVar6 + 8) != 0) {\n      if (((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)) {\n        return 2;\n      }\n      uVar5 = *(undefined4 *)(param_5 + 4);\n      puVar6 = PTR_s__s_004c1a50 + -0x16bc;\n      uVar3 = 0xd;\nLAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3);\n      uVar9 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      if (0x7fffffffU - *(int *)(param_5 + 4) < uVar9) {\n        uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n        return uVar3;\n      }\n      (*(code *)PTR__M_append_004c1e68)(param_5,param_3,uVar9);\n      return 1;\n    }\n  }\nLAB_0014dae0:\n  uVar3 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                     PTR_s__s_004c1a50 + -0x1514);\n  return uVar3;\n}\n\n" comment (function_definition "undefined4\ngold::Library_base::should_include_member\n          (Symbol_table *param_1,Layout *param_2,char *param_3,Symbol **param_4,string *param_5,\n          char **param_6,uint *param_7)\n\n{\n  int iVar1;\n  Symbol *pSVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined *puVar6;\n  char *pcVar7;\n  int iVar8;\n  uint uVar9;\n  undefined1 *local_48 [2];\n  undefined1 auStack_40 [16];\n  int local_30 [2];\n  \n  iVar1 = (*(code *)PTR_strchr_004c5cb4)(param_3,0x40);\n  if (iVar1 == 0) {\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,param_3,0);\nLAB_0014d598:\n    *param_4 = pSVar2;\n    if (pSVar2 != (Symbol *)0x0) {\n      uVar9 = *(uint *)(pSVar2 + 0x28) & 0xe000;\n      pcVar7 = param_3;\n      goto LAB_0014d5a8;\n    }\n  }\n  else {\n    iVar8 = iVar1 - (int)param_3;\n    uVar9 = iVar8 + 1;\n    pcVar7 = *param_6;\n    if (*param_7 < uVar9) {\n      pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9);\n      *param_6 = pcVar7;\n      *param_7 = uVar9;\n    }\n    (*(code *)PTR_memcpy_004c5ba8)(pcVar7,param_3,iVar8);\n    pcVar7[iVar8] = '\0';\n    if (*(char *)(iVar1 + 1) != '@') {\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);\n      param_3 = pcVar7;\n      goto LAB_0014d598;\n    }\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2);\n    if (pSVar2 == (Symbol *)0x0) {\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }\n    uVar4 = *(uint *)(pSVar2 + 0x28);\n    uVar9 = uVar4 & 0xe000;\n    if (uVar9 == 0) {\n      if ((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }\n    if (uVar9 != 0x8000) goto LAB_0014d80c;\nLAB_0014d628:\n    if ((uVar4 << 4) >> 0x1c == 2) goto LAB_0014d80c;\n    *param_4 = pSVar2;\nLAB_0014d5a8:\n    if (uVar9 == 0) {\n      if (*(int *)(pSVar2 + 0xc) != 0) {\n        return 0;\n      }\n      if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {\n        return 0;\n      }\n    }\n    else if (uVar9 != 0x8000) {\n      return 0;\n    }\n    iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(*(undefined4 *)(param_2 + 4),pcVar7);\n    if (iVar1 != 0) {\n      return 0;\n    }\n    param_3 = pcVar7;\n    if ((uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c != 2) {\n      return 1;\n    }\n  }\n  puVar6 = PTR_parameters_004c19b4;\n  iVar1 = *(int *)PTR_parameters_004c19b4;\n  if (*(int *)(iVar1 + 8) != 0) {\n    if (*(int *)(*(int *)(iVar1 + 8) + 0x42a4) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1704;\n        uVar3 = 3;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] == auStack_40) {\n        iVar1 = *(int *)puVar6;\n      }\n      else {\n        (*(code *)PTR_operator_delete_004c12fc)();\n        iVar1 = *(int *)puVar6;\n      }\n    }\n    if (*(int *)(iVar1 + 8) == 0) goto LAB_0014dae0;\n    if (*(int *)(*(int *)(iVar1 + 8) + 0x1348) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1700;\n        uVar3 = 0x18;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] != auStack_40) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }\n    local_48[0] = auStack_40;\n    iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n    std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n    std::\n    _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n    ::find((string *)local_30);\n    if (local_48[0] != auStack_40) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }\n    if (local_30[0] != 0) {\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      uVar3 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);\n      uVar5 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);\n      (*(code *)PTR_snprintf_004c5a94)(uVar3,iVar1 + 100,uVar5,param_3);\n      uVar5 = (*(code *)PTR_strlen_004c5b9c)(uVar3);\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5);\n      (*(code *)PTR_operator_delete___004c21b8)(uVar3);\n      return 1;\n    }\n    if (*(int *)(*(int *)puVar6 + 8) != 0) {\n      if (((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)) {\n        return 2;\n      }\n      uVar5 = *(undefined4 *)(param_5 + 4);\n      puVar6 = PTR_s__s_004c1a50 + -0x16bc;\n      uVar3 = 0xd;\nLAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3);\n      uVar9 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      if (0x7fffffffU - *(int *)(param_5 + 4) < uVar9) {\n        uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n        return uVar3;\n      }\n      (*(code *)PTR__M_append_004c1e68)(param_5,param_3,uVar9);\n      return 1;\n    }\n  }\nLAB_0014dae0:\n  uVar3 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                     PTR_s__s_004c1a50 + -0x1514);\n  return uVar3;\n}" type_identifier (ERROR "gold::Library_base::" identifier : : identifier : :) (function_declarator "should_include_member\n          (Symbol_table *param_1,Layout *param_2,char *param_3,Symbol **param_4,string *param_5,\n          char **param_6,uint *param_7)" identifier (parameter_list "(Symbol_table *param_1,Layout *param_2,char *param_3,Symbol **param_4,string *param_5,\n          char **param_6,uint *param_7)" ( (parameter_declaration "Symbol_table *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "Layout *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "char *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "Symbol **param_4" type_identifier (pointer_declarator "**param_4" * (pointer_declarator "*param_4" * identifier))) , (parameter_declaration "string *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "char **param_6" primitive_type (pointer_declarator "**param_6" * (pointer_declarator "*param_6" * identifier))) , (parameter_declaration "uint *param_7" type_identifier (pointer_declarator "*param_7" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  Symbol *pSVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined *puVar6;\n  char *pcVar7;\n  int iVar8;\n  uint uVar9;\n  undefined1 *local_48 [2];\n  undefined1 auStack_40 [16];\n  int local_30 [2];\n  \n  iVar1 = (*(code *)PTR_strchr_004c5cb4)(param_3,0x40);\n  if (iVar1 == 0) {\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,param_3,0);\nLAB_0014d598:\n    *param_4 = pSVar2;\n    if (pSVar2 != (Symbol *)0x0) {\n      uVar9 = *(uint *)(pSVar2 + 0x28) & 0xe000;\n      pcVar7 = param_3;\n      goto LAB_0014d5a8;\n    }\n  }\n  else {\n    iVar8 = iVar1 - (int)param_3;\n    uVar9 = iVar8 + 1;\n    pcVar7 = *param_6;\n    if (*param_7 < uVar9) {\n      pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9);\n      *param_6 = pcVar7;\n      *param_7 = uVar9;\n    }\n    (*(code *)PTR_memcpy_004c5ba8)(pcVar7,param_3,iVar8);\n    pcVar7[iVar8] = '\0';\n    if (*(char *)(iVar1 + 1) != '@') {\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);\n      param_3 = pcVar7;\n      goto LAB_0014d598;\n    }\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2);\n    if (pSVar2 == (Symbol *)0x0) {\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }\n    uVar4 = *(uint *)(pSVar2 + 0x28);\n    uVar9 = uVar4 & 0xe000;\n    if (uVar9 == 0) {\n      if ((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }\n    if (uVar9 != 0x8000) goto LAB_0014d80c;\nLAB_0014d628:\n    if ((uVar4 << 4) >> 0x1c == 2) goto LAB_0014d80c;\n    *param_4 = pSVar2;\nLAB_0014d5a8:\n    if (uVar9 == 0) {\n      if (*(int *)(pSVar2 + 0xc) != 0) {\n        return 0;\n      }\n      if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {\n        return 0;\n      }\n    }\n    else if (uVar9 != 0x8000) {\n      return 0;\n    }\n    iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(*(undefined4 *)(param_2 + 4),pcVar7);\n    if (iVar1 != 0) {\n      return 0;\n    }\n    param_3 = pcVar7;\n    if ((uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c != 2) {\n      return 1;\n    }\n  }\n  puVar6 = PTR_parameters_004c19b4;\n  iVar1 = *(int *)PTR_parameters_004c19b4;\n  if (*(int *)(iVar1 + 8) != 0) {\n    if (*(int *)(*(int *)(iVar1 + 8) + 0x42a4) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1704;\n        uVar3 = 3;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] == auStack_40) {\n        iVar1 = *(int *)puVar6;\n      }\n      else {\n        (*(code *)PTR_operator_delete_004c12fc)();\n        iVar1 = *(int *)puVar6;\n      }\n    }\n    if (*(int *)(iVar1 + 8) == 0) goto LAB_0014dae0;\n    if (*(int *)(*(int *)(iVar1 + 8) + 0x1348) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1700;\n        uVar3 = 0x18;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] != auStack_40) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }\n    local_48[0] = auStack_40;\n    iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n    std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n    std::\n    _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n    ::find((string *)local_30);\n    if (local_48[0] != auStack_40) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }\n    if (local_30[0] != 0) {\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      uVar3 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);\n      uVar5 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);\n      (*(code *)PTR_snprintf_004c5a94)(uVar3,iVar1 + 100,uVar5,param_3);\n      uVar5 = (*(code *)PTR_strlen_004c5b9c)(uVar3);\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5);\n      (*(code *)PTR_operator_delete___004c21b8)(uVar3);\n      return 1;\n    }\n    if (*(int *)(*(int *)puVar6 + 8) != 0) {\n      if (((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)) {\n        return 2;\n      }\n      uVar5 = *(undefined4 *)(param_5 + 4);\n      puVar6 = PTR_s__s_004c1a50 + -0x16bc;\n      uVar3 = 0xd;\nLAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3);\n      uVar9 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      if (0x7fffffffU - *(int *)(param_5 + 4) < uVar9) {\n        uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n        return uVar3;\n      }\n      (*(code *)PTR__M_append_004c1e68)(param_5,param_3,uVar9);\n      return 1;\n    }\n  }\nLAB_0014dae0:\n  uVar3 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                     PTR_s__s_004c1a50 + -0x1514);\n  return uVar3;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "Symbol *pSVar2;" type_identifier (pointer_declarator "*pSVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "undefined1 *local_48 [2];" type_identifier (pointer_declarator "*local_48 [2]" * (array_declarator "local_48 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 auStack_40 [16];" type_identifier (array_declarator "auStack_40 [16]" identifier [ number_literal ]) ;) (declaration "int local_30 [2];" primitive_type (array_declarator "local_30 [2]" identifier [ number_literal ]) ;) (expression_statement "iVar1 = (*(code *)PTR_strchr_004c5cb4)(param_3,0x40);" (assignment_expression "iVar1 = (*(code *)PTR_strchr_004c5cb4)(param_3,0x40)" identifier = (call_expression "(*(code *)PTR_strchr_004c5cb4)(param_3,0x40)" (parenthesized_expression "(*(code *)PTR_strchr_004c5cb4)" ( (pointer_expression "*(code *)PTR_strchr_004c5cb4" * (cast_expression "(code *)PTR_strchr_004c5cb4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3,0x40)" ( identifier , number_literal )))) ;) (if_statement "if (iVar1 == 0) {\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,param_3,0);\nLAB_0014d598:\n    *param_4 = pSVar2;\n    if (pSVar2 != (Symbol *)0x0) {\n      uVar9 = *(uint *)(pSVar2 + 0x28) & 0xe000;\n      pcVar7 = param_3;\n      goto LAB_0014d5a8;\n    }\n  }\n  else {\n    iVar8 = iVar1 - (int)param_3;\n    uVar9 = iVar8 + 1;\n    pcVar7 = *param_6;\n    if (*param_7 < uVar9) {\n      pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9);\n      *param_6 = pcVar7;\n      *param_7 = uVar9;\n    }\n    (*(code *)PTR_memcpy_004c5ba8)(pcVar7,param_3,iVar8);\n    pcVar7[iVar8] = '\0';\n    if (*(char *)(iVar1 + 1) != '@') {\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);\n      param_3 = pcVar7;\n      goto LAB_0014d598;\n    }\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2);\n    if (pSVar2 == (Symbol *)0x0) {\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }\n    uVar4 = *(uint *)(pSVar2 + 0x28);\n    uVar9 = uVar4 & 0xe000;\n    if (uVar9 == 0) {\n      if ((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }\n    if (uVar9 != 0x8000) goto LAB_0014d80c;\nLAB_0014d628:\n    if ((uVar4 << 4) >> 0x1c == 2) goto LAB_0014d80c;\n    *param_4 = pSVar2;\nLAB_0014d5a8:\n    if (uVar9 == 0) {\n      if (*(int *)(pSVar2 + 0xc) != 0) {\n        return 0;\n      }\n      if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {\n        return 0;\n      }\n    }\n    else if (uVar9 != 0x8000) {\n      return 0;\n    }\n    iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(*(undefined4 *)(param_2 + 4),pcVar7);\n    if (iVar1 != 0) {\n      return 0;\n    }\n    param_3 = pcVar7;\n    if ((uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c != 2) {\n      return 1;\n    }\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,param_3,0);\nLAB_0014d598:\n    *param_4 = pSVar2;\n    if (pSVar2 != (Symbol *)0x0) {\n      uVar9 = *(uint *)(pSVar2 + 0x28) & 0xe000;\n      pcVar7 = param_3;\n      goto LAB_0014d5a8;\n    }\n  }" { (expression_statement "pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,param_3,0);" (assignment_expression "pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,param_3,0)" identifier = (cast_expression "(Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,param_3,0)" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_lookup_004c1e40)(param_1,param_3,0)" (parenthesized_expression "(*(code *)PTR_lookup_004c1e40)" ( (pointer_expression "*(code *)PTR_lookup_004c1e40" * (cast_expression "(code *)PTR_lookup_004c1e40" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_3,0)" ( identifier , identifier , number_literal ))))) ;) (labeled_statement "LAB_0014d598:\n    *param_4 = pSVar2;" statement_identifier : (expression_statement "*param_4 = pSVar2;" (assignment_expression "*param_4 = pSVar2" (pointer_expression "*param_4" * identifier) = identifier) ;)) (if_statement "if (pSVar2 != (Symbol *)0x0) {\n      uVar9 = *(uint *)(pSVar2 + 0x28) & 0xe000;\n      pcVar7 = param_3;\n      goto LAB_0014d5a8;\n    }" if (parenthesized_expression "(pSVar2 != (Symbol *)0x0)" ( (binary_expression "pSVar2 != (Symbol *)0x0" identifier != (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar9 = *(uint *)(pSVar2 + 0x28) & 0xe000;\n      pcVar7 = param_3;\n      goto LAB_0014d5a8;\n    }" { (expression_statement "uVar9 = *(uint *)(pSVar2 + 0x28) & 0xe000;" (assignment_expression "uVar9 = *(uint *)(pSVar2 + 0x28) & 0xe000" identifier = (binary_expression "*(uint *)(pSVar2 + 0x28) & 0xe000" (pointer_expression "*(uint *)(pSVar2 + 0x28)" * (cast_expression "(uint *)(pSVar2 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar2 + 0x28)" ( (binary_expression "pSVar2 + 0x28" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "pcVar7 = param_3;" (assignment_expression "pcVar7 = param_3" identifier = identifier) ;) (goto_statement "goto LAB_0014d5a8;" goto statement_identifier ;) })) }) (else_clause "else {\n    iVar8 = iVar1 - (int)param_3;\n    uVar9 = iVar8 + 1;\n    pcVar7 = *param_6;\n    if (*param_7 < uVar9) {\n      pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9);\n      *param_6 = pcVar7;\n      *param_7 = uVar9;\n    }\n    (*(code *)PTR_memcpy_004c5ba8)(pcVar7,param_3,iVar8);\n    pcVar7[iVar8] = '\0';\n    if (*(char *)(iVar1 + 1) != '@') {\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);\n      param_3 = pcVar7;\n      goto LAB_0014d598;\n    }\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2);\n    if (pSVar2 == (Symbol *)0x0) {\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }\n    uVar4 = *(uint *)(pSVar2 + 0x28);\n    uVar9 = uVar4 & 0xe000;\n    if (uVar9 == 0) {\n      if ((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }\n    if (uVar9 != 0x8000) goto LAB_0014d80c;\nLAB_0014d628:\n    if ((uVar4 << 4) >> 0x1c == 2) goto LAB_0014d80c;\n    *param_4 = pSVar2;\nLAB_0014d5a8:\n    if (uVar9 == 0) {\n      if (*(int *)(pSVar2 + 0xc) != 0) {\n        return 0;\n      }\n      if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {\n        return 0;\n      }\n    }\n    else if (uVar9 != 0x8000) {\n      return 0;\n    }\n    iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(*(undefined4 *)(param_2 + 4),pcVar7);\n    if (iVar1 != 0) {\n      return 0;\n    }\n    param_3 = pcVar7;\n    if ((uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c != 2) {\n      return 1;\n    }\n  }" else (compound_statement "{\n    iVar8 = iVar1 - (int)param_3;\n    uVar9 = iVar8 + 1;\n    pcVar7 = *param_6;\n    if (*param_7 < uVar9) {\n      pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9);\n      *param_6 = pcVar7;\n      *param_7 = uVar9;\n    }\n    (*(code *)PTR_memcpy_004c5ba8)(pcVar7,param_3,iVar8);\n    pcVar7[iVar8] = '\0';\n    if (*(char *)(iVar1 + 1) != '@') {\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);\n      param_3 = pcVar7;\n      goto LAB_0014d598;\n    }\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2);\n    if (pSVar2 == (Symbol *)0x0) {\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }\n    uVar4 = *(uint *)(pSVar2 + 0x28);\n    uVar9 = uVar4 & 0xe000;\n    if (uVar9 == 0) {\n      if ((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }\n    if (uVar9 != 0x8000) goto LAB_0014d80c;\nLAB_0014d628:\n    if ((uVar4 << 4) >> 0x1c == 2) goto LAB_0014d80c;\n    *param_4 = pSVar2;\nLAB_0014d5a8:\n    if (uVar9 == 0) {\n      if (*(int *)(pSVar2 + 0xc) != 0) {\n        return 0;\n      }\n      if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {\n        return 0;\n      }\n    }\n    else if (uVar9 != 0x8000) {\n      return 0;\n    }\n    iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(*(undefined4 *)(param_2 + 4),pcVar7);\n    if (iVar1 != 0) {\n      return 0;\n    }\n    param_3 = pcVar7;\n    if ((uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c != 2) {\n      return 1;\n    }\n  }" { (expression_statement "iVar8 = iVar1 - (int)param_3;" (assignment_expression "iVar8 = iVar1 - (int)param_3" identifier = (binary_expression "iVar1 - (int)param_3" identifier - (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uVar9 = iVar8 + 1;" (assignment_expression "uVar9 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pcVar7 = *param_6;" (assignment_expression "pcVar7 = *param_6" identifier = (pointer_expression "*param_6" * identifier)) ;) (if_statement "if (*param_7 < uVar9) {\n      pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9);\n      *param_6 = pcVar7;\n      *param_7 = uVar9;\n    }" if (parenthesized_expression "(*param_7 < uVar9)" ( (binary_expression "*param_7 < uVar9" (pointer_expression "*param_7" * identifier) < identifier) )) (compound_statement "{\n      pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9);\n      *param_6 = pcVar7;\n      *param_7 = uVar9;\n    }" { (expression_statement "pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9);" (assignment_expression "pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9)" identifier = (cast_expression "(char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9)" (parenthesized_expression "(*(code *)PTR_xrealloc_004c33e4)" ( (pointer_expression "*(code *)PTR_xrealloc_004c33e4" * (cast_expression "(code *)PTR_xrealloc_004c33e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar7,uVar9)" ( identifier , identifier ))))) ;) (expression_statement "*param_6 = pcVar7;" (assignment_expression "*param_6 = pcVar7" (pointer_expression "*param_6" * identifier) = identifier) ;) (expression_statement "*param_7 = uVar9;" (assignment_expression "*param_7 = uVar9" (pointer_expression "*param_7" * identifier) = identifier) ;) })) (expression_statement "(*(code *)PTR_memcpy_004c5ba8)(pcVar7,param_3,iVar8);" (call_expression "(*(code *)PTR_memcpy_004c5ba8)(pcVar7,param_3,iVar8)" (parenthesized_expression "(*(code *)PTR_memcpy_004c5ba8)" ( (pointer_expression "*(code *)PTR_memcpy_004c5ba8" * (cast_expression "(code *)PTR_memcpy_004c5ba8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar7,param_3,iVar8)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar7[iVar8] = '\0';" (assignment_expression "pcVar7[iVar8] = '\0'" (subscript_expression "pcVar7[iVar8]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (*(char *)(iVar1 + 1) != '@') {\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);\n      param_3 = pcVar7;\n      goto LAB_0014d598;\n    }" if (parenthesized_expression "(*(char *)(iVar1 + 1) != '@')" ( (binary_expression "*(char *)(iVar1 + 1) != '@'" (pointer_expression "*(char *)(iVar1 + 1)" * (cast_expression "(char *)(iVar1 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 1)" ( (binary_expression "iVar1 + 1" identifier + number_literal) )))) != (char_literal "'@'" ' character ')) )) (compound_statement "{\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);\n      param_3 = pcVar7;\n      goto LAB_0014d598;\n    }" { (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" identifier = (binary_expression "iVar1 + 1" identifier + number_literal)) ;) (labeled_statement "LAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);" statement_identifier : (expression_statement "pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);" (assignment_expression "pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1)" identifier = (cast_expression "(Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1)" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1)" (parenthesized_expression "(*(code *)PTR_lookup_004c1e40)" ( (pointer_expression "*(code *)PTR_lookup_004c1e40" * (cast_expression "(code *)PTR_lookup_004c1e40" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,pcVar7,iVar1)" ( identifier , identifier , identifier ))))) ;)) (expression_statement "param_3 = pcVar7;" (assignment_expression "param_3 = pcVar7" identifier = identifier) ;) (goto_statement "goto LAB_0014d598;" goto statement_identifier ;) })) (expression_statement "pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2);" (assignment_expression "pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2)" identifier = (cast_expression "(Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2)" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2)" (parenthesized_expression "(*(code *)PTR_lookup_004c1e40)" ( (pointer_expression "*(code *)PTR_lookup_004c1e40" * (cast_expression "(code *)PTR_lookup_004c1e40" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,pcVar7,iVar1 + 2)" ( identifier , identifier , (binary_expression "iVar1 + 2" identifier + number_literal) ))))) ;) (if_statement "if (pSVar2 == (Symbol *)0x0) {\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }" if (parenthesized_expression "(pSVar2 == (Symbol *)0x0)" ( (binary_expression "pSVar2 == (Symbol *)0x0" identifier == (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }" { (labeled_statement "LAB_0014d80c:\n      iVar1 = 0;" statement_identifier : (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;)) (goto_statement "goto LAB_0014d584;" goto statement_identifier ;) })) (expression_statement "uVar4 = *(uint *)(pSVar2 + 0x28);" (assignment_expression "uVar4 = *(uint *)(pSVar2 + 0x28)" identifier = (pointer_expression "*(uint *)(pSVar2 + 0x28)" * (cast_expression "(uint *)(pSVar2 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar2 + 0x28)" ( (binary_expression "pSVar2 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = uVar4 & 0xe000;" (assignment_expression "uVar9 = uVar4 & 0xe000" identifier = (binary_expression "uVar4 & 0xe000" identifier & number_literal)) ;) (if_statement "if (uVar9 == 0) {\n      if ((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }" if (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }" { (if_statement "if ((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)) goto LAB_0014d628;" if (parenthesized_expression "((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0))" ( (binary_expression "(*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)" (parenthesized_expression "(*(int *)(pSVar2 + 0xc) == 0)" ( (binary_expression "*(int *)(pSVar2 + 0xc) == 0" (pointer_expression "*(int *)(pSVar2 + 0xc)" * (cast_expression "(int *)(pSVar2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar2 + 0xc)" ( (binary_expression "pSVar2 + 0xc" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "((int)(uVar4 << 0x1d) < 0)" ( (binary_expression "(int)(uVar4 << 0x1d) < 0" (cast_expression "(int)(uVar4 << 0x1d)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar4 << 0x1d)" ( (binary_expression "uVar4 << 0x1d" identifier << number_literal) ))) < number_literal) ))) )) (goto_statement "goto LAB_0014d628;" goto statement_identifier ;)) (goto_statement "goto LAB_0014d80c;" goto statement_identifier ;) })) (if_statement "if (uVar9 != 0x8000) goto LAB_0014d80c;" if (parenthesized_expression "(uVar9 != 0x8000)" ( (binary_expression "uVar9 != 0x8000" identifier != number_literal) )) (goto_statement "goto LAB_0014d80c;" goto statement_identifier ;)) (labeled_statement "LAB_0014d628:\n    if ((uVar4 << 4) >> 0x1c == 2) goto LAB_0014d80c;" statement_identifier : (if_statement "if ((uVar4 << 4) >> 0x1c == 2) goto LAB_0014d80c;" if (parenthesized_expression "((uVar4 << 4) >> 0x1c == 2)" ( (binary_expression "(uVar4 << 4) >> 0x1c == 2" (binary_expression "(uVar4 << 4) >> 0x1c" (parenthesized_expression "(uVar4 << 4)" ( (binary_expression "uVar4 << 4" identifier << number_literal) )) >> number_literal) == number_literal) )) (goto_statement "goto LAB_0014d80c;" goto statement_identifier ;))) (expression_statement "*param_4 = pSVar2;" (assignment_expression "*param_4 = pSVar2" (pointer_expression "*param_4" * identifier) = identifier) ;) (labeled_statement "LAB_0014d5a8:\n    if (uVar9 == 0) {\n      if (*(int *)(pSVar2 + 0xc) != 0) {\n        return 0;\n      }\n      if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {\n        return 0;\n      }\n    }\n    else if (uVar9 != 0x8000) {\n      return 0;\n    }" statement_identifier : (if_statement "if (uVar9 == 0) {\n      if (*(int *)(pSVar2 + 0xc) != 0) {\n        return 0;\n      }\n      if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {\n        return 0;\n      }\n    }\n    else if (uVar9 != 0x8000) {\n      return 0;\n    }" if (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      if (*(int *)(pSVar2 + 0xc) != 0) {\n        return 0;\n      }\n      if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {\n        return 0;\n      }\n    }" { (if_statement "if (*(int *)(pSVar2 + 0xc) != 0) {\n        return 0;\n      }" if (parenthesized_expression "(*(int *)(pSVar2 + 0xc) != 0)" ( (binary_expression "*(int *)(pSVar2 + 0xc) != 0" (pointer_expression "*(int *)(pSVar2 + 0xc)" * (cast_expression "(int *)(pSVar2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar2 + 0xc)" ( (binary_expression "pSVar2 + 0xc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {\n        return 0;\n      }" if (parenthesized_expression "(-1 < *(int *)(pSVar2 + 0x28) << 0x1d)" ( (binary_expression "-1 < *(int *)(pSVar2 + 0x28) << 0x1d" number_literal < (binary_expression "*(int *)(pSVar2 + 0x28) << 0x1d" (pointer_expression "*(int *)(pSVar2 + 0x28)" * (cast_expression "(int *)(pSVar2 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar2 + 0x28)" ( (binary_expression "pSVar2 + 0x28" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) }) (else_clause "else if (uVar9 != 0x8000) {\n      return 0;\n    }" else (if_statement "if (uVar9 != 0x8000) {\n      return 0;\n    }" if (parenthesized_expression "(uVar9 != 0x8000)" ( (binary_expression "uVar9 != 0x8000" identifier != number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) }))))) (expression_statement "iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(*(undefined4 *)(param_2 + 4),pcVar7);" (assignment_expression "iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(*(undefined4 *)(param_2 + 4),pcVar7)" identifier = (call_expression "(*(code *)PTR_is_pending_assignment_004c33ec)(*(undefined4 *)(param_2 + 4),pcVar7)" (parenthesized_expression "(*(code *)PTR_is_pending_assignment_004c33ec)" ( (pointer_expression "*(code *)PTR_is_pending_assignment_004c33ec" * (cast_expression "(code *)PTR_is_pending_assignment_004c33ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_2 + 4),pcVar7)" ( (pointer_expression "*(undefined4 *)(param_2 + 4)" * (cast_expression "(undefined4 *)(param_2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) )))) , identifier )))) ;) (if_statement "if (iVar1 != 0) {\n      return 0;\n    }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "param_3 = pcVar7;" (assignment_expression "param_3 = pcVar7" identifier = identifier) ;) (if_statement "if ((uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c != 2) {\n      return 1;\n    }" if (parenthesized_expression "((uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c != 2)" ( (binary_expression "(uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c != 2" (binary_expression "(uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c" (call_expression "(uint)(*(int *)(pSVar2 + 0x28) << 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(pSVar2 + 0x28) << 4)" ( (binary_expression "*(int *)(pSVar2 + 0x28) << 4" (pointer_expression "*(int *)(pSVar2 + 0x28)" * (cast_expression "(int *)(pSVar2 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar2 + 0x28)" ( (binary_expression "pSVar2 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) != number_literal) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) }))) (expression_statement "puVar6 = PTR_parameters_004c19b4;" (assignment_expression "puVar6 = PTR_parameters_004c19b4" identifier = identifier) ;) (expression_statement "iVar1 = *(int *)PTR_parameters_004c19b4;" (assignment_expression "iVar1 = *(int *)PTR_parameters_004c19b4" identifier = (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (*(int *)(iVar1 + 8) != 0) {\n    if (*(int *)(*(int *)(iVar1 + 8) + 0x42a4) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1704;\n        uVar3 = 3;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] == auStack_40) {\n        iVar1 = *(int *)puVar6;\n      }\n      else {\n        (*(code *)PTR_operator_delete_004c12fc)();\n        iVar1 = *(int *)puVar6;\n      }\n    }\n    if (*(int *)(iVar1 + 8) == 0) goto LAB_0014dae0;\n    if (*(int *)(*(int *)(iVar1 + 8) + 0x1348) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1700;\n        uVar3 = 0x18;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] != auStack_40) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }\n    local_48[0] = auStack_40;\n    iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n    std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n    std::\n    _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n    ::find((string *)local_30);\n    if (local_48[0] != auStack_40) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }\n    if (local_30[0] != 0) {\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      uVar3 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);\n      uVar5 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);\n      (*(code *)PTR_snprintf_004c5a94)(uVar3,iVar1 + 100,uVar5,param_3);\n      uVar5 = (*(code *)PTR_strlen_004c5b9c)(uVar3);\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5);\n      (*(code *)PTR_operator_delete___004c21b8)(uVar3);\n      return 1;\n    }\n    if (*(int *)(*(int *)puVar6 + 8) != 0) {\n      if (((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)) {\n        return 2;\n      }\n      uVar5 = *(undefined4 *)(param_5 + 4);\n      puVar6 = PTR_s__s_004c1a50 + -0x16bc;\n      uVar3 = 0xd;\nLAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3);\n      uVar9 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      if (0x7fffffffU - *(int *)(param_5 + 4) < uVar9) {\n        uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n        return uVar3;\n      }\n      (*(code *)PTR__M_append_004c1e68)(param_5,param_3,uVar9);\n      return 1;\n    }\n  }" if (parenthesized_expression "(*(int *)(iVar1 + 8) != 0)" ( (binary_expression "*(int *)(iVar1 + 8) != 0" (pointer_expression "*(int *)(iVar1 + 8)" * (cast_expression "(int *)(iVar1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 8)" ( (binary_expression "iVar1 + 8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    if (*(int *)(*(int *)(iVar1 + 8) + 0x42a4) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1704;\n        uVar3 = 3;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] == auStack_40) {\n        iVar1 = *(int *)puVar6;\n      }\n      else {\n        (*(code *)PTR_operator_delete_004c12fc)();\n        iVar1 = *(int *)puVar6;\n      }\n    }\n    if (*(int *)(iVar1 + 8) == 0) goto LAB_0014dae0;\n    if (*(int *)(*(int *)(iVar1 + 8) + 0x1348) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1700;\n        uVar3 = 0x18;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] != auStack_40) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }\n    local_48[0] = auStack_40;\n    iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n    std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n    std::\n    _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n    ::find((string *)local_30);\n    if (local_48[0] != auStack_40) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }\n    if (local_30[0] != 0) {\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      uVar3 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);\n      uVar5 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);\n      (*(code *)PTR_snprintf_004c5a94)(uVar3,iVar1 + 100,uVar5,param_3);\n      uVar5 = (*(code *)PTR_strlen_004c5b9c)(uVar3);\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5);\n      (*(code *)PTR_operator_delete___004c21b8)(uVar3);\n      return 1;\n    }\n    if (*(int *)(*(int *)puVar6 + 8) != 0) {\n      if (((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)) {\n        return 2;\n      }\n      uVar5 = *(undefined4 *)(param_5 + 4);\n      puVar6 = PTR_s__s_004c1a50 + -0x16bc;\n      uVar3 = 0xd;\nLAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3);\n      uVar9 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      if (0x7fffffffU - *(int *)(param_5 + 4) < uVar9) {\n        uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n        return uVar3;\n      }\n      (*(code *)PTR__M_append_004c1e68)(param_5,param_3,uVar9);\n      return 1;\n    }\n  }" { (if_statement "if (*(int *)(*(int *)(iVar1 + 8) + 0x42a4) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1704;\n        uVar3 = 3;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] == auStack_40) {\n        iVar1 = *(int *)puVar6;\n      }\n      else {\n        (*(code *)PTR_operator_delete_004c12fc)();\n        iVar1 = *(int *)puVar6;\n      }\n    }" if (parenthesized_expression "(*(int *)(*(int *)(iVar1 + 8) + 0x42a4) != 0)" ( (binary_expression "*(int *)(*(int *)(iVar1 + 8) + 0x42a4) != 0" (pointer_expression "*(int *)(*(int *)(iVar1 + 8) + 0x42a4)" * (cast_expression "(int *)(*(int *)(iVar1 + 8) + 0x42a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar1 + 8) + 0x42a4)" ( (binary_expression "*(int *)(iVar1 + 8) + 0x42a4" (pointer_expression "*(int *)(iVar1 + 8)" * (cast_expression "(int *)(iVar1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 8)" ( (binary_expression "iVar1 + 8" identifier + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1704;\n        uVar3 = 3;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] == auStack_40) {\n        iVar1 = *(int *)puVar6;\n      }\n      else {\n        (*(code *)PTR_operator_delete_004c12fc)();\n        iVar1 = *(int *)puVar6;\n      }\n    }" { (expression_statement "local_48[0] = auStack_40;" (assignment_expression "local_48[0] = auStack_40" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);" (assignment_expression "iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3)" ( identifier )))) ;) (labeled_statement "std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);" statement_identifier : (ERROR ":" :) (expression_statement "_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);" (binary_expression "_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "((string *)local_48,param_3,param_3 + iVar1,0)" ( (comma_expression "(string *)local_48,param_3,param_3 + iVar1,0" (cast_expression "(string *)local_48" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (comma_expression "param_3,param_3 + iVar1,0" identifier , (comma_expression "param_3 + iVar1,0" (binary_expression "param_3 + iVar1" identifier + identifier) , number_literal))) ))) ;))) (ERROR "std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::" (comma_expression "std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std" identifier (ERROR "::\n      _Hashtable<std::string,std::string,std::allocator<std::string>" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "string,std" identifier , identifier) : : (comma_expression "string,std" identifier , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier >) , identifier) : : (comma_expression "__detail::_Identity,std::equal_to<std::string>,std" identifier (ERROR "::_Identity,std::equal_to<std::string>" : : (comma_expression "_Identity,std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : identifier >) , identifier) : : (binary_expression "hash<std" identifier < identifier) : : (binary_expression "string>,std" identifier > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);" 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,true,true>>\n      ::find((string *)local_30);" 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,true,true>>\n      ::find((string *)local_30);" statement_identifier (ERROR "::_Prime_rehash_policy,std:" : : (comma_expression "_Prime_rehash_policy,std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);" (comma_expression "_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "true,true>>\n      ::find((string *)local_30)" true , (binary_expression "true>>\n      ::find((string *)local_30)" true >> (ERROR "::" : :) (call_expression "find((string *)local_30)" identifier (argument_list "((string *)local_30)" ( (cast_expression "(string *)local_30" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))))) ;))))) (if_statement "if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1704;\n        uVar3 = 3;\n        goto LAB_0014d958;\n      }" if (parenthesized_expression "(local_30[0] != 0)" ( (binary_expression "local_30[0] != 0" (subscript_expression "local_30[0]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1704;\n        uVar3 = 3;\n        goto LAB_0014d958;\n      }" { (if_statement "if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" if (parenthesized_expression "(local_48[0] != auStack_40)" ( (binary_expression "local_48[0] != auStack_40" (subscript_expression "local_48[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (expression_statement "uVar5 = *(undefined4 *)(param_5 + 4);" (assignment_expression "uVar5 = *(undefined4 *)(param_5 + 4)" identifier = (pointer_expression "*(undefined4 *)(param_5 + 4)" * (cast_expression "(undefined4 *)(param_5 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 4)" ( (binary_expression "param_5 + 4" identifier + number_literal) ))))) ;) (expression_statement "puVar6 = PTR_s__s_004c1a50 + -0x1704;" (assignment_expression "puVar6 = PTR_s__s_004c1a50 + -0x1704" identifier = (binary_expression "PTR_s__s_004c1a50 + -0x1704" identifier + number_literal)) ;) (expression_statement "uVar3 = 3;" (assignment_expression "uVar3 = 3" identifier = number_literal) ;) (goto_statement "goto LAB_0014d958;" goto statement_identifier ;) })) (if_statement "if (local_48[0] == auStack_40) {\n        iVar1 = *(int *)puVar6;\n      }\n      else {\n        (*(code *)PTR_operator_delete_004c12fc)();\n        iVar1 = *(int *)puVar6;\n      }" if (parenthesized_expression "(local_48[0] == auStack_40)" ( (binary_expression "local_48[0] == auStack_40" (subscript_expression "local_48[0]" identifier [ number_literal ]) == identifier) )) (compound_statement "{\n        iVar1 = *(int *)puVar6;\n      }" { (expression_statement "iVar1 = *(int *)puVar6;" (assignment_expression "iVar1 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) (else_clause "else {\n        (*(code *)PTR_operator_delete_004c12fc)();\n        iVar1 = *(int *)puVar6;\n      }" else (compound_statement "{\n        (*(code *)PTR_operator_delete_004c12fc)();\n        iVar1 = *(int *)puVar6;\n      }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar1 = *(int *)puVar6;" (assignment_expression "iVar1 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) }))) })) (if_statement "if (*(int *)(iVar1 + 8) == 0) goto LAB_0014dae0;" if (parenthesized_expression "(*(int *)(iVar1 + 8) == 0)" ( (binary_expression "*(int *)(iVar1 + 8) == 0" (pointer_expression "*(int *)(iVar1 + 8)" * (cast_expression "(int *)(iVar1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 8)" ( (binary_expression "iVar1 + 8" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0014dae0;" goto statement_identifier ;)) (if_statement "if (*(int *)(*(int *)(iVar1 + 8) + 0x1348) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1700;\n        uVar3 = 0x18;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] != auStack_40) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }" if (parenthesized_expression "(*(int *)(*(int *)(iVar1 + 8) + 0x1348) != 0)" ( (binary_expression "*(int *)(*(int *)(iVar1 + 8) + 0x1348) != 0" (pointer_expression "*(int *)(*(int *)(iVar1 + 8) + 0x1348)" * (cast_expression "(int *)(*(int *)(iVar1 + 8) + 0x1348)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar1 + 8) + 0x1348)" ( (binary_expression "*(int *)(iVar1 + 8) + 0x1348" (pointer_expression "*(int *)(iVar1 + 8)" * (cast_expression "(int *)(iVar1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 8)" ( (binary_expression "iVar1 + 8" identifier + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1700;\n        uVar3 = 0x18;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] != auStack_40) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }" { (expression_statement "local_48[0] = auStack_40;" (assignment_expression "local_48[0] = auStack_40" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);" (assignment_expression "iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3)" ( identifier )))) ;) (labeled_statement "std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);" statement_identifier : (ERROR ":" :) (expression_statement "_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);" (binary_expression "_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "((string *)local_48,param_3,param_3 + iVar1,0)" ( (comma_expression "(string *)local_48,param_3,param_3 + iVar1,0" (cast_expression "(string *)local_48" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (comma_expression "param_3,param_3 + iVar1,0" identifier , (comma_expression "param_3 + iVar1,0" (binary_expression "param_3 + iVar1" identifier + identifier) , number_literal))) ))) ;))) (ERROR "std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::" (comma_expression "std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std" identifier (ERROR "::\n      _Hashtable<std::string,std::string,std::allocator<std::string>" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "string,std" identifier , identifier) : : (comma_expression "string,std" identifier , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier >) , identifier) : : (comma_expression "__detail::_Identity,std::equal_to<std::string>,std" identifier (ERROR "::_Identity,std::equal_to<std::string>" : : (comma_expression "_Identity,std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : identifier >) , identifier) : : (binary_expression "hash<std" identifier < identifier) : : (binary_expression "string>,std" identifier > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);" 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,true,true>>\n      ::find((string *)local_30);" 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,true,true>>\n      ::find((string *)local_30);" statement_identifier (ERROR "::_Prime_rehash_policy,std:" : : (comma_expression "_Prime_rehash_policy,std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);" (comma_expression "_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "true,true>>\n      ::find((string *)local_30)" true , (binary_expression "true>>\n      ::find((string *)local_30)" true >> (ERROR "::" : :) (call_expression "find((string *)local_30)" identifier (argument_list "((string *)local_30)" ( (cast_expression "(string *)local_30" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))))) ;))))) (if_statement "if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1700;\n        uVar3 = 0x18;\n        goto LAB_0014d958;\n      }" if (parenthesized_expression "(local_30[0] != 0)" ( (binary_expression "local_30[0] != 0" (subscript_expression "local_30[0]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1700;\n        uVar3 = 0x18;\n        goto LAB_0014d958;\n      }" { (if_statement "if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" if (parenthesized_expression "(local_48[0] != auStack_40)" ( (binary_expression "local_48[0] != auStack_40" (subscript_expression "local_48[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (expression_statement "uVar5 = *(undefined4 *)(param_5 + 4);" (assignment_expression "uVar5 = *(undefined4 *)(param_5 + 4)" identifier = (pointer_expression "*(undefined4 *)(param_5 + 4)" * (cast_expression "(undefined4 *)(param_5 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 4)" ( (binary_expression "param_5 + 4" identifier + number_literal) ))))) ;) (expression_statement "puVar6 = PTR_s__s_004c1a50 + -0x1700;" (assignment_expression "puVar6 = PTR_s__s_004c1a50 + -0x1700" identifier = (binary_expression "PTR_s__s_004c1a50 + -0x1700" identifier + number_literal)) ;) (expression_statement "uVar3 = 0x18;" (assignment_expression "uVar3 = 0x18" identifier = number_literal) ;) (goto_statement "goto LAB_0014d958;" goto statement_identifier ;) })) (if_statement "if (local_48[0] != auStack_40) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" if (parenthesized_expression "(local_48[0] != auStack_40)" ( (binary_expression "local_48[0] != auStack_40" (subscript_expression "local_48[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) })) (expression_statement "local_48[0] = auStack_40;" (assignment_expression "local_48[0] = auStack_40" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);" (assignment_expression "iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3)" ( identifier )))) ;) (labeled_statement "std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);" statement_identifier : (ERROR ":" :) (expression_statement "_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);" (binary_expression "_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "((string *)local_48,param_3,param_3 + iVar1,0)" ( (comma_expression "(string *)local_48,param_3,param_3 + iVar1,0" (cast_expression "(string *)local_48" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (comma_expression "param_3,param_3 + iVar1,0" identifier , (comma_expression "param_3 + iVar1,0" (binary_expression "param_3 + iVar1" identifier + identifier) , number_literal))) ))) ;))) (ERROR "std::\n    _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::" (comma_expression "std::\n    _Hashtable<std::string,std::string,std::allocator<std::string>,std" identifier (ERROR "::\n    _Hashtable<std::string,std::string,std::allocator<std::string>" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "string,std" identifier , identifier) : : (comma_expression "string,std" identifier , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier >) , identifier) : : (comma_expression "__detail::_Identity,std::equal_to<std::string>,std" identifier (ERROR "::_Identity,std::equal_to<std::string>" : : (comma_expression "_Identity,std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : identifier >) , identifier) : : (binary_expression "hash<std" identifier < identifier) : : (binary_expression "string>,std" identifier > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n    ::find((string *)local_30);" 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,true,true>>\n    ::find((string *)local_30);" 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,true,true>>\n    ::find((string *)local_30);" statement_identifier (ERROR "::_Prime_rehash_policy,std:" : : (comma_expression "_Prime_rehash_policy,std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,true,true>>\n    ::find((string *)local_30);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,true,true>>\n    ::find((string *)local_30);" (comma_expression "_Hashtable_traits<true,true,true>>\n    ::find((string *)local_30)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "true,true>>\n    ::find((string *)local_30)" true , (binary_expression "true>>\n    ::find((string *)local_30)" true >> (ERROR "::" : :) (call_expression "find((string *)local_30)" identifier (argument_list "((string *)local_30)" ( (cast_expression "(string *)local_30" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))))) ;))))) (if_statement "if (local_48[0] != auStack_40) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }" if (parenthesized_expression "(local_48[0] != auStack_40)" ( (binary_expression "local_48[0] != auStack_40" (subscript_expression "local_48[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (if_statement "if (local_30[0] != 0) {\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      uVar3 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);\n      uVar5 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);\n      (*(code *)PTR_snprintf_004c5a94)(uVar3,iVar1 + 100,uVar5,param_3);\n      uVar5 = (*(code *)PTR_strlen_004c5b9c)(uVar3);\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5);\n      (*(code *)PTR_operator_delete___004c21b8)(uVar3);\n      return 1;\n    }" if (parenthesized_expression "(local_30[0] != 0)" ( (binary_expression "local_30[0] != 0" (subscript_expression "local_30[0]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      uVar3 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);\n      uVar5 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);\n      (*(code *)PTR_snprintf_004c5a94)(uVar3,iVar1 + 100,uVar5,param_3);\n      uVar5 = (*(code *)PTR_strlen_004c5b9c)(uVar3);\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5);\n      (*(code *)PTR_operator_delete___004c21b8)(uVar3);\n      return 1;\n    }" { (expression_statement "iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);" (assignment_expression "iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3)" ( identifier )))) ;) (expression_statement "uVar3 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);" (assignment_expression "uVar3 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100)" identifier = (call_expression "(*(code *)PTR_operator_new___004c134c)(iVar1 + 100)" (parenthesized_expression "(*(code *)PTR_operator_new___004c134c)" ( (pointer_expression "*(code *)PTR_operator_new___004c134c" * (cast_expression "(code *)PTR_operator_new___004c134c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar1 + 100)" ( (binary_expression "iVar1 + 100" identifier + number_literal) )))) ;) (expression_statement "uVar5 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);" (assignment_expression "uVar5 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4)" identifier = (call_expression "(*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4)" (parenthesized_expression "(*(code *)PTR_gettext_004c5c30)" ( (pointer_expression "*(code *)PTR_gettext_004c5c30" * (cast_expression "(code *)PTR_gettext_004c5c30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s__s_004c1a50 + -0x16e4)" ( (binary_expression "PTR_s__s_004c1a50 + -0x16e4" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_snprintf_004c5a94)(uVar3,iVar1 + 100,uVar5,param_3);" (call_expression "(*(code *)PTR_snprintf_004c5a94)(uVar3,iVar1 + 100,uVar5,param_3)" (parenthesized_expression "(*(code *)PTR_snprintf_004c5a94)" ( (pointer_expression "*(code *)PTR_snprintf_004c5a94" * (cast_expression "(code *)PTR_snprintf_004c5a94" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar3,iVar1 + 100,uVar5,param_3)" ( identifier , (binary_expression "iVar1 + 100" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "uVar5 = (*(code *)PTR_strlen_004c5b9c)(uVar3);" (assignment_expression "uVar5 = (*(code *)PTR_strlen_004c5b9c)(uVar3)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(uVar3)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar3)" ( identifier )))) ;) (expression_statement "(*(code *)PTR__M_replace_004c20a0)(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5);" (call_expression "(*(code *)PTR__M_replace_004c20a0)(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5)" (parenthesized_expression "(*(code *)PTR__M_replace_004c20a0)" ( (pointer_expression "*(code *)PTR__M_replace_004c20a0" * (cast_expression "(code *)PTR__M_replace_004c20a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5)" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(param_5 + 4)" * (cast_expression "(undefined4 *)(param_5 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 4)" ( (binary_expression "param_5 + 4" identifier + number_literal) )))) , identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_operator_delete___004c21b8)(uVar3);" (call_expression "(*(code *)PTR_operator_delete___004c21b8)(uVar3)" (parenthesized_expression "(*(code *)PTR_operator_delete___004c21b8)" ( (pointer_expression "*(code *)PTR_operator_delete___004c21b8" * (cast_expression "(code *)PTR_operator_delete___004c21b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar3)" ( identifier ))) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (*(int *)(*(int *)puVar6 + 8) != 0) {\n      if (((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)) {\n        return 2;\n      }\n      uVar5 = *(undefined4 *)(param_5 + 4);\n      puVar6 = PTR_s__s_004c1a50 + -0x16bc;\n      uVar3 = 0xd;\nLAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3);\n      uVar9 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      if (0x7fffffffU - *(int *)(param_5 + 4) < uVar9) {\n        uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n        return uVar3;\n      }\n      (*(code *)PTR__M_append_004c1e68)(param_5,param_3,uVar9);\n      return 1;\n    }" if (parenthesized_expression "(*(int *)(*(int *)puVar6 + 8) != 0)" ( (binary_expression "*(int *)(*(int *)puVar6 + 8) != 0" (pointer_expression "*(int *)(*(int *)puVar6 + 8)" * (cast_expression "(int *)(*(int *)puVar6 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar6 + 8)" ( (binary_expression "*(int *)puVar6 + 8" (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) != number_literal) )) (compound_statement "{\n      if (((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)) {\n        return 2;\n      }\n      uVar5 = *(undefined4 *)(param_5 + 4);\n      puVar6 = PTR_s__s_004c1a50 + -0x16bc;\n      uVar3 = 0xd;\nLAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3);\n      uVar9 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      if (0x7fffffffU - *(int *)(param_5 + 4) < uVar9) {\n        uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n        return uVar3;\n      }\n      (*(code *)PTR__M_append_004c1e68)(param_5,param_3,uVar9);\n      return 1;\n    }" { (if_statement "if (((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)) {\n        return 2;\n      }" if (parenthesized_expression "(((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0))" ( (binary_expression "((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)" (parenthesized_expression "((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0))" ( (binary_expression "(*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)" (parenthesized_expression "(*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0')" ( (binary_expression "*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0'" (pointer_expression "*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195)" * (cast_expression "(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)puVar6 + 8) + 0x3195)" ( (binary_expression "*(int *)(*(int *)puVar6 + 8) + 0x3195" (pointer_expression "*(int *)(*(int *)puVar6 + 8)" * (cast_expression "(int *)(*(int *)puVar6 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar6 + 8)" ( (binary_expression "*(int *)puVar6 + 8" (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)" ( (comma_expression "iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0" (assignment_expression "iVar1 = (*(code *)PTR_entry_004c33e8)()" identifier = (call_expression "(*(code *)PTR_entry_004c33e8)()" (parenthesized_expression "(*(code *)PTR_entry_004c33e8)" ( (pointer_expression "*(code *)PTR_entry_004c33e8" * (cast_expression "(code *)PTR_entry_004c33e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) , (binary_expression "iVar1 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)" ( (comma_expression "iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0" (assignment_expression "iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1)" identifier = (call_expression "(*(code *)PTR_strcmp_004c5a68)(param_3,iVar1)" (parenthesized_expression "(*(code *)PTR_strcmp_004c5a68)" ( (pointer_expression "*(code *)PTR_strcmp_004c5a68" * (cast_expression "(code *)PTR_strcmp_004c5a68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3,iVar1)" ( identifier , identifier )))) , (binary_expression "iVar1 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        return 2;\n      }" { (return_statement "return 2;" return number_literal ;) })) (expression_statement "uVar5 = *(undefined4 *)(param_5 + 4);" (assignment_expression "uVar5 = *(undefined4 *)(param_5 + 4)" identifier = (pointer_expression "*(undefined4 *)(param_5 + 4)" * (cast_expression "(undefined4 *)(param_5 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 4)" ( (binary_expression "param_5 + 4" identifier + number_literal) ))))) ;) (expression_statement "puVar6 = PTR_s__s_004c1a50 + -0x16bc;" (assignment_expression "puVar6 = PTR_s__s_004c1a50 + -0x16bc" identifier = (binary_expression "PTR_s__s_004c1a50 + -0x16bc" identifier + number_literal)) ;) (expression_statement "uVar3 = 0xd;" (assignment_expression "uVar3 = 0xd" identifier = number_literal) ;) (labeled_statement "LAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3);" statement_identifier : (expression_statement "(*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3);" (call_expression "(*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3)" (parenthesized_expression "(*(code *)PTR__M_replace_004c20a0)" ( (pointer_expression "*(code *)PTR__M_replace_004c20a0" * (cast_expression "(code *)PTR__M_replace_004c20a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_5,0,uVar5,puVar6,uVar3)" ( identifier , number_literal , identifier , identifier , identifier ))) ;)) (expression_statement "uVar9 = (*(code *)PTR_strlen_004c5b9c)(param_3);" (assignment_expression "uVar9 = (*(code *)PTR_strlen_004c5b9c)(param_3)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3)" ( identifier )))) ;) (if_statement "if (0x7fffffffU - *(int *)(param_5 + 4) < uVar9) {\n        uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n        return uVar3;\n      }" if (parenthesized_expression "(0x7fffffffU - *(int *)(param_5 + 4) < uVar9)" ( (binary_expression "0x7fffffffU - *(int *)(param_5 + 4) < uVar9" (binary_expression "0x7fffffffU - *(int *)(param_5 + 4)" number_literal - (pointer_expression "*(int *)(param_5 + 4)" * (cast_expression "(int *)(param_5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 4)" ( (binary_expression "param_5 + 4" identifier + number_literal) ))))) < identifier) )) (compound_statement "{\n        uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n        return uVar3;\n      }" { (expression_statement "uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);" (assignment_expression "uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" identifier = (call_expression "(*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" (parenthesized_expression "(*(code *)PTR___throw_length_error_004c1e74)" ( (pointer_expression "*(code *)PTR___throw_length_error_004c1e74" * (cast_expression "(code *)PTR___throw_length_error_004c1e74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c" identifier + number_literal) )))) ;) (return_statement "return uVar3;" return identifier ;) })) (expression_statement "(*(code *)PTR__M_append_004c1e68)(param_5,param_3,uVar9);" (call_expression "(*(code *)PTR__M_append_004c1e68)(param_5,param_3,uVar9)" (parenthesized_expression "(*(code *)PTR__M_append_004c1e68)" ( (pointer_expression "*(code *)PTR__M_append_004c1e68" * (cast_expression "(code *)PTR__M_append_004c1e68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_5,param_3,uVar9)" ( identifier , identifier , identifier ))) ;) (return_statement "return 1;" return number_literal ;) })) })) (labeled_statement "LAB_0014dae0:\n  uVar3 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                     PTR_s__s_004c1a50 + -0x1514);" statement_identifier : (expression_statement "uVar3 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                     PTR_s__s_004c1a50 + -0x1514);" (assignment_expression "uVar3 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                     PTR_s__s_004c1a50 + -0x1514)" identifier = (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                     PTR_s__s_004c1a50 + -0x1514)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                     PTR_s__s_004c1a50 + -0x1514)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + -0x1514" identifier + number_literal) )))) ;)) (return_statement "return uVar3;" return identifier ;) })))
(translation_unit "/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */\n/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */\n\nShould_include\ngold::Library_base::should_include_member\n          (Symbol_table *symtab,Layout *layout,char *sym_name,Symbol **symp,string *why,\n          char **tmpbufp,size_t *tmpbuflen)\n\n{\n  int iVar1;\n  Symbol *pSVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  Should_include SVar5;\n  uint uVar6;\n  size_type sVar7;\n  undefined *puVar8;\n  char *pcVar9;\n  int iVar10;\n  Script_options *pSVar11;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar12;\n  uint uVar13;\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> local_48;\n  __bucket_type *local_30;\n  \n  iVar1 = (*(code *)PTR_strchr_004c5cb4)(sym_name,0x40);\n  if (iVar1 == 0) {\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,sym_name,0);\nLAB_0014d598:\n    *symp = pSVar2;\n    if (pSVar2 != (Symbol *)0x0) {\n      uVar13 = *(uint *)&pSVar2->field_0x28 & 0xe000;\n      pcVar9 = sym_name;\n      goto LAB_0014d5a8;\n    }\n  }\n  else {\n    iVar10 = iVar1 - (int)sym_name;\n    uVar13 = iVar10 + 1;\n    pcVar9 = *tmpbufp;\n    if (*tmpbuflen < uVar13) {\n      pcVar9 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar9,uVar13);\n      *tmpbufp = pcVar9;\n      *tmpbuflen = uVar13;\n    }\n    (*(code *)PTR_memcpy_004c5ba8)(pcVar9,sym_name,iVar10);\n    pcVar9[iVar10] = '\0';\n    if (*(char *)(iVar1 + 1) != '@') {\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,pcVar9,iVar1);\n      sym_name = pcVar9;\n      goto LAB_0014d598;\n    }\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,pcVar9,iVar1 + 2);\n    if (pSVar2 == (Symbol *)0x0) {\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }\n    uVar6 = *(uint *)&pSVar2->field_0x28;\n    uVar13 = uVar6 & 0xe000;\n    if (uVar13 == 0) {\n      if (((pSVar2->u2_).shndx == 0) && ((int)(uVar6 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }\n    if (uVar13 != 0x8000) goto LAB_0014d80c;\nLAB_0014d628:\n    if ((uVar6 << 4) >> 0x1c == 2) goto LAB_0014d80c;\n    *symp = pSVar2;\nLAB_0014d5a8:\n    if (uVar13 == 0) {\n      if ((pSVar2->u2_).shndx != 0) {\n        return SHOULD_INCLUDE_NO;\n      }\n      if (-1 < *(int *)&pSVar2->field_0x28 << 0x1d) {\n        return SHOULD_INCLUDE_NO;\n      }\n    }\n    else if (uVar13 != 0x8000) {\n      return SHOULD_INCLUDE_NO;\n    }\n    iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(layout->script_options_,pcVar9);\n    if (iVar1 != 0) {\n      return SHOULD_INCLUDE_NO;\n    }\n    sym_name = pcVar9;\n    if ((uint)(*(int *)&pSVar2->field_0x28 << 4) >> 0x1c != 2) {\n      return SHOULD_INCLUDE_YES;\n    }\n  }\n  puVar8 = PTR_parameters_004c19b4;\n  iVar1 = *(int *)PTR_parameters_004c19b4;\n  iVar10 = *(int *)(iVar1 + 8);\n  if (iVar10 != 0) {\n    if (*(int *)(iVar10 + 0x42a4) != 0) {\n      paVar12 = &local_48.field_2;\n      local_48._M_dataplus._M_p = (pointer)paVar12;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_48,sym_name,sym_name + iVar1,0);\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)(iVar10 + 0x4298));\n      if (local_30 == (__bucket_type *)0x0) {\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_48._M_dataplus._M_p == paVar12) {\n          iVar1 = *(int *)puVar8;\n        }\n        else {\n          (*(code *)PTR_operator_delete_004c12fc)();\n          iVar1 = *(int *)puVar8;\n        }\n        goto LAB_0014d684;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_48._M_dataplus._M_p != paVar12) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      sVar7 = why->_M_string_length;\n      puVar8 = PTR_s__s_004c1a50 + -0x1704;\n      uVar4 = 3;\nLAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(why,0,sVar7,puVar8,uVar4);\n      uVar13 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n      if (uVar13 <= 0x7fffffff - why->_M_string_length) {\n        (*(code *)PTR__M_append_004c1e68)(why,sym_name,uVar13);\n        return SHOULD_INCLUDE_YES;\n      }\n      goto LAB_0014daf8;\n    }\nLAB_0014d684:\n    iVar1 = *(int *)(iVar1 + 8);\n    if (iVar1 != 0) {\n      paVar12 = &local_48.field_2;\n      if (*(int *)(iVar1 + 0x1348) == 0) {\n        pSVar11 = layout->script_options_;\n      }\n      else {\n        local_48._M_dataplus._M_p = (pointer)paVar12;\n        iVar10 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&local_48,sym_name,sym_name + iVar10,0);\n        std::\n        _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                *)&local_30,(key_type *)(iVar1 + 0x133c));\n        if (local_30 != (__bucket_type *)0x0) {\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)local_48._M_dataplus._M_p != paVar12) {\n            (*(code *)PTR_operator_delete_004c12fc)();\n          }\n          sVar7 = why->_M_string_length;\n          puVar8 = PTR_s__s_004c1a50 + -0x1700;\n          uVar4 = 0x18;\n          goto LAB_0014d958;\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_48._M_dataplus._M_p != paVar12) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        pSVar11 = layout->script_options_;\n      }\n      local_48._M_dataplus._M_p = (pointer)paVar12;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_48,sym_name,sym_name + iVar1,0);\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)&pSVar11->symbol_references_);\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_48._M_dataplus._M_p != paVar12) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      if (local_30 != (__bucket_type *)0x0) {\n        iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n        uVar4 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);\n        uVar3 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);\n        (*(code *)PTR_snprintf_004c5a94)(uVar4,iVar1 + 100,uVar3,sym_name);\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar4);\n        (*(code *)PTR__M_replace_004c20a0)(why,0,why->_M_string_length,uVar4,uVar3);\n        (*(code *)PTR_operator_delete___004c21b8)(uVar4);\n        return SHOULD_INCLUDE_YES;\n      }\n      if (*(int *)(*(int *)puVar8 + 8) != 0) {\n        if (((*(char *)(*(int *)(*(int *)puVar8 + 8) + 0x3195) != '\0') ||\n            (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n           (iVar1 = (*(code *)PTR_strcmp_004c5a68)(sym_name,iVar1), iVar1 != 0)) {\n          return SHOULD_INCLUDE_UNKNOWN;\n        }\n        sVar7 = why->_M_string_length;\n        puVar8 = PTR_s__s_004c1a50 + -0x16bc;\n        uVar4 = 0xd;\n        goto LAB_0014d958;\n      }\n    }\n  }\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,PTR_s__s_004c1a50 + -0x1514);\nLAB_0014daf8:\n  SVar5 = (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n  return SVar5;\n}\n\n" comment comment comment comment comment comment (function_definition "Should_include\ngold::Library_base::should_include_member\n          (Symbol_table *symtab,Layout *layout,char *sym_name,Symbol **symp,string *why,\n          char **tmpbufp,size_t *tmpbuflen)\n\n{\n  int iVar1;\n  Symbol *pSVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  Should_include SVar5;\n  uint uVar6;\n  size_type sVar7;\n  undefined *puVar8;\n  char *pcVar9;\n  int iVar10;\n  Script_options *pSVar11;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar12;\n  uint uVar13;\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> local_48;\n  __bucket_type *local_30;\n  \n  iVar1 = (*(code *)PTR_strchr_004c5cb4)(sym_name,0x40);\n  if (iVar1 == 0) {\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,sym_name,0);\nLAB_0014d598:\n    *symp = pSVar2;\n    if (pSVar2 != (Symbol *)0x0) {\n      uVar13 = *(uint *)&pSVar2->field_0x28 & 0xe000;\n      pcVar9 = sym_name;\n      goto LAB_0014d5a8;\n    }\n  }\n  else {\n    iVar10 = iVar1 - (int)sym_name;\n    uVar13 = iVar10 + 1;\n    pcVar9 = *tmpbufp;\n    if (*tmpbuflen < uVar13) {\n      pcVar9 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar9,uVar13);\n      *tmpbufp = pcVar9;\n      *tmpbuflen = uVar13;\n    }\n    (*(code *)PTR_memcpy_004c5ba8)(pcVar9,sym_name,iVar10);\n    pcVar9[iVar10] = '\0';\n    if (*(char *)(iVar1 + 1) != '@') {\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,pcVar9,iVar1);\n      sym_name = pcVar9;\n      goto LAB_0014d598;\n    }\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,pcVar9,iVar1 + 2);\n    if (pSVar2 == (Symbol *)0x0) {\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }\n    uVar6 = *(uint *)&pSVar2->field_0x28;\n    uVar13 = uVar6 & 0xe000;\n    if (uVar13 == 0) {\n      if (((pSVar2->u2_).shndx == 0) && ((int)(uVar6 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }\n    if (uVar13 != 0x8000) goto LAB_0014d80c;\nLAB_0014d628:\n    if ((uVar6 << 4) >> 0x1c == 2) goto LAB_0014d80c;\n    *symp = pSVar2;\nLAB_0014d5a8:\n    if (uVar13 == 0) {\n      if ((pSVar2->u2_).shndx != 0) {\n        return SHOULD_INCLUDE_NO;\n      }\n      if (-1 < *(int *)&pSVar2->field_0x28 << 0x1d) {\n        return SHOULD_INCLUDE_NO;\n      }\n    }\n    else if (uVar13 != 0x8000) {\n      return SHOULD_INCLUDE_NO;\n    }\n    iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(layout->script_options_,pcVar9);\n    if (iVar1 != 0) {\n      return SHOULD_INCLUDE_NO;\n    }\n    sym_name = pcVar9;\n    if ((uint)(*(int *)&pSVar2->field_0x28 << 4) >> 0x1c != 2) {\n      return SHOULD_INCLUDE_YES;\n    }\n  }\n  puVar8 = PTR_parameters_004c19b4;\n  iVar1 = *(int *)PTR_parameters_004c19b4;\n  iVar10 = *(int *)(iVar1 + 8);\n  if (iVar10 != 0) {\n    if (*(int *)(iVar10 + 0x42a4) != 0) {\n      paVar12 = &local_48.field_2;\n      local_48._M_dataplus._M_p = (pointer)paVar12;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_48,sym_name,sym_name + iVar1,0);\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)(iVar10 + 0x4298));\n      if (local_30 == (__bucket_type *)0x0) {\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_48._M_dataplus._M_p == paVar12) {\n          iVar1 = *(int *)puVar8;\n        }\n        else {\n          (*(code *)PTR_operator_delete_004c12fc)();\n          iVar1 = *(int *)puVar8;\n        }\n        goto LAB_0014d684;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_48._M_dataplus._M_p != paVar12) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      sVar7 = why->_M_string_length;\n      puVar8 = PTR_s__s_004c1a50 + -0x1704;\n      uVar4 = 3;\nLAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(why,0,sVar7,puVar8,uVar4);\n      uVar13 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n      if (uVar13 <= 0x7fffffff - why->_M_string_length) {\n        (*(code *)PTR__M_append_004c1e68)(why,sym_name,uVar13);\n        return SHOULD_INCLUDE_YES;\n      }\n      goto LAB_0014daf8;\n    }\nLAB_0014d684:\n    iVar1 = *(int *)(iVar1 + 8);\n    if (iVar1 != 0) {\n      paVar12 = &local_48.field_2;\n      if (*(int *)(iVar1 + 0x1348) == 0) {\n        pSVar11 = layout->script_options_;\n      }\n      else {\n        local_48._M_dataplus._M_p = (pointer)paVar12;\n        iVar10 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&local_48,sym_name,sym_name + iVar10,0);\n        std::\n        _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                *)&local_30,(key_type *)(iVar1 + 0x133c));\n        if (local_30 != (__bucket_type *)0x0) {\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)local_48._M_dataplus._M_p != paVar12) {\n            (*(code *)PTR_operator_delete_004c12fc)();\n          }\n          sVar7 = why->_M_string_length;\n          puVar8 = PTR_s__s_004c1a50 + -0x1700;\n          uVar4 = 0x18;\n          goto LAB_0014d958;\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_48._M_dataplus._M_p != paVar12) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        pSVar11 = layout->script_options_;\n      }\n      local_48._M_dataplus._M_p = (pointer)paVar12;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_48,sym_name,sym_name + iVar1,0);\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)&pSVar11->symbol_references_);\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_48._M_dataplus._M_p != paVar12) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      if (local_30 != (__bucket_type *)0x0) {\n        iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n        uVar4 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);\n        uVar3 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);\n        (*(code *)PTR_snprintf_004c5a94)(uVar4,iVar1 + 100,uVar3,sym_name);\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar4);\n        (*(code *)PTR__M_replace_004c20a0)(why,0,why->_M_string_length,uVar4,uVar3);\n        (*(code *)PTR_operator_delete___004c21b8)(uVar4);\n        return SHOULD_INCLUDE_YES;\n      }\n      if (*(int *)(*(int *)puVar8 + 8) != 0) {\n        if (((*(char *)(*(int *)(*(int *)puVar8 + 8) + 0x3195) != '\0') ||\n            (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n           (iVar1 = (*(code *)PTR_strcmp_004c5a68)(sym_name,iVar1), iVar1 != 0)) {\n          return SHOULD_INCLUDE_UNKNOWN;\n        }\n        sVar7 = why->_M_string_length;\n        puVar8 = PTR_s__s_004c1a50 + -0x16bc;\n        uVar4 = 0xd;\n        goto LAB_0014d958;\n      }\n    }\n  }\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,PTR_s__s_004c1a50 + -0x1514);\nLAB_0014daf8:\n  SVar5 = (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n  return SVar5;\n}" type_identifier (ERROR "gold::Library_base::" identifier : : identifier : :) (function_declarator "should_include_member\n          (Symbol_table *symtab,Layout *layout,char *sym_name,Symbol **symp,string *why,\n          char **tmpbufp,size_t *tmpbuflen)" identifier (parameter_list "(Symbol_table *symtab,Layout *layout,char *sym_name,Symbol **symp,string *why,\n          char **tmpbufp,size_t *tmpbuflen)" ( (parameter_declaration "Symbol_table *symtab" type_identifier (pointer_declarator "*symtab" * identifier)) , (parameter_declaration "Layout *layout" type_identifier (pointer_declarator "*layout" * identifier)) , (parameter_declaration "char *sym_name" primitive_type (pointer_declarator "*sym_name" * identifier)) , (parameter_declaration "Symbol **symp" type_identifier (pointer_declarator "**symp" * (pointer_declarator "*symp" * identifier))) , (parameter_declaration "string *why" type_identifier (pointer_declarator "*why" * identifier)) , (parameter_declaration "char **tmpbufp" primitive_type (pointer_declarator "**tmpbufp" * (pointer_declarator "*tmpbufp" * identifier))) , (parameter_declaration "size_t *tmpbuflen" primitive_type (pointer_declarator "*tmpbuflen" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  Symbol *pSVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  Should_include SVar5;\n  uint uVar6;\n  size_type sVar7;\n  undefined *puVar8;\n  char *pcVar9;\n  int iVar10;\n  Script_options *pSVar11;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar12;\n  uint uVar13;\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> local_48;\n  __bucket_type *local_30;\n  \n  iVar1 = (*(code *)PTR_strchr_004c5cb4)(sym_name,0x40);\n  if (iVar1 == 0) {\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,sym_name,0);\nLAB_0014d598:\n    *symp = pSVar2;\n    if (pSVar2 != (Symbol *)0x0) {\n      uVar13 = *(uint *)&pSVar2->field_0x28 & 0xe000;\n      pcVar9 = sym_name;\n      goto LAB_0014d5a8;\n    }\n  }\n  else {\n    iVar10 = iVar1 - (int)sym_name;\n    uVar13 = iVar10 + 1;\n    pcVar9 = *tmpbufp;\n    if (*tmpbuflen < uVar13) {\n      pcVar9 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar9,uVar13);\n      *tmpbufp = pcVar9;\n      *tmpbuflen = uVar13;\n    }\n    (*(code *)PTR_memcpy_004c5ba8)(pcVar9,sym_name,iVar10);\n    pcVar9[iVar10] = '\0';\n    if (*(char *)(iVar1 + 1) != '@') {\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,pcVar9,iVar1);\n      sym_name = pcVar9;\n      goto LAB_0014d598;\n    }\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,pcVar9,iVar1 + 2);\n    if (pSVar2 == (Symbol *)0x0) {\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }\n    uVar6 = *(uint *)&pSVar2->field_0x28;\n    uVar13 = uVar6 & 0xe000;\n    if (uVar13 == 0) {\n      if (((pSVar2->u2_).shndx == 0) && ((int)(uVar6 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }\n    if (uVar13 != 0x8000) goto LAB_0014d80c;\nLAB_0014d628:\n    if ((uVar6 << 4) >> 0x1c == 2) goto LAB_0014d80c;\n    *symp = pSVar2;\nLAB_0014d5a8:\n    if (uVar13 == 0) {\n      if ((pSVar2->u2_).shndx != 0) {\n        return SHOULD_INCLUDE_NO;\n      }\n      if (-1 < *(int *)&pSVar2->field_0x28 << 0x1d) {\n        return SHOULD_INCLUDE_NO;\n      }\n    }\n    else if (uVar13 != 0x8000) {\n      return SHOULD_INCLUDE_NO;\n    }\n    iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(layout->script_options_,pcVar9);\n    if (iVar1 != 0) {\n      return SHOULD_INCLUDE_NO;\n    }\n    sym_name = pcVar9;\n    if ((uint)(*(int *)&pSVar2->field_0x28 << 4) >> 0x1c != 2) {\n      return SHOULD_INCLUDE_YES;\n    }\n  }\n  puVar8 = PTR_parameters_004c19b4;\n  iVar1 = *(int *)PTR_parameters_004c19b4;\n  iVar10 = *(int *)(iVar1 + 8);\n  if (iVar10 != 0) {\n    if (*(int *)(iVar10 + 0x42a4) != 0) {\n      paVar12 = &local_48.field_2;\n      local_48._M_dataplus._M_p = (pointer)paVar12;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_48,sym_name,sym_name + iVar1,0);\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)(iVar10 + 0x4298));\n      if (local_30 == (__bucket_type *)0x0) {\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_48._M_dataplus._M_p == paVar12) {\n          iVar1 = *(int *)puVar8;\n        }\n        else {\n          (*(code *)PTR_operator_delete_004c12fc)();\n          iVar1 = *(int *)puVar8;\n        }\n        goto LAB_0014d684;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_48._M_dataplus._M_p != paVar12) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      sVar7 = why->_M_string_length;\n      puVar8 = PTR_s__s_004c1a50 + -0x1704;\n      uVar4 = 3;\nLAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(why,0,sVar7,puVar8,uVar4);\n      uVar13 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n      if (uVar13 <= 0x7fffffff - why->_M_string_length) {\n        (*(code *)PTR__M_append_004c1e68)(why,sym_name,uVar13);\n        return SHOULD_INCLUDE_YES;\n      }\n      goto LAB_0014daf8;\n    }\nLAB_0014d684:\n    iVar1 = *(int *)(iVar1 + 8);\n    if (iVar1 != 0) {\n      paVar12 = &local_48.field_2;\n      if (*(int *)(iVar1 + 0x1348) == 0) {\n        pSVar11 = layout->script_options_;\n      }\n      else {\n        local_48._M_dataplus._M_p = (pointer)paVar12;\n        iVar10 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&local_48,sym_name,sym_name + iVar10,0);\n        std::\n        _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                *)&local_30,(key_type *)(iVar1 + 0x133c));\n        if (local_30 != (__bucket_type *)0x0) {\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)local_48._M_dataplus._M_p != paVar12) {\n            (*(code *)PTR_operator_delete_004c12fc)();\n          }\n          sVar7 = why->_M_string_length;\n          puVar8 = PTR_s__s_004c1a50 + -0x1700;\n          uVar4 = 0x18;\n          goto LAB_0014d958;\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_48._M_dataplus._M_p != paVar12) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        pSVar11 = layout->script_options_;\n      }\n      local_48._M_dataplus._M_p = (pointer)paVar12;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_48,sym_name,sym_name + iVar1,0);\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)&pSVar11->symbol_references_);\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_48._M_dataplus._M_p != paVar12) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      if (local_30 != (__bucket_type *)0x0) {\n        iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n        uVar4 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);\n        uVar3 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);\n        (*(code *)PTR_snprintf_004c5a94)(uVar4,iVar1 + 100,uVar3,sym_name);\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar4);\n        (*(code *)PTR__M_replace_004c20a0)(why,0,why->_M_string_length,uVar4,uVar3);\n        (*(code *)PTR_operator_delete___004c21b8)(uVar4);\n        return SHOULD_INCLUDE_YES;\n      }\n      if (*(int *)(*(int *)puVar8 + 8) != 0) {\n        if (((*(char *)(*(int *)(*(int *)puVar8 + 8) + 0x3195) != '\0') ||\n            (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n           (iVar1 = (*(code *)PTR_strcmp_004c5a68)(sym_name,iVar1), iVar1 != 0)) {\n          return SHOULD_INCLUDE_UNKNOWN;\n        }\n        sVar7 = why->_M_string_length;\n        puVar8 = PTR_s__s_004c1a50 + -0x16bc;\n        uVar4 = 0xd;\n        goto LAB_0014d958;\n      }\n    }\n  }\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,PTR_s__s_004c1a50 + -0x1514);\nLAB_0014daf8:\n  SVar5 = (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n  return SVar5;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "Symbol *pSVar2;" type_identifier (pointer_declarator "*pSVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "Should_include SVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "size_type sVar7;" type_identifier identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "Script_options *pSVar11;" type_identifier (pointer_declarator "*pSVar11" * 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  *paVar12;" (binary_expression "allocator<char>_>_9\n  *paVar12" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n  *paVar12" identifier * identifier)) ;) (declaration "uint uVar13;" type_identifier identifier ;) (ERROR "basic_string<char,_std::char_traits<char>,_std::" (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) : :) (expression_statement "allocator<char>_> local_48;" (binary_expression "allocator<char>_> local_48" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) ;) (declaration "__bucket_type *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (expression_statement "iVar1 = (*(code *)PTR_strchr_004c5cb4)(sym_name,0x40);" (assignment_expression "iVar1 = (*(code *)PTR_strchr_004c5cb4)(sym_name,0x40)" identifier = (call_expression "(*(code *)PTR_strchr_004c5cb4)(sym_name,0x40)" (parenthesized_expression "(*(code *)PTR_strchr_004c5cb4)" ( (pointer_expression "*(code *)PTR_strchr_004c5cb4" * (cast_expression "(code *)PTR_strchr_004c5cb4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(sym_name,0x40)" ( identifier , number_literal )))) ;) (if_statement "if (iVar1 == 0) {\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,sym_name,0);\nLAB_0014d598:\n    *symp = pSVar2;\n    if (pSVar2 != (Symbol *)0x0) {\n      uVar13 = *(uint *)&pSVar2->field_0x28 & 0xe000;\n      pcVar9 = sym_name;\n      goto LAB_0014d5a8;\n    }\n  }\n  else {\n    iVar10 = iVar1 - (int)sym_name;\n    uVar13 = iVar10 + 1;\n    pcVar9 = *tmpbufp;\n    if (*tmpbuflen < uVar13) {\n      pcVar9 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar9,uVar13);\n      *tmpbufp = pcVar9;\n      *tmpbuflen = uVar13;\n    }\n    (*(code *)PTR_memcpy_004c5ba8)(pcVar9,sym_name,iVar10);\n    pcVar9[iVar10] = '\0';\n    if (*(char *)(iVar1 + 1) != '@') {\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,pcVar9,iVar1);\n      sym_name = pcVar9;\n      goto LAB_0014d598;\n    }\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,pcVar9,iVar1 + 2);\n    if (pSVar2 == (Symbol *)0x0) {\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }\n    uVar6 = *(uint *)&pSVar2->field_0x28;\n    uVar13 = uVar6 & 0xe000;\n    if (uVar13 == 0) {\n      if (((pSVar2->u2_).shndx == 0) && ((int)(uVar6 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }\n    if (uVar13 != 0x8000) goto LAB_0014d80c;\nLAB_0014d628:\n    if ((uVar6 << 4) >> 0x1c == 2) goto LAB_0014d80c;\n    *symp = pSVar2;\nLAB_0014d5a8:\n    if (uVar13 == 0) {\n      if ((pSVar2->u2_).shndx != 0) {\n        return SHOULD_INCLUDE_NO;\n      }\n      if (-1 < *(int *)&pSVar2->field_0x28 << 0x1d) {\n        return SHOULD_INCLUDE_NO;\n      }\n    }\n    else if (uVar13 != 0x8000) {\n      return SHOULD_INCLUDE_NO;\n    }\n    iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(layout->script_options_,pcVar9);\n    if (iVar1 != 0) {\n      return SHOULD_INCLUDE_NO;\n    }\n    sym_name = pcVar9;\n    if ((uint)(*(int *)&pSVar2->field_0x28 << 4) >> 0x1c != 2) {\n      return SHOULD_INCLUDE_YES;\n    }\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,sym_name,0);\nLAB_0014d598:\n    *symp = pSVar2;\n    if (pSVar2 != (Symbol *)0x0) {\n      uVar13 = *(uint *)&pSVar2->field_0x28 & 0xe000;\n      pcVar9 = sym_name;\n      goto LAB_0014d5a8;\n    }\n  }" { (expression_statement "pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,sym_name,0);" (assignment_expression "pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,sym_name,0)" identifier = (cast_expression "(Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,sym_name,0)" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_lookup_004c1e40)(symtab,sym_name,0)" (parenthesized_expression "(*(code *)PTR_lookup_004c1e40)" ( (pointer_expression "*(code *)PTR_lookup_004c1e40" * (cast_expression "(code *)PTR_lookup_004c1e40" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(symtab,sym_name,0)" ( identifier , identifier , number_literal ))))) ;) (labeled_statement "LAB_0014d598:\n    *symp = pSVar2;" statement_identifier : (expression_statement "*symp = pSVar2;" (assignment_expression "*symp = pSVar2" (pointer_expression "*symp" * identifier) = identifier) ;)) (if_statement "if (pSVar2 != (Symbol *)0x0) {\n      uVar13 = *(uint *)&pSVar2->field_0x28 & 0xe000;\n      pcVar9 = sym_name;\n      goto LAB_0014d5a8;\n    }" if (parenthesized_expression "(pSVar2 != (Symbol *)0x0)" ( (binary_expression "pSVar2 != (Symbol *)0x0" identifier != (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar13 = *(uint *)&pSVar2->field_0x28 & 0xe000;\n      pcVar9 = sym_name;\n      goto LAB_0014d5a8;\n    }" { (expression_statement "uVar13 = *(uint *)&pSVar2->field_0x28 & 0xe000;" (assignment_expression "uVar13 = *(uint *)&pSVar2->field_0x28 & 0xe000" identifier = (binary_expression "*(uint *)&pSVar2->field_0x28 & 0xe000" (pointer_expression "*(uint *)&pSVar2->field_0x28" * (cast_expression "(uint *)&pSVar2->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar2->field_0x28" & (field_expression "pSVar2->field_0x28" identifier -> field_identifier)))) & number_literal)) ;) (expression_statement "pcVar9 = sym_name;" (assignment_expression "pcVar9 = sym_name" identifier = identifier) ;) (goto_statement "goto LAB_0014d5a8;" goto statement_identifier ;) })) }) (else_clause "else {\n    iVar10 = iVar1 - (int)sym_name;\n    uVar13 = iVar10 + 1;\n    pcVar9 = *tmpbufp;\n    if (*tmpbuflen < uVar13) {\n      pcVar9 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar9,uVar13);\n      *tmpbufp = pcVar9;\n      *tmpbuflen = uVar13;\n    }\n    (*(code *)PTR_memcpy_004c5ba8)(pcVar9,sym_name,iVar10);\n    pcVar9[iVar10] = '\0';\n    if (*(char *)(iVar1 + 1) != '@') {\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,pcVar9,iVar1);\n      sym_name = pcVar9;\n      goto LAB_0014d598;\n    }\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,pcVar9,iVar1 + 2);\n    if (pSVar2 == (Symbol *)0x0) {\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }\n    uVar6 = *(uint *)&pSVar2->field_0x28;\n    uVar13 = uVar6 & 0xe000;\n    if (uVar13 == 0) {\n      if (((pSVar2->u2_).shndx == 0) && ((int)(uVar6 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }\n    if (uVar13 != 0x8000) goto LAB_0014d80c;\nLAB_0014d628:\n    if ((uVar6 << 4) >> 0x1c == 2) goto LAB_0014d80c;\n    *symp = pSVar2;\nLAB_0014d5a8:\n    if (uVar13 == 0) {\n      if ((pSVar2->u2_).shndx != 0) {\n        return SHOULD_INCLUDE_NO;\n      }\n      if (-1 < *(int *)&pSVar2->field_0x28 << 0x1d) {\n        return SHOULD_INCLUDE_NO;\n      }\n    }\n    else if (uVar13 != 0x8000) {\n      return SHOULD_INCLUDE_NO;\n    }\n    iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(layout->script_options_,pcVar9);\n    if (iVar1 != 0) {\n      return SHOULD_INCLUDE_NO;\n    }\n    sym_name = pcVar9;\n    if ((uint)(*(int *)&pSVar2->field_0x28 << 4) >> 0x1c != 2) {\n      return SHOULD_INCLUDE_YES;\n    }\n  }" else (compound_statement "{\n    iVar10 = iVar1 - (int)sym_name;\n    uVar13 = iVar10 + 1;\n    pcVar9 = *tmpbufp;\n    if (*tmpbuflen < uVar13) {\n      pcVar9 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar9,uVar13);\n      *tmpbufp = pcVar9;\n      *tmpbuflen = uVar13;\n    }\n    (*(code *)PTR_memcpy_004c5ba8)(pcVar9,sym_name,iVar10);\n    pcVar9[iVar10] = '\0';\n    if (*(char *)(iVar1 + 1) != '@') {\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,pcVar9,iVar1);\n      sym_name = pcVar9;\n      goto LAB_0014d598;\n    }\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,pcVar9,iVar1 + 2);\n    if (pSVar2 == (Symbol *)0x0) {\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }\n    uVar6 = *(uint *)&pSVar2->field_0x28;\n    uVar13 = uVar6 & 0xe000;\n    if (uVar13 == 0) {\n      if (((pSVar2->u2_).shndx == 0) && ((int)(uVar6 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }\n    if (uVar13 != 0x8000) goto LAB_0014d80c;\nLAB_0014d628:\n    if ((uVar6 << 4) >> 0x1c == 2) goto LAB_0014d80c;\n    *symp = pSVar2;\nLAB_0014d5a8:\n    if (uVar13 == 0) {\n      if ((pSVar2->u2_).shndx != 0) {\n        return SHOULD_INCLUDE_NO;\n      }\n      if (-1 < *(int *)&pSVar2->field_0x28 << 0x1d) {\n        return SHOULD_INCLUDE_NO;\n      }\n    }\n    else if (uVar13 != 0x8000) {\n      return SHOULD_INCLUDE_NO;\n    }\n    iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(layout->script_options_,pcVar9);\n    if (iVar1 != 0) {\n      return SHOULD_INCLUDE_NO;\n    }\n    sym_name = pcVar9;\n    if ((uint)(*(int *)&pSVar2->field_0x28 << 4) >> 0x1c != 2) {\n      return SHOULD_INCLUDE_YES;\n    }\n  }" { (expression_statement "iVar10 = iVar1 - (int)sym_name;" (assignment_expression "iVar10 = iVar1 - (int)sym_name" identifier = (binary_expression "iVar1 - (int)sym_name" identifier - (cast_expression "(int)sym_name" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = iVar10 + 1;" (assignment_expression "uVar13 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (expression_statement "pcVar9 = *tmpbufp;" (assignment_expression "pcVar9 = *tmpbufp" identifier = (pointer_expression "*tmpbufp" * identifier)) ;) (if_statement "if (*tmpbuflen < uVar13) {\n      pcVar9 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar9,uVar13);\n      *tmpbufp = pcVar9;\n      *tmpbuflen = uVar13;\n    }" if (parenthesized_expression "(*tmpbuflen < uVar13)" ( (binary_expression "*tmpbuflen < uVar13" (pointer_expression "*tmpbuflen" * identifier) < identifier) )) (compound_statement "{\n      pcVar9 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar9,uVar13);\n      *tmpbufp = pcVar9;\n      *tmpbuflen = uVar13;\n    }" { (expression_statement "pcVar9 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar9,uVar13);" (assignment_expression "pcVar9 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar9,uVar13)" identifier = (cast_expression "(char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar9,uVar13)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_xrealloc_004c33e4)(pcVar9,uVar13)" (parenthesized_expression "(*(code *)PTR_xrealloc_004c33e4)" ( (pointer_expression "*(code *)PTR_xrealloc_004c33e4" * (cast_expression "(code *)PTR_xrealloc_004c33e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar9,uVar13)" ( identifier , identifier ))))) ;) (expression_statement "*tmpbufp = pcVar9;" (assignment_expression "*tmpbufp = pcVar9" (pointer_expression "*tmpbufp" * identifier) = identifier) ;) (expression_statement "*tmpbuflen = uVar13;" (assignment_expression "*tmpbuflen = uVar13" (pointer_expression "*tmpbuflen" * identifier) = identifier) ;) })) (expression_statement "(*(code *)PTR_memcpy_004c5ba8)(pcVar9,sym_name,iVar10);" (call_expression "(*(code *)PTR_memcpy_004c5ba8)(pcVar9,sym_name,iVar10)" (parenthesized_expression "(*(code *)PTR_memcpy_004c5ba8)" ( (pointer_expression "*(code *)PTR_memcpy_004c5ba8" * (cast_expression "(code *)PTR_memcpy_004c5ba8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar9,sym_name,iVar10)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar9[iVar10] = '\0';" (assignment_expression "pcVar9[iVar10] = '\0'" (subscript_expression "pcVar9[iVar10]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (*(char *)(iVar1 + 1) != '@') {\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,pcVar9,iVar1);\n      sym_name = pcVar9;\n      goto LAB_0014d598;\n    }" if (parenthesized_expression "(*(char *)(iVar1 + 1) != '@')" ( (binary_expression "*(char *)(iVar1 + 1) != '@'" (pointer_expression "*(char *)(iVar1 + 1)" * (cast_expression "(char *)(iVar1 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 1)" ( (binary_expression "iVar1 + 1" identifier + number_literal) )))) != (char_literal "'@'" ' character ')) )) (compound_statement "{\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,pcVar9,iVar1);\n      sym_name = pcVar9;\n      goto LAB_0014d598;\n    }" { (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" identifier = (binary_expression "iVar1 + 1" identifier + number_literal)) ;) (labeled_statement "LAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,pcVar9,iVar1);" statement_identifier : (expression_statement "pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,pcVar9,iVar1);" (assignment_expression "pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,pcVar9,iVar1)" identifier = (cast_expression "(Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,pcVar9,iVar1)" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_lookup_004c1e40)(symtab,pcVar9,iVar1)" (parenthesized_expression "(*(code *)PTR_lookup_004c1e40)" ( (pointer_expression "*(code *)PTR_lookup_004c1e40" * (cast_expression "(code *)PTR_lookup_004c1e40" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(symtab,pcVar9,iVar1)" ( identifier , identifier , identifier ))))) ;)) (expression_statement "sym_name = pcVar9;" (assignment_expression "sym_name = pcVar9" identifier = identifier) ;) (goto_statement "goto LAB_0014d598;" goto statement_identifier ;) })) (expression_statement "pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,pcVar9,iVar1 + 2);" (assignment_expression "pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,pcVar9,iVar1 + 2)" identifier = (cast_expression "(Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,pcVar9,iVar1 + 2)" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_lookup_004c1e40)(symtab,pcVar9,iVar1 + 2)" (parenthesized_expression "(*(code *)PTR_lookup_004c1e40)" ( (pointer_expression "*(code *)PTR_lookup_004c1e40" * (cast_expression "(code *)PTR_lookup_004c1e40" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(symtab,pcVar9,iVar1 + 2)" ( identifier , identifier , (binary_expression "iVar1 + 2" identifier + number_literal) ))))) ;) (if_statement "if (pSVar2 == (Symbol *)0x0) {\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }" if (parenthesized_expression "(pSVar2 == (Symbol *)0x0)" ( (binary_expression "pSVar2 == (Symbol *)0x0" identifier == (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }" { (labeled_statement "LAB_0014d80c:\n      iVar1 = 0;" statement_identifier : (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;)) (goto_statement "goto LAB_0014d584;" goto statement_identifier ;) })) (expression_statement "uVar6 = *(uint *)&pSVar2->field_0x28;" (assignment_expression "uVar6 = *(uint *)&pSVar2->field_0x28" identifier = (pointer_expression "*(uint *)&pSVar2->field_0x28" * (cast_expression "(uint *)&pSVar2->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar2->field_0x28" & (field_expression "pSVar2->field_0x28" identifier -> field_identifier))))) ;) (expression_statement "uVar13 = uVar6 & 0xe000;" (assignment_expression "uVar13 = uVar6 & 0xe000" identifier = (binary_expression "uVar6 & 0xe000" identifier & number_literal)) ;) (if_statement "if (uVar13 == 0) {\n      if (((pSVar2->u2_).shndx == 0) && ((int)(uVar6 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }" if (parenthesized_expression "(uVar13 == 0)" ( (binary_expression "uVar13 == 0" identifier == number_literal) )) (compound_statement "{\n      if (((pSVar2->u2_).shndx == 0) && ((int)(uVar6 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }" { (if_statement "if (((pSVar2->u2_).shndx == 0) && ((int)(uVar6 << 0x1d) < 0)) goto LAB_0014d628;" if (parenthesized_expression "(((pSVar2->u2_).shndx == 0) && ((int)(uVar6 << 0x1d) < 0))" ( (binary_expression "((pSVar2->u2_).shndx == 0) && ((int)(uVar6 << 0x1d) < 0)" (parenthesized_expression "((pSVar2->u2_).shndx == 0)" ( (binary_expression "(pSVar2->u2_).shndx == 0" (field_expression "(pSVar2->u2_).shndx" (parenthesized_expression "(pSVar2->u2_)" ( (field_expression "pSVar2->u2_" identifier -> field_identifier) )) . field_identifier) == number_literal) )) && (parenthesized_expression "((int)(uVar6 << 0x1d) < 0)" ( (binary_expression "(int)(uVar6 << 0x1d) < 0" (cast_expression "(int)(uVar6 << 0x1d)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar6 << 0x1d)" ( (binary_expression "uVar6 << 0x1d" identifier << number_literal) ))) < number_literal) ))) )) (goto_statement "goto LAB_0014d628;" goto statement_identifier ;)) (goto_statement "goto LAB_0014d80c;" goto statement_identifier ;) })) (if_statement "if (uVar13 != 0x8000) goto LAB_0014d80c;" if (parenthesized_expression "(uVar13 != 0x8000)" ( (binary_expression "uVar13 != 0x8000" identifier != number_literal) )) (goto_statement "goto LAB_0014d80c;" goto statement_identifier ;)) (labeled_statement "LAB_0014d628:\n    if ((uVar6 << 4) >> 0x1c == 2) goto LAB_0014d80c;" statement_identifier : (if_statement "if ((uVar6 << 4) >> 0x1c == 2) goto LAB_0014d80c;" if (parenthesized_expression "((uVar6 << 4) >> 0x1c == 2)" ( (binary_expression "(uVar6 << 4) >> 0x1c == 2" (binary_expression "(uVar6 << 4) >> 0x1c" (parenthesized_expression "(uVar6 << 4)" ( (binary_expression "uVar6 << 4" identifier << number_literal) )) >> number_literal) == number_literal) )) (goto_statement "goto LAB_0014d80c;" goto statement_identifier ;))) (expression_statement "*symp = pSVar2;" (assignment_expression "*symp = pSVar2" (pointer_expression "*symp" * identifier) = identifier) ;) (labeled_statement "LAB_0014d5a8:\n    if (uVar13 == 0) {\n      if ((pSVar2->u2_).shndx != 0) {\n        return SHOULD_INCLUDE_NO;\n      }\n      if (-1 < *(int *)&pSVar2->field_0x28 << 0x1d) {\n        return SHOULD_INCLUDE_NO;\n      }\n    }\n    else if (uVar13 != 0x8000) {\n      return SHOULD_INCLUDE_NO;\n    }" statement_identifier : (if_statement "if (uVar13 == 0) {\n      if ((pSVar2->u2_).shndx != 0) {\n        return SHOULD_INCLUDE_NO;\n      }\n      if (-1 < *(int *)&pSVar2->field_0x28 << 0x1d) {\n        return SHOULD_INCLUDE_NO;\n      }\n    }\n    else if (uVar13 != 0x8000) {\n      return SHOULD_INCLUDE_NO;\n    }" if (parenthesized_expression "(uVar13 == 0)" ( (binary_expression "uVar13 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((pSVar2->u2_).shndx != 0) {\n        return SHOULD_INCLUDE_NO;\n      }\n      if (-1 < *(int *)&pSVar2->field_0x28 << 0x1d) {\n        return SHOULD_INCLUDE_NO;\n      }\n    }" { (if_statement "if ((pSVar2->u2_).shndx != 0) {\n        return SHOULD_INCLUDE_NO;\n      }" if (parenthesized_expression "((pSVar2->u2_).shndx != 0)" ( (binary_expression "(pSVar2->u2_).shndx != 0" (field_expression "(pSVar2->u2_).shndx" (parenthesized_expression "(pSVar2->u2_)" ( (field_expression "pSVar2->u2_" identifier -> field_identifier) )) . field_identifier) != number_literal) )) (compound_statement "{\n        return SHOULD_INCLUDE_NO;\n      }" { (return_statement "return SHOULD_INCLUDE_NO;" return identifier ;) })) (if_statement "if (-1 < *(int *)&pSVar2->field_0x28 << 0x1d) {\n        return SHOULD_INCLUDE_NO;\n      }" if (parenthesized_expression "(-1 < *(int *)&pSVar2->field_0x28 << 0x1d)" ( (binary_expression "-1 < *(int *)&pSVar2->field_0x28 << 0x1d" number_literal < (binary_expression "*(int *)&pSVar2->field_0x28 << 0x1d" (pointer_expression "*(int *)&pSVar2->field_0x28" * (cast_expression "(int *)&pSVar2->field_0x28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar2->field_0x28" & (field_expression "pSVar2->field_0x28" identifier -> field_identifier)))) << number_literal)) )) (compound_statement "{\n        return SHOULD_INCLUDE_NO;\n      }" { (return_statement "return SHOULD_INCLUDE_NO;" return identifier ;) })) }) (else_clause "else if (uVar13 != 0x8000) {\n      return SHOULD_INCLUDE_NO;\n    }" else (if_statement "if (uVar13 != 0x8000) {\n      return SHOULD_INCLUDE_NO;\n    }" if (parenthesized_expression "(uVar13 != 0x8000)" ( (binary_expression "uVar13 != 0x8000" identifier != number_literal) )) (compound_statement "{\n      return SHOULD_INCLUDE_NO;\n    }" { (return_statement "return SHOULD_INCLUDE_NO;" return identifier ;) }))))) (expression_statement "iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(layout->script_options_,pcVar9);" (assignment_expression "iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(layout->script_options_,pcVar9)" identifier = (call_expression "(*(code *)PTR_is_pending_assignment_004c33ec)(layout->script_options_,pcVar9)" (parenthesized_expression "(*(code *)PTR_is_pending_assignment_004c33ec)" ( (pointer_expression "*(code *)PTR_is_pending_assignment_004c33ec" * (cast_expression "(code *)PTR_is_pending_assignment_004c33ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(layout->script_options_,pcVar9)" ( (field_expression "layout->script_options_" identifier -> field_identifier) , identifier )))) ;) (if_statement "if (iVar1 != 0) {\n      return SHOULD_INCLUDE_NO;\n    }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      return SHOULD_INCLUDE_NO;\n    }" { (return_statement "return SHOULD_INCLUDE_NO;" return identifier ;) })) (expression_statement "sym_name = pcVar9;" (assignment_expression "sym_name = pcVar9" identifier = identifier) ;) (if_statement "if ((uint)(*(int *)&pSVar2->field_0x28 << 4) >> 0x1c != 2) {\n      return SHOULD_INCLUDE_YES;\n    }" if (parenthesized_expression "((uint)(*(int *)&pSVar2->field_0x28 << 4) >> 0x1c != 2)" ( (binary_expression "(uint)(*(int *)&pSVar2->field_0x28 << 4) >> 0x1c != 2" (binary_expression "(uint)(*(int *)&pSVar2->field_0x28 << 4) >> 0x1c" (call_expression "(uint)(*(int *)&pSVar2->field_0x28 << 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)&pSVar2->field_0x28 << 4)" ( (binary_expression "*(int *)&pSVar2->field_0x28 << 4" (pointer_expression "*(int *)&pSVar2->field_0x28" * (cast_expression "(int *)&pSVar2->field_0x28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar2->field_0x28" & (field_expression "pSVar2->field_0x28" identifier -> field_identifier)))) << number_literal) ))) >> number_literal) != number_literal) )) (compound_statement "{\n      return SHOULD_INCLUDE_YES;\n    }" { (return_statement "return SHOULD_INCLUDE_YES;" return identifier ;) })) }))) (expression_statement "puVar8 = PTR_parameters_004c19b4;" (assignment_expression "puVar8 = PTR_parameters_004c19b4" identifier = identifier) ;) (expression_statement "iVar1 = *(int *)PTR_parameters_004c19b4;" (assignment_expression "iVar1 = *(int *)PTR_parameters_004c19b4" identifier = (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar10 = *(int *)(iVar1 + 8);" (assignment_expression "iVar10 = *(int *)(iVar1 + 8)" identifier = (pointer_expression "*(int *)(iVar1 + 8)" * (cast_expression "(int *)(iVar1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 8)" ( (binary_expression "iVar1 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar10 != 0) {\n    if (*(int *)(iVar10 + 0x42a4) != 0) {\n      paVar12 = &local_48.field_2;\n      local_48._M_dataplus._M_p = (pointer)paVar12;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_48,sym_name,sym_name + iVar1,0);\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)(iVar10 + 0x4298));\n      if (local_30 == (__bucket_type *)0x0) {\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_48._M_dataplus._M_p == paVar12) {\n          iVar1 = *(int *)puVar8;\n        }\n        else {\n          (*(code *)PTR_operator_delete_004c12fc)();\n          iVar1 = *(int *)puVar8;\n        }\n        goto LAB_0014d684;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_48._M_dataplus._M_p != paVar12) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      sVar7 = why->_M_string_length;\n      puVar8 = PTR_s__s_004c1a50 + -0x1704;\n      uVar4 = 3;\nLAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(why,0,sVar7,puVar8,uVar4);\n      uVar13 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n      if (uVar13 <= 0x7fffffff - why->_M_string_length) {\n        (*(code *)PTR__M_append_004c1e68)(why,sym_name,uVar13);\n        return SHOULD_INCLUDE_YES;\n      }\n      goto LAB_0014daf8;\n    }\nLAB_0014d684:\n    iVar1 = *(int *)(iVar1 + 8);\n    if (iVar1 != 0) {\n      paVar12 = &local_48.field_2;\n      if (*(int *)(iVar1 + 0x1348) == 0) {\n        pSVar11 = layout->script_options_;\n      }\n      else {\n        local_48._M_dataplus._M_p = (pointer)paVar12;\n        iVar10 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&local_48,sym_name,sym_name + iVar10,0);\n        std::\n        _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                *)&local_30,(key_type *)(iVar1 + 0x133c));\n        if (local_30 != (__bucket_type *)0x0) {\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)local_48._M_dataplus._M_p != paVar12) {\n            (*(code *)PTR_operator_delete_004c12fc)();\n          }\n          sVar7 = why->_M_string_length;\n          puVar8 = PTR_s__s_004c1a50 + -0x1700;\n          uVar4 = 0x18;\n          goto LAB_0014d958;\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_48._M_dataplus._M_p != paVar12) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        pSVar11 = layout->script_options_;\n      }\n      local_48._M_dataplus._M_p = (pointer)paVar12;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_48,sym_name,sym_name + iVar1,0);\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)&pSVar11->symbol_references_);\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_48._M_dataplus._M_p != paVar12) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      if (local_30 != (__bucket_type *)0x0) {\n        iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n        uVar4 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);\n        uVar3 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);\n        (*(code *)PTR_snprintf_004c5a94)(uVar4,iVar1 + 100,uVar3,sym_name);\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar4);\n        (*(code *)PTR__M_replace_004c20a0)(why,0,why->_M_string_length,uVar4,uVar3);\n        (*(code *)PTR_operator_delete___004c21b8)(uVar4);\n        return SHOULD_INCLUDE_YES;\n      }\n      if (*(int *)(*(int *)puVar8 + 8) != 0) {\n        if (((*(char *)(*(int *)(*(int *)puVar8 + 8) + 0x3195) != '\0') ||\n            (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n           (iVar1 = (*(code *)PTR_strcmp_004c5a68)(sym_name,iVar1), iVar1 != 0)) {\n          return SHOULD_INCLUDE_UNKNOWN;\n        }\n        sVar7 = why->_M_string_length;\n        puVar8 = PTR_s__s_004c1a50 + -0x16bc;\n        uVar4 = 0xd;\n        goto LAB_0014d958;\n      }\n    }\n  }" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)(iVar10 + 0x42a4) != 0) {\n      paVar12 = &local_48.field_2;\n      local_48._M_dataplus._M_p = (pointer)paVar12;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_48,sym_name,sym_name + iVar1,0);\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)(iVar10 + 0x4298));\n      if (local_30 == (__bucket_type *)0x0) {\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_48._M_dataplus._M_p == paVar12) {\n          iVar1 = *(int *)puVar8;\n        }\n        else {\n          (*(code *)PTR_operator_delete_004c12fc)();\n          iVar1 = *(int *)puVar8;\n        }\n        goto LAB_0014d684;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_48._M_dataplus._M_p != paVar12) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      sVar7 = why->_M_string_length;\n      puVar8 = PTR_s__s_004c1a50 + -0x1704;\n      uVar4 = 3;\nLAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(why,0,sVar7,puVar8,uVar4);\n      uVar13 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n      if (uVar13 <= 0x7fffffff - why->_M_string_length) {\n        (*(code *)PTR__M_append_004c1e68)(why,sym_name,uVar13);\n        return SHOULD_INCLUDE_YES;\n      }\n      goto LAB_0014daf8;\n    }\nLAB_0014d684:\n    iVar1 = *(int *)(iVar1 + 8);\n    if (iVar1 != 0) {\n      paVar12 = &local_48.field_2;\n      if (*(int *)(iVar1 + 0x1348) == 0) {\n        pSVar11 = layout->script_options_;\n      }\n      else {\n        local_48._M_dataplus._M_p = (pointer)paVar12;\n        iVar10 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&local_48,sym_name,sym_name + iVar10,0);\n        std::\n        _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                *)&local_30,(key_type *)(iVar1 + 0x133c));\n        if (local_30 != (__bucket_type *)0x0) {\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)local_48._M_dataplus._M_p != paVar12) {\n            (*(code *)PTR_operator_delete_004c12fc)();\n          }\n          sVar7 = why->_M_string_length;\n          puVar8 = PTR_s__s_004c1a50 + -0x1700;\n          uVar4 = 0x18;\n          goto LAB_0014d958;\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_48._M_dataplus._M_p != paVar12) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        pSVar11 = layout->script_options_;\n      }\n      local_48._M_dataplus._M_p = (pointer)paVar12;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_48,sym_name,sym_name + iVar1,0);\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)&pSVar11->symbol_references_);\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_48._M_dataplus._M_p != paVar12) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      if (local_30 != (__bucket_type *)0x0) {\n        iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n        uVar4 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);\n        uVar3 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);\n        (*(code *)PTR_snprintf_004c5a94)(uVar4,iVar1 + 100,uVar3,sym_name);\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar4);\n        (*(code *)PTR__M_replace_004c20a0)(why,0,why->_M_string_length,uVar4,uVar3);\n        (*(code *)PTR_operator_delete___004c21b8)(uVar4);\n        return SHOULD_INCLUDE_YES;\n      }\n      if (*(int *)(*(int *)puVar8 + 8) != 0) {\n        if (((*(char *)(*(int *)(*(int *)puVar8 + 8) + 0x3195) != '\0') ||\n            (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n           (iVar1 = (*(code *)PTR_strcmp_004c5a68)(sym_name,iVar1), iVar1 != 0)) {\n          return SHOULD_INCLUDE_UNKNOWN;\n        }\n        sVar7 = why->_M_string_length;\n        puVar8 = PTR_s__s_004c1a50 + -0x16bc;\n        uVar4 = 0xd;\n        goto LAB_0014d958;\n      }\n    }\n  }" { (if_statement "if (*(int *)(iVar10 + 0x42a4) != 0) {\n      paVar12 = &local_48.field_2;\n      local_48._M_dataplus._M_p = (pointer)paVar12;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_48,sym_name,sym_name + iVar1,0);\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)(iVar10 + 0x4298));\n      if (local_30 == (__bucket_type *)0x0) {\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_48._M_dataplus._M_p == paVar12) {\n          iVar1 = *(int *)puVar8;\n        }\n        else {\n          (*(code *)PTR_operator_delete_004c12fc)();\n          iVar1 = *(int *)puVar8;\n        }\n        goto LAB_0014d684;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_48._M_dataplus._M_p != paVar12) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      sVar7 = why->_M_string_length;\n      puVar8 = PTR_s__s_004c1a50 + -0x1704;\n      uVar4 = 3;\nLAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(why,0,sVar7,puVar8,uVar4);\n      uVar13 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n      if (uVar13 <= 0x7fffffff - why->_M_string_length) {\n        (*(code *)PTR__M_append_004c1e68)(why,sym_name,uVar13);\n        return SHOULD_INCLUDE_YES;\n      }\n      goto LAB_0014daf8;\n    }" if (parenthesized_expression "(*(int *)(iVar10 + 0x42a4) != 0)" ( (binary_expression "*(int *)(iVar10 + 0x42a4) != 0" (pointer_expression "*(int *)(iVar10 + 0x42a4)" * (cast_expression "(int *)(iVar10 + 0x42a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x42a4)" ( (binary_expression "iVar10 + 0x42a4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      paVar12 = &local_48.field_2;\n      local_48._M_dataplus._M_p = (pointer)paVar12;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_48,sym_name,sym_name + iVar1,0);\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)(iVar10 + 0x4298));\n      if (local_30 == (__bucket_type *)0x0) {\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_48._M_dataplus._M_p == paVar12) {\n          iVar1 = *(int *)puVar8;\n        }\n        else {\n          (*(code *)PTR_operator_delete_004c12fc)();\n          iVar1 = *(int *)puVar8;\n        }\n        goto LAB_0014d684;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_48._M_dataplus._M_p != paVar12) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      sVar7 = why->_M_string_length;\n      puVar8 = PTR_s__s_004c1a50 + -0x1704;\n      uVar4 = 3;\nLAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(why,0,sVar7,puVar8,uVar4);\n      uVar13 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n      if (uVar13 <= 0x7fffffff - why->_M_string_length) {\n        (*(code *)PTR__M_append_004c1e68)(why,sym_name,uVar13);\n        return SHOULD_INCLUDE_YES;\n      }\n      goto LAB_0014daf8;\n    }" { (expression_statement "paVar12 = &local_48.field_2;" (assignment_expression "paVar12 = &local_48.field_2" identifier = (pointer_expression "&local_48.field_2" & (field_expression "local_48.field_2" identifier . field_identifier))) ;) (expression_statement "local_48._M_dataplus._M_p = (pointer)paVar12;" (assignment_expression "local_48._M_dataplus._M_p = (pointer)paVar12" (field_expression "local_48._M_dataplus._M_p" (field_expression "local_48._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)paVar12" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name);" (assignment_expression "iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(sym_name)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(sym_name)" ( identifier )))) ;) (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_48,sym_name,sym_name + iVar1,0);" statement_identifier (ERROR "::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>:" : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > :) : (expression_statement "_M_construct<char_const*>(&local_48,sym_name,sym_name + iVar1,0);" (binary_expression "_M_construct<char_const*>(&local_48,sym_name,sym_name + iVar1,0)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&local_48,sym_name,sym_name + iVar1,0)" ( (comma_expression "&local_48,sym_name,sym_name + iVar1,0" (pointer_expression "&local_48" & identifier) , (comma_expression "sym_name,sym_name + iVar1,0" identifier , (comma_expression "sym_name + iVar1,0" (binary_expression "sym_name + iVar1" identifier + identifier) , number_literal))) ))) ;)) (ERROR "std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::" (comma_expression "std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std" identifier (ERROR "::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > 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>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std" identifier (ERROR "::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>" : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) >) , identifier) : : (binary_expression "hash<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)(iVar10 + 0x4298));" 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,_true,_true>_>\n      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)(iVar10 + 0x4298));" 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,_true,_true>_>\n      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)(iVar10 + 0x4298));" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)(iVar10 + 0x4298));" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_true,_true>_>\n      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)(iVar10 + 0x4298));" (comma_expression "_Hashtable_traits<true,_true,_true>_>\n      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)(iVar10 + 0x4298))" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)(iVar10 + 0x4298))" identifier , (binary_expression "_true>_>\n      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)(iVar10 + 0x4298))" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)(iVar10 + 0x4298))" identifier (argument_list "((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)(iVar10 + 0x4298))" ( (binary_expression "(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30" (parenthesized_expression "(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)" ( (ERROR "_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<std::__cxx11::basic_string<char,_std" (binary_expression "_Hashtable<std::__cxx11::basic_string<char" (binary_expression "_Hashtable<std" 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) : : 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>_>,_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>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<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>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "hash<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>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) 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,_true,_true>_>\n              *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n              *" identifier , (binary_expression "_true>_>\n              *" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*" * identifier)))) )) & identifier) , (cast_expression "(key_type *)(iVar10 + 0x4298)" ( (type_descriptor "key_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x4298)" ( (binary_expression "iVar10 + 0x4298" identifier + number_literal) ))) )))))) ;))))) (if_statement "if (local_30 == (__bucket_type *)0x0) {\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_48._M_dataplus._M_p == paVar12) {\n          iVar1 = *(int *)puVar8;\n        }\n        else {\n          (*(code *)PTR_operator_delete_004c12fc)();\n          iVar1 = *(int *)puVar8;\n        }\n        goto LAB_0014d684;\n      }" if (parenthesized_expression "(local_30 == (__bucket_type *)0x0)" ( (binary_expression "local_30 == (__bucket_type *)0x0" identifier == (cast_expression "(__bucket_type *)0x0" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_48._M_dataplus._M_p == paVar12) {\n          iVar1 = *(int *)puVar8;\n        }\n        else {\n          (*(code *)PTR_operator_delete_004c12fc)();\n          iVar1 = *(int *)puVar8;\n        }\n        goto LAB_0014d684;\n      }" { (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_48._M_dataplus._M_p == paVar12) {\n          iVar1 = *(int *)puVar8;\n        }\n        else {\n          (*(code *)PTR_operator_delete_004c12fc)();\n          iVar1 = *(int *)puVar8;\n        }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_48._M_dataplus._M_p == paVar12)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_48._M_dataplus._M_p == paVar12)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n             *)local_48._M_dataplus._M_p == paVar12" (binary_expression "allocator<char>_>_9\n             *)local_48._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n             *)local_48._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "local_48._M_dataplus._M_p" (field_expression "local_48._M_dataplus" identifier . field_identifier) . field_identifier))) == identifier) )) )) (compound_statement "{\n          iVar1 = *(int *)puVar8;\n        }" { (expression_statement "iVar1 = *(int *)puVar8;" (assignment_expression "iVar1 = *(int *)puVar8" identifier = (pointer_expression "*(int *)puVar8" * (cast_expression "(int *)puVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) (else_clause "else {\n          (*(code *)PTR_operator_delete_004c12fc)();\n          iVar1 = *(int *)puVar8;\n        }" else (compound_statement "{\n          (*(code *)PTR_operator_delete_004c12fc)();\n          iVar1 = *(int *)puVar8;\n        }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar1 = *(int *)puVar8;" (assignment_expression "iVar1 = *(int *)puVar8" identifier = (pointer_expression "*(int *)puVar8" * (cast_expression "(int *)puVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) }))) (goto_statement "goto LAB_0014d684;" goto statement_identifier ;) })) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_48._M_dataplus._M_p != paVar12) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_48._M_dataplus._M_p != paVar12)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_48._M_dataplus._M_p != paVar12)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n           *)local_48._M_dataplus._M_p != paVar12" (binary_expression "allocator<char>_>_9\n           *)local_48._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n           *)local_48._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "local_48._M_dataplus._M_p" (field_expression "local_48._M_dataplus" identifier . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (expression_statement "sVar7 = why->_M_string_length;" (assignment_expression "sVar7 = why->_M_string_length" identifier = (field_expression "why->_M_string_length" identifier -> field_identifier)) ;) (expression_statement "puVar8 = PTR_s__s_004c1a50 + -0x1704;" (assignment_expression "puVar8 = PTR_s__s_004c1a50 + -0x1704" identifier = (binary_expression "PTR_s__s_004c1a50 + -0x1704" identifier + number_literal)) ;) (expression_statement "uVar4 = 3;" (assignment_expression "uVar4 = 3" identifier = number_literal) ;) (labeled_statement "LAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(why,0,sVar7,puVar8,uVar4);" statement_identifier : (expression_statement "(*(code *)PTR__M_replace_004c20a0)(why,0,sVar7,puVar8,uVar4);" (call_expression "(*(code *)PTR__M_replace_004c20a0)(why,0,sVar7,puVar8,uVar4)" (parenthesized_expression "(*(code *)PTR__M_replace_004c20a0)" ( (pointer_expression "*(code *)PTR__M_replace_004c20a0" * (cast_expression "(code *)PTR__M_replace_004c20a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(why,0,sVar7,puVar8,uVar4)" ( identifier , number_literal , identifier , identifier , identifier ))) ;)) (expression_statement "uVar13 = (*(code *)PTR_strlen_004c5b9c)(sym_name);" (assignment_expression "uVar13 = (*(code *)PTR_strlen_004c5b9c)(sym_name)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(sym_name)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(sym_name)" ( identifier )))) ;) (if_statement "if (uVar13 <= 0x7fffffff - why->_M_string_length) {\n        (*(code *)PTR__M_append_004c1e68)(why,sym_name,uVar13);\n        return SHOULD_INCLUDE_YES;\n      }" if (parenthesized_expression "(uVar13 <= 0x7fffffff - why->_M_string_length)" ( (binary_expression "uVar13 <= 0x7fffffff - why->_M_string_length" identifier <= (binary_expression "0x7fffffff - why->_M_string_length" number_literal - (field_expression "why->_M_string_length" identifier -> field_identifier))) )) (compound_statement "{\n        (*(code *)PTR__M_append_004c1e68)(why,sym_name,uVar13);\n        return SHOULD_INCLUDE_YES;\n      }" { (expression_statement "(*(code *)PTR__M_append_004c1e68)(why,sym_name,uVar13);" (call_expression "(*(code *)PTR__M_append_004c1e68)(why,sym_name,uVar13)" (parenthesized_expression "(*(code *)PTR__M_append_004c1e68)" ( (pointer_expression "*(code *)PTR__M_append_004c1e68" * (cast_expression "(code *)PTR__M_append_004c1e68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(why,sym_name,uVar13)" ( identifier , identifier , identifier ))) ;) (return_statement "return SHOULD_INCLUDE_YES;" return identifier ;) })) (goto_statement "goto LAB_0014daf8;" goto statement_identifier ;) })) (labeled_statement "LAB_0014d684:\n    iVar1 = *(int *)(iVar1 + 8);" statement_identifier : (expression_statement "iVar1 = *(int *)(iVar1 + 8);" (assignment_expression "iVar1 = *(int *)(iVar1 + 8)" identifier = (pointer_expression "*(int *)(iVar1 + 8)" * (cast_expression "(int *)(iVar1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 8)" ( (binary_expression "iVar1 + 8" identifier + number_literal) ))))) ;)) (if_statement "if (iVar1 != 0) {\n      paVar12 = &local_48.field_2;\n      if (*(int *)(iVar1 + 0x1348) == 0) {\n        pSVar11 = layout->script_options_;\n      }\n      else {\n        local_48._M_dataplus._M_p = (pointer)paVar12;\n        iVar10 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&local_48,sym_name,sym_name + iVar10,0);\n        std::\n        _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                *)&local_30,(key_type *)(iVar1 + 0x133c));\n        if (local_30 != (__bucket_type *)0x0) {\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)local_48._M_dataplus._M_p != paVar12) {\n            (*(code *)PTR_operator_delete_004c12fc)();\n          }\n          sVar7 = why->_M_string_length;\n          puVar8 = PTR_s__s_004c1a50 + -0x1700;\n          uVar4 = 0x18;\n          goto LAB_0014d958;\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_48._M_dataplus._M_p != paVar12) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        pSVar11 = layout->script_options_;\n      }\n      local_48._M_dataplus._M_p = (pointer)paVar12;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_48,sym_name,sym_name + iVar1,0);\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)&pSVar11->symbol_references_);\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_48._M_dataplus._M_p != paVar12) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      if (local_30 != (__bucket_type *)0x0) {\n        iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n        uVar4 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);\n        uVar3 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);\n        (*(code *)PTR_snprintf_004c5a94)(uVar4,iVar1 + 100,uVar3,sym_name);\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar4);\n        (*(code *)PTR__M_replace_004c20a0)(why,0,why->_M_string_length,uVar4,uVar3);\n        (*(code *)PTR_operator_delete___004c21b8)(uVar4);\n        return SHOULD_INCLUDE_YES;\n      }\n      if (*(int *)(*(int *)puVar8 + 8) != 0) {\n        if (((*(char *)(*(int *)(*(int *)puVar8 + 8) + 0x3195) != '\0') ||\n            (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n           (iVar1 = (*(code *)PTR_strcmp_004c5a68)(sym_name,iVar1), iVar1 != 0)) {\n          return SHOULD_INCLUDE_UNKNOWN;\n        }\n        sVar7 = why->_M_string_length;\n        puVar8 = PTR_s__s_004c1a50 + -0x16bc;\n        uVar4 = 0xd;\n        goto LAB_0014d958;\n      }\n    }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      paVar12 = &local_48.field_2;\n      if (*(int *)(iVar1 + 0x1348) == 0) {\n        pSVar11 = layout->script_options_;\n      }\n      else {\n        local_48._M_dataplus._M_p = (pointer)paVar12;\n        iVar10 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&local_48,sym_name,sym_name + iVar10,0);\n        std::\n        _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                *)&local_30,(key_type *)(iVar1 + 0x133c));\n        if (local_30 != (__bucket_type *)0x0) {\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)local_48._M_dataplus._M_p != paVar12) {\n            (*(code *)PTR_operator_delete_004c12fc)();\n          }\n          sVar7 = why->_M_string_length;\n          puVar8 = PTR_s__s_004c1a50 + -0x1700;\n          uVar4 = 0x18;\n          goto LAB_0014d958;\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_48._M_dataplus._M_p != paVar12) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        pSVar11 = layout->script_options_;\n      }\n      local_48._M_dataplus._M_p = (pointer)paVar12;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_48,sym_name,sym_name + iVar1,0);\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)&pSVar11->symbol_references_);\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_48._M_dataplus._M_p != paVar12) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n      if (local_30 != (__bucket_type *)0x0) {\n        iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n        uVar4 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);\n        uVar3 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);\n        (*(code *)PTR_snprintf_004c5a94)(uVar4,iVar1 + 100,uVar3,sym_name);\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar4);\n        (*(code *)PTR__M_replace_004c20a0)(why,0,why->_M_string_length,uVar4,uVar3);\n        (*(code *)PTR_operator_delete___004c21b8)(uVar4);\n        return SHOULD_INCLUDE_YES;\n      }\n      if (*(int *)(*(int *)puVar8 + 8) != 0) {\n        if (((*(char *)(*(int *)(*(int *)puVar8 + 8) + 0x3195) != '\0') ||\n            (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n           (iVar1 = (*(code *)PTR_strcmp_004c5a68)(sym_name,iVar1), iVar1 != 0)) {\n          return SHOULD_INCLUDE_UNKNOWN;\n        }\n        sVar7 = why->_M_string_length;\n        puVar8 = PTR_s__s_004c1a50 + -0x16bc;\n        uVar4 = 0xd;\n        goto LAB_0014d958;\n      }\n    }" { (expression_statement "paVar12 = &local_48.field_2;" (assignment_expression "paVar12 = &local_48.field_2" identifier = (pointer_expression "&local_48.field_2" & (field_expression "local_48.field_2" identifier . field_identifier))) ;) (if_statement "if (*(int *)(iVar1 + 0x1348) == 0) {\n        pSVar11 = layout->script_options_;\n      }\n      else {\n        local_48._M_dataplus._M_p = (pointer)paVar12;\n        iVar10 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&local_48,sym_name,sym_name + iVar10,0);\n        std::\n        _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                *)&local_30,(key_type *)(iVar1 + 0x133c));\n        if (local_30 != (__bucket_type *)0x0) {\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)local_48._M_dataplus._M_p != paVar12) {\n            (*(code *)PTR_operator_delete_004c12fc)();\n          }\n          sVar7 = why->_M_string_length;\n          puVar8 = PTR_s__s_004c1a50 + -0x1700;\n          uVar4 = 0x18;\n          goto LAB_0014d958;\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_48._M_dataplus._M_p != paVar12) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        pSVar11 = layout->script_options_;\n      }" if (parenthesized_expression "(*(int *)(iVar1 + 0x1348) == 0)" ( (binary_expression "*(int *)(iVar1 + 0x1348) == 0" (pointer_expression "*(int *)(iVar1 + 0x1348)" * (cast_expression "(int *)(iVar1 + 0x1348)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x1348)" ( (binary_expression "iVar1 + 0x1348" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        pSVar11 = layout->script_options_;\n      }" { (expression_statement "pSVar11 = layout->script_options_;" (assignment_expression "pSVar11 = layout->script_options_" identifier = (field_expression "layout->script_options_" identifier -> field_identifier)) ;) }) (else_clause "else {\n        local_48._M_dataplus._M_p = (pointer)paVar12;\n        iVar10 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&local_48,sym_name,sym_name + iVar10,0);\n        std::\n        _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                *)&local_30,(key_type *)(iVar1 + 0x133c));\n        if (local_30 != (__bucket_type *)0x0) {\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)local_48._M_dataplus._M_p != paVar12) {\n            (*(code *)PTR_operator_delete_004c12fc)();\n          }\n          sVar7 = why->_M_string_length;\n          puVar8 = PTR_s__s_004c1a50 + -0x1700;\n          uVar4 = 0x18;\n          goto LAB_0014d958;\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_48._M_dataplus._M_p != paVar12) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        pSVar11 = layout->script_options_;\n      }" else (compound_statement "{\n        local_48._M_dataplus._M_p = (pointer)paVar12;\n        iVar10 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&local_48,sym_name,sym_name + iVar10,0);\n        std::\n        _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                *)&local_30,(key_type *)(iVar1 + 0x133c));\n        if (local_30 != (__bucket_type *)0x0) {\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)local_48._M_dataplus._M_p != paVar12) {\n            (*(code *)PTR_operator_delete_004c12fc)();\n          }\n          sVar7 = why->_M_string_length;\n          puVar8 = PTR_s__s_004c1a50 + -0x1700;\n          uVar4 = 0x18;\n          goto LAB_0014d958;\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_48._M_dataplus._M_p != paVar12) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        pSVar11 = layout->script_options_;\n      }" { (expression_statement "local_48._M_dataplus._M_p = (pointer)paVar12;" (assignment_expression "local_48._M_dataplus._M_p = (pointer)paVar12" (field_expression "local_48._M_dataplus._M_p" (field_expression "local_48._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)paVar12" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "iVar10 = (*(code *)PTR_strlen_004c5b9c)(sym_name);" (assignment_expression "iVar10 = (*(code *)PTR_strlen_004c5b9c)(sym_name)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(sym_name)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(sym_name)" ( identifier )))) ;) (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&local_48,sym_name,sym_name + iVar10,0);" statement_identifier (ERROR "::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>:" : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > :) : (expression_statement "_M_construct<char_const*>(&local_48,sym_name,sym_name + iVar10,0);" (binary_expression "_M_construct<char_const*>(&local_48,sym_name,sym_name + iVar10,0)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&local_48,sym_name,sym_name + iVar10,0)" ( (comma_expression "&local_48,sym_name,sym_name + iVar10,0" (pointer_expression "&local_48" & identifier) , (comma_expression "sym_name,sym_name + iVar10,0" identifier , (comma_expression "sym_name + iVar10,0" (binary_expression "sym_name + iVar10" identifier + identifier) , number_literal))) ))) ;)) (ERROR "std::\n        _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::" (comma_expression "std::\n        _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std" identifier (ERROR "::\n        _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > 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>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std" identifier (ERROR "::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>" : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) >) , identifier) : : (binary_expression "hash<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                *)&local_30,(key_type *)(iVar1 + 0x133c));" 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,_true,_true>_>\n        ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                *)&local_30,(key_type *)(iVar1 + 0x133c));" 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,_true,_true>_>\n        ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                *)&local_30,(key_type *)(iVar1 + 0x133c));" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_true,_true>_>\n        ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                *)&local_30,(key_type *)(iVar1 + 0x133c));" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_true,_true>_>\n        ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                *)&local_30,(key_type *)(iVar1 + 0x133c));" (comma_expression "_Hashtable_traits<true,_true,_true>_>\n        ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                *)&local_30,(key_type *)(iVar1 + 0x133c))" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n        ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                *)&local_30,(key_type *)(iVar1 + 0x133c))" identifier , (binary_expression "_true>_>\n        ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                *)&local_30,(key_type *)(iVar1 + 0x133c))" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                *)&local_30,(key_type *)(iVar1 + 0x133c))" identifier (argument_list "((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                *)&local_30,(key_type *)(iVar1 + 0x133c))" ( (binary_expression "(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                *)&local_30" (parenthesized_expression "(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                *)" ( (ERROR "_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<std::__cxx11::basic_string<char,_std" (binary_expression "_Hashtable<std::__cxx11::basic_string<char" (binary_expression "_Hashtable<std" 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) : : 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>_>,_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>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<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>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "hash<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>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) 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,_true,_true>_>\n                *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n                *" identifier , (binary_expression "_true>_>\n                *" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*" * identifier)))) )) & identifier) , (cast_expression "(key_type *)(iVar1 + 0x133c)" ( (type_descriptor "key_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x133c)" ( (binary_expression "iVar1 + 0x133c" identifier + number_literal) ))) )))))) ;))))) (if_statement "if (local_30 != (__bucket_type *)0x0) {\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)local_48._M_dataplus._M_p != paVar12) {\n            (*(code *)PTR_operator_delete_004c12fc)();\n          }\n          sVar7 = why->_M_string_length;\n          puVar8 = PTR_s__s_004c1a50 + -0x1700;\n          uVar4 = 0x18;\n          goto LAB_0014d958;\n        }" if (parenthesized_expression "(local_30 != (__bucket_type *)0x0)" ( (binary_expression "local_30 != (__bucket_type *)0x0" identifier != (cast_expression "(__bucket_type *)0x0" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)local_48._M_dataplus._M_p != paVar12) {\n            (*(code *)PTR_operator_delete_004c12fc)();\n          }\n          sVar7 = why->_M_string_length;\n          puVar8 = PTR_s__s_004c1a50 + -0x1700;\n          uVar4 = 0x18;\n          goto LAB_0014d958;\n        }" { (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)local_48._M_dataplus._M_p != paVar12) {\n            (*(code *)PTR_operator_delete_004c12fc)();\n          }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)local_48._M_dataplus._M_p != paVar12)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)local_48._M_dataplus._M_p != paVar12)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n               *)local_48._M_dataplus._M_p != paVar12" (binary_expression "allocator<char>_>_9\n               *)local_48._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n               *)local_48._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "local_48._M_dataplus._M_p" (field_expression "local_48._M_dataplus" identifier . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n            (*(code *)PTR_operator_delete_004c12fc)();\n          }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (expression_statement "sVar7 = why->_M_string_length;" (assignment_expression "sVar7 = why->_M_string_length" identifier = (field_expression "why->_M_string_length" identifier -> field_identifier)) ;) (expression_statement "puVar8 = PTR_s__s_004c1a50 + -0x1700;" (assignment_expression "puVar8 = PTR_s__s_004c1a50 + -0x1700" identifier = (binary_expression "PTR_s__s_004c1a50 + -0x1700" identifier + number_literal)) ;) (expression_statement "uVar4 = 0x18;" (assignment_expression "uVar4 = 0x18" identifier = number_literal) ;) (goto_statement "goto LAB_0014d958;" goto statement_identifier ;) })) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_48._M_dataplus._M_p != paVar12) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_48._M_dataplus._M_p != paVar12)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_48._M_dataplus._M_p != paVar12)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n             *)local_48._M_dataplus._M_p != paVar12" (binary_expression "allocator<char>_>_9\n             *)local_48._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n             *)local_48._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "local_48._M_dataplus._M_p" (field_expression "local_48._M_dataplus" identifier . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (expression_statement "pSVar11 = layout->script_options_;" (assignment_expression "pSVar11 = layout->script_options_" identifier = (field_expression "layout->script_options_" identifier -> field_identifier)) ;) }))) (expression_statement "local_48._M_dataplus._M_p = (pointer)paVar12;" (assignment_expression "local_48._M_dataplus._M_p = (pointer)paVar12" (field_expression "local_48._M_dataplus._M_p" (field_expression "local_48._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)paVar12" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name);" (assignment_expression "iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(sym_name)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(sym_name)" ( identifier )))) ;) (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_48,sym_name,sym_name + iVar1,0);" statement_identifier (ERROR "::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>:" : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > :) : (expression_statement "_M_construct<char_const*>(&local_48,sym_name,sym_name + iVar1,0);" (binary_expression "_M_construct<char_const*>(&local_48,sym_name,sym_name + iVar1,0)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&local_48,sym_name,sym_name + iVar1,0)" ( (comma_expression "&local_48,sym_name,sym_name + iVar1,0" (pointer_expression "&local_48" & identifier) , (comma_expression "sym_name,sym_name + iVar1,0" identifier , (comma_expression "sym_name + iVar1,0" (binary_expression "sym_name + iVar1" identifier + identifier) , number_literal))) ))) ;)) (ERROR "std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::" (comma_expression "std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std" identifier (ERROR "::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > 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>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std" identifier (ERROR "::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>" : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) >) , identifier) : : (binary_expression "hash<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)&pSVar11->symbol_references_);" 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,_true,_true>_>\n      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)&pSVar11->symbol_references_);" 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,_true,_true>_>\n      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)&pSVar11->symbol_references_);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)&pSVar11->symbol_references_);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_true,_true>_>\n      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)&pSVar11->symbol_references_);" (comma_expression "_Hashtable_traits<true,_true,_true>_>\n      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)&pSVar11->symbol_references_)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)&pSVar11->symbol_references_)" identifier , (binary_expression "_true>_>\n      ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)&pSVar11->symbol_references_)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)&pSVar11->symbol_references_)" identifier (argument_list "((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30,(key_type *)&pSVar11->symbol_references_)" ( (binary_expression "(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)&local_30" (parenthesized_expression "(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n              *)" ( (ERROR "_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<std::__cxx11::basic_string<char,_std" (binary_expression "_Hashtable<std::__cxx11::basic_string<char" (binary_expression "_Hashtable<std" 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) : : 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>_>,_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>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<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>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "hash<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>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) 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,_true,_true>_>\n              *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n              *" identifier , (binary_expression "_true>_>\n              *" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*" * identifier)))) )) & identifier) , (cast_expression "(key_type *)&pSVar11->symbol_references_" ( (type_descriptor "key_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar11->symbol_references_" & (field_expression "pSVar11->symbol_references_" identifier -> field_identifier))) )))))) ;))))) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_48._M_dataplus._M_p != paVar12) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_48._M_dataplus._M_p != paVar12)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_48._M_dataplus._M_p != paVar12)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n           *)local_48._M_dataplus._M_p != paVar12" (binary_expression "allocator<char>_>_9\n           *)local_48._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n           *)local_48._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "local_48._M_dataplus._M_p" (field_expression "local_48._M_dataplus" identifier . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (if_statement "if (local_30 != (__bucket_type *)0x0) {\n        iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n        uVar4 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);\n        uVar3 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);\n        (*(code *)PTR_snprintf_004c5a94)(uVar4,iVar1 + 100,uVar3,sym_name);\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar4);\n        (*(code *)PTR__M_replace_004c20a0)(why,0,why->_M_string_length,uVar4,uVar3);\n        (*(code *)PTR_operator_delete___004c21b8)(uVar4);\n        return SHOULD_INCLUDE_YES;\n      }" if (parenthesized_expression "(local_30 != (__bucket_type *)0x0)" ( (binary_expression "local_30 != (__bucket_type *)0x0" identifier != (cast_expression "(__bucket_type *)0x0" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name);\n        uVar4 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);\n        uVar3 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);\n        (*(code *)PTR_snprintf_004c5a94)(uVar4,iVar1 + 100,uVar3,sym_name);\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar4);\n        (*(code *)PTR__M_replace_004c20a0)(why,0,why->_M_string_length,uVar4,uVar3);\n        (*(code *)PTR_operator_delete___004c21b8)(uVar4);\n        return SHOULD_INCLUDE_YES;\n      }" { (expression_statement "iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name);" (assignment_expression "iVar1 = (*(code *)PTR_strlen_004c5b9c)(sym_name)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(sym_name)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(sym_name)" ( identifier )))) ;) (expression_statement "uVar4 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);" (assignment_expression "uVar4 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100)" identifier = (call_expression "(*(code *)PTR_operator_new___004c134c)(iVar1 + 100)" (parenthesized_expression "(*(code *)PTR_operator_new___004c134c)" ( (pointer_expression "*(code *)PTR_operator_new___004c134c" * (cast_expression "(code *)PTR_operator_new___004c134c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar1 + 100)" ( (binary_expression "iVar1 + 100" identifier + number_literal) )))) ;) (expression_statement "uVar3 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);" (assignment_expression "uVar3 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4)" identifier = (call_expression "(*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4)" (parenthesized_expression "(*(code *)PTR_gettext_004c5c30)" ( (pointer_expression "*(code *)PTR_gettext_004c5c30" * (cast_expression "(code *)PTR_gettext_004c5c30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s__s_004c1a50 + -0x16e4)" ( (binary_expression "PTR_s__s_004c1a50 + -0x16e4" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_snprintf_004c5a94)(uVar4,iVar1 + 100,uVar3,sym_name);" (call_expression "(*(code *)PTR_snprintf_004c5a94)(uVar4,iVar1 + 100,uVar3,sym_name)" (parenthesized_expression "(*(code *)PTR_snprintf_004c5a94)" ( (pointer_expression "*(code *)PTR_snprintf_004c5a94" * (cast_expression "(code *)PTR_snprintf_004c5a94" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar4,iVar1 + 100,uVar3,sym_name)" ( identifier , (binary_expression "iVar1 + 100" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar4);" (assignment_expression "uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar4)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(uVar4)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar4)" ( identifier )))) ;) (expression_statement "(*(code *)PTR__M_replace_004c20a0)(why,0,why->_M_string_length,uVar4,uVar3);" (call_expression "(*(code *)PTR__M_replace_004c20a0)(why,0,why->_M_string_length,uVar4,uVar3)" (parenthesized_expression "(*(code *)PTR__M_replace_004c20a0)" ( (pointer_expression "*(code *)PTR__M_replace_004c20a0" * (cast_expression "(code *)PTR__M_replace_004c20a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(why,0,why->_M_string_length,uVar4,uVar3)" ( identifier , number_literal , (field_expression "why->_M_string_length" identifier -> field_identifier) , identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_operator_delete___004c21b8)(uVar4);" (call_expression "(*(code *)PTR_operator_delete___004c21b8)(uVar4)" (parenthesized_expression "(*(code *)PTR_operator_delete___004c21b8)" ( (pointer_expression "*(code *)PTR_operator_delete___004c21b8" * (cast_expression "(code *)PTR_operator_delete___004c21b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar4)" ( identifier ))) ;) (return_statement "return SHOULD_INCLUDE_YES;" return identifier ;) })) (if_statement "if (*(int *)(*(int *)puVar8 + 8) != 0) {\n        if (((*(char *)(*(int *)(*(int *)puVar8 + 8) + 0x3195) != '\0') ||\n            (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n           (iVar1 = (*(code *)PTR_strcmp_004c5a68)(sym_name,iVar1), iVar1 != 0)) {\n          return SHOULD_INCLUDE_UNKNOWN;\n        }\n        sVar7 = why->_M_string_length;\n        puVar8 = PTR_s__s_004c1a50 + -0x16bc;\n        uVar4 = 0xd;\n        goto LAB_0014d958;\n      }" if (parenthesized_expression "(*(int *)(*(int *)puVar8 + 8) != 0)" ( (binary_expression "*(int *)(*(int *)puVar8 + 8) != 0" (pointer_expression "*(int *)(*(int *)puVar8 + 8)" * (cast_expression "(int *)(*(int *)puVar8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar8 + 8)" ( (binary_expression "*(int *)puVar8 + 8" (pointer_expression "*(int *)puVar8" * (cast_expression "(int *)puVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) != number_literal) )) (compound_statement "{\n        if (((*(char *)(*(int *)(*(int *)puVar8 + 8) + 0x3195) != '\0') ||\n            (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n           (iVar1 = (*(code *)PTR_strcmp_004c5a68)(sym_name,iVar1), iVar1 != 0)) {\n          return SHOULD_INCLUDE_UNKNOWN;\n        }\n        sVar7 = why->_M_string_length;\n        puVar8 = PTR_s__s_004c1a50 + -0x16bc;\n        uVar4 = 0xd;\n        goto LAB_0014d958;\n      }" { (if_statement "if (((*(char *)(*(int *)(*(int *)puVar8 + 8) + 0x3195) != '\0') ||\n            (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n           (iVar1 = (*(code *)PTR_strcmp_004c5a68)(sym_name,iVar1), iVar1 != 0)) {\n          return SHOULD_INCLUDE_UNKNOWN;\n        }" if (parenthesized_expression "(((*(char *)(*(int *)(*(int *)puVar8 + 8) + 0x3195) != '\0') ||\n            (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n           (iVar1 = (*(code *)PTR_strcmp_004c5a68)(sym_name,iVar1), iVar1 != 0))" ( (binary_expression "((*(char *)(*(int *)(*(int *)puVar8 + 8) + 0x3195) != '\0') ||\n            (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n           (iVar1 = (*(code *)PTR_strcmp_004c5a68)(sym_name,iVar1), iVar1 != 0)" (parenthesized_expression "((*(char *)(*(int *)(*(int *)puVar8 + 8) + 0x3195) != '\0') ||\n            (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0))" ( (binary_expression "(*(char *)(*(int *)(*(int *)puVar8 + 8) + 0x3195) != '\0') ||\n            (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)" (parenthesized_expression "(*(char *)(*(int *)(*(int *)puVar8 + 8) + 0x3195) != '\0')" ( (binary_expression "*(char *)(*(int *)(*(int *)puVar8 + 8) + 0x3195) != '\0'" (pointer_expression "*(char *)(*(int *)(*(int *)puVar8 + 8) + 0x3195)" * (cast_expression "(char *)(*(int *)(*(int *)puVar8 + 8) + 0x3195)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)puVar8 + 8) + 0x3195)" ( (binary_expression "*(int *)(*(int *)puVar8 + 8) + 0x3195" (pointer_expression "*(int *)(*(int *)puVar8 + 8)" * (cast_expression "(int *)(*(int *)puVar8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar8 + 8)" ( (binary_expression "*(int *)puVar8 + 8" (pointer_expression "*(int *)puVar8" * (cast_expression "(int *)puVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)" ( (comma_expression "iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0" (assignment_expression "iVar1 = (*(code *)PTR_entry_004c33e8)()" identifier = (call_expression "(*(code *)PTR_entry_004c33e8)()" (parenthesized_expression "(*(code *)PTR_entry_004c33e8)" ( (pointer_expression "*(code *)PTR_entry_004c33e8" * (cast_expression "(code *)PTR_entry_004c33e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) , (binary_expression "iVar1 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(iVar1 = (*(code *)PTR_strcmp_004c5a68)(sym_name,iVar1), iVar1 != 0)" ( (comma_expression "iVar1 = (*(code *)PTR_strcmp_004c5a68)(sym_name,iVar1), iVar1 != 0" (assignment_expression "iVar1 = (*(code *)PTR_strcmp_004c5a68)(sym_name,iVar1)" identifier = (call_expression "(*(code *)PTR_strcmp_004c5a68)(sym_name,iVar1)" (parenthesized_expression "(*(code *)PTR_strcmp_004c5a68)" ( (pointer_expression "*(code *)PTR_strcmp_004c5a68" * (cast_expression "(code *)PTR_strcmp_004c5a68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(sym_name,iVar1)" ( identifier , identifier )))) , (binary_expression "iVar1 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          return SHOULD_INCLUDE_UNKNOWN;\n        }" { (return_statement "return SHOULD_INCLUDE_UNKNOWN;" return identifier ;) })) (expression_statement "sVar7 = why->_M_string_length;" (assignment_expression "sVar7 = why->_M_string_length" identifier = (field_expression "why->_M_string_length" identifier -> field_identifier)) ;) (expression_statement "puVar8 = PTR_s__s_004c1a50 + -0x16bc;" (assignment_expression "puVar8 = PTR_s__s_004c1a50 + -0x16bc" identifier = (binary_expression "PTR_s__s_004c1a50 + -0x16bc" identifier + number_literal)) ;) (expression_statement "uVar4 = 0xd;" (assignment_expression "uVar4 = 0xd" identifier = number_literal) ;) (goto_statement "goto LAB_0014d958;" goto statement_identifier ;) })) })) })) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,PTR_s__s_004c1a50 + -0x1514);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,PTR_s__s_004c1a50 + -0x1514)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,PTR_s__s_004c1a50 + -0x1514)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + -0x1514" identifier + number_literal) ))) ;) (labeled_statement "LAB_0014daf8:\n  SVar5 = (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);" statement_identifier : (expression_statement "SVar5 = (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);" (assignment_expression "SVar5 = (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" identifier = (call_expression "(*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" (parenthesized_expression "(*(code *)PTR___throw_length_error_004c1e74)" ( (pointer_expression "*(code *)PTR___throw_length_error_004c1e74" * (cast_expression "(code *)PTR___throw_length_error_004c1e74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c" identifier + number_literal) )))) ;)) (return_statement "return SVar5;" return identifier ;) })))
(translation_unit "undefined4\ngold::Library_base::should_include_member\n          (Symbol_table *param_1,Layout *param_2,char *param_3,Symbol **param_4,string *param_5,\n          char **param_6,uint *param_7)\n\n{\n  int iVar1;\n  Symbol *pSVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined *puVar6;\n  char *pcVar7;\n  int iVar8;\n  uint uVar9;\n  undefined1 *local_48 [2];\n  undefined1 auStack_40 [16];\n  int local_30 [2];\n  \n  iVar1 = (*(code *)PTR_strchr_004c5cb4)(param_3,0x40);\n  if (iVar1 == 0) {\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,param_3,0);\nLAB_0014d598:\n    *param_4 = pSVar2;\n    if (pSVar2 != (Symbol *)0x0) {\n      uVar9 = *(uint *)(pSVar2 + 0x28) & 0xe000;\n      pcVar7 = param_3;\n      goto LAB_0014d5a8;\n    }\n  }\n  else {\n    iVar8 = iVar1 - (int)param_3;\n    uVar9 = iVar8 + 1;\n    pcVar7 = *param_6;\n    if (*param_7 < uVar9) {\n      pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9);\n      *param_6 = pcVar7;\n      *param_7 = uVar9;\n    }\n    (*(code *)PTR_memcpy_004c5ba8)(pcVar7,param_3,iVar8);\n    pcVar7[iVar8] = '\0';\n    if (*(char *)(iVar1 + 1) != '@') {\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);\n      param_3 = pcVar7;\n      goto LAB_0014d598;\n    }\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2);\n    if (pSVar2 == (Symbol *)0x0) {\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }\n    uVar4 = *(uint *)(pSVar2 + 0x28);\n    uVar9 = uVar4 & 0xe000;\n    if (uVar9 == 0) {\n      if ((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }\n    if (uVar9 != 0x8000) goto LAB_0014d80c;\nLAB_0014d628:\n    if ((uVar4 << 4) >> 0x1c == 2) goto LAB_0014d80c;\n    *param_4 = pSVar2;\nLAB_0014d5a8:\n    if (uVar9 == 0) {\n      if (*(int *)(pSVar2 + 0xc) != 0) {\n        return 0;\n      }\n      if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {\n        return 0;\n      }\n    }\n    else if (uVar9 != 0x8000) {\n      return 0;\n    }\n    iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(*(undefined4 *)(param_2 + 4),pcVar7);\n    if (iVar1 != 0) {\n      return 0;\n    }\n    param_3 = pcVar7;\n    if ((uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c != 2) {\n      return 1;\n    }\n  }\n  puVar6 = PTR_parameters_004c19b4;\n  iVar1 = *(int *)PTR_parameters_004c19b4;\n  if (*(int *)(iVar1 + 8) != 0) {\n    if (*(int *)(*(int *)(iVar1 + 8) + 0x42a4) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1704;\n        uVar3 = 3;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] == auStack_40) {\n        iVar1 = *(int *)puVar6;\n      }\n      else {\n        (*(code *)PTR_operator_delete_004c12fc)();\n        iVar1 = *(int *)puVar6;\n      }\n    }\n    if (*(int *)(iVar1 + 8) == 0) goto LAB_0014dae0;\n    if (*(int *)(*(int *)(iVar1 + 8) + 0x1348) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1700;\n        uVar3 = 0x18;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] != auStack_40) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }\n    local_48[0] = auStack_40;\n    iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n    std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n    std::\n    _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n    ::find((string *)local_30);\n    if (local_48[0] != auStack_40) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }\n    if (local_30[0] != 0) {\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      uVar3 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);\n      uVar5 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);\n      (*(code *)PTR_snprintf_004c5a94)(uVar3,iVar1 + 100,uVar5,param_3);\n      uVar5 = (*(code *)PTR_strlen_004c5b9c)(uVar3);\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5);\n      (*(code *)PTR_operator_delete___004c21b8)(uVar3);\n      return 1;\n    }\n    if (*(int *)(*(int *)puVar6 + 8) != 0) {\n      if (((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)) {\n        return 2;\n      }\n      uVar5 = *(undefined4 *)(param_5 + 4);\n      puVar6 = PTR_s__s_004c1a50 + -0x16bc;\n      uVar3 = 0xd;\nLAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3);\n      uVar9 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      if (0x7fffffffU - *(int *)(param_5 + 4) < uVar9) {\n        uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n        return uVar3;\n      }\n      (*(code *)PTR__M_append_004c1e68)(param_5,param_3,uVar9);\n      return 1;\n    }\n  }\nLAB_0014dae0:\n  uVar3 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                     PTR_s__s_004c1a50 + -0x1514);\n  return uVar3;\n}\n\n" (function_definition "undefined4\ngold::Library_base::should_include_member\n          (Symbol_table *param_1,Layout *param_2,char *param_3,Symbol **param_4,string *param_5,\n          char **param_6,uint *param_7)\n\n{\n  int iVar1;\n  Symbol *pSVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined *puVar6;\n  char *pcVar7;\n  int iVar8;\n  uint uVar9;\n  undefined1 *local_48 [2];\n  undefined1 auStack_40 [16];\n  int local_30 [2];\n  \n  iVar1 = (*(code *)PTR_strchr_004c5cb4)(param_3,0x40);\n  if (iVar1 == 0) {\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,param_3,0);\nLAB_0014d598:\n    *param_4 = pSVar2;\n    if (pSVar2 != (Symbol *)0x0) {\n      uVar9 = *(uint *)(pSVar2 + 0x28) & 0xe000;\n      pcVar7 = param_3;\n      goto LAB_0014d5a8;\n    }\n  }\n  else {\n    iVar8 = iVar1 - (int)param_3;\n    uVar9 = iVar8 + 1;\n    pcVar7 = *param_6;\n    if (*param_7 < uVar9) {\n      pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9);\n      *param_6 = pcVar7;\n      *param_7 = uVar9;\n    }\n    (*(code *)PTR_memcpy_004c5ba8)(pcVar7,param_3,iVar8);\n    pcVar7[iVar8] = '\0';\n    if (*(char *)(iVar1 + 1) != '@') {\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);\n      param_3 = pcVar7;\n      goto LAB_0014d598;\n    }\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2);\n    if (pSVar2 == (Symbol *)0x0) {\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }\n    uVar4 = *(uint *)(pSVar2 + 0x28);\n    uVar9 = uVar4 & 0xe000;\n    if (uVar9 == 0) {\n      if ((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }\n    if (uVar9 != 0x8000) goto LAB_0014d80c;\nLAB_0014d628:\n    if ((uVar4 << 4) >> 0x1c == 2) goto LAB_0014d80c;\n    *param_4 = pSVar2;\nLAB_0014d5a8:\n    if (uVar9 == 0) {\n      if (*(int *)(pSVar2 + 0xc) != 0) {\n        return 0;\n      }\n      if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {\n        return 0;\n      }\n    }\n    else if (uVar9 != 0x8000) {\n      return 0;\n    }\n    iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(*(undefined4 *)(param_2 + 4),pcVar7);\n    if (iVar1 != 0) {\n      return 0;\n    }\n    param_3 = pcVar7;\n    if ((uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c != 2) {\n      return 1;\n    }\n  }\n  puVar6 = PTR_parameters_004c19b4;\n  iVar1 = *(int *)PTR_parameters_004c19b4;\n  if (*(int *)(iVar1 + 8) != 0) {\n    if (*(int *)(*(int *)(iVar1 + 8) + 0x42a4) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1704;\n        uVar3 = 3;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] == auStack_40) {\n        iVar1 = *(int *)puVar6;\n      }\n      else {\n        (*(code *)PTR_operator_delete_004c12fc)();\n        iVar1 = *(int *)puVar6;\n      }\n    }\n    if (*(int *)(iVar1 + 8) == 0) goto LAB_0014dae0;\n    if (*(int *)(*(int *)(iVar1 + 8) + 0x1348) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1700;\n        uVar3 = 0x18;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] != auStack_40) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }\n    local_48[0] = auStack_40;\n    iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n    std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n    std::\n    _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n    ::find((string *)local_30);\n    if (local_48[0] != auStack_40) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }\n    if (local_30[0] != 0) {\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      uVar3 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);\n      uVar5 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);\n      (*(code *)PTR_snprintf_004c5a94)(uVar3,iVar1 + 100,uVar5,param_3);\n      uVar5 = (*(code *)PTR_strlen_004c5b9c)(uVar3);\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5);\n      (*(code *)PTR_operator_delete___004c21b8)(uVar3);\n      return 1;\n    }\n    if (*(int *)(*(int *)puVar6 + 8) != 0) {\n      if (((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)) {\n        return 2;\n      }\n      uVar5 = *(undefined4 *)(param_5 + 4);\n      puVar6 = PTR_s__s_004c1a50 + -0x16bc;\n      uVar3 = 0xd;\nLAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3);\n      uVar9 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      if (0x7fffffffU - *(int *)(param_5 + 4) < uVar9) {\n        uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n        return uVar3;\n      }\n      (*(code *)PTR__M_append_004c1e68)(param_5,param_3,uVar9);\n      return 1;\n    }\n  }\nLAB_0014dae0:\n  uVar3 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                     PTR_s__s_004c1a50 + -0x1514);\n  return uVar3;\n}" type_identifier (ERROR "gold::Library_base::" identifier : : identifier : :) (function_declarator "should_include_member\n          (Symbol_table *param_1,Layout *param_2,char *param_3,Symbol **param_4,string *param_5,\n          char **param_6,uint *param_7)" identifier (parameter_list "(Symbol_table *param_1,Layout *param_2,char *param_3,Symbol **param_4,string *param_5,\n          char **param_6,uint *param_7)" ( (parameter_declaration "Symbol_table *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "Layout *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "char *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "Symbol **param_4" type_identifier (pointer_declarator "**param_4" * (pointer_declarator "*param_4" * identifier))) , (parameter_declaration "string *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "char **param_6" primitive_type (pointer_declarator "**param_6" * (pointer_declarator "*param_6" * identifier))) , (parameter_declaration "uint *param_7" type_identifier (pointer_declarator "*param_7" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  Symbol *pSVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined *puVar6;\n  char *pcVar7;\n  int iVar8;\n  uint uVar9;\n  undefined1 *local_48 [2];\n  undefined1 auStack_40 [16];\n  int local_30 [2];\n  \n  iVar1 = (*(code *)PTR_strchr_004c5cb4)(param_3,0x40);\n  if (iVar1 == 0) {\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,param_3,0);\nLAB_0014d598:\n    *param_4 = pSVar2;\n    if (pSVar2 != (Symbol *)0x0) {\n      uVar9 = *(uint *)(pSVar2 + 0x28) & 0xe000;\n      pcVar7 = param_3;\n      goto LAB_0014d5a8;\n    }\n  }\n  else {\n    iVar8 = iVar1 - (int)param_3;\n    uVar9 = iVar8 + 1;\n    pcVar7 = *param_6;\n    if (*param_7 < uVar9) {\n      pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9);\n      *param_6 = pcVar7;\n      *param_7 = uVar9;\n    }\n    (*(code *)PTR_memcpy_004c5ba8)(pcVar7,param_3,iVar8);\n    pcVar7[iVar8] = '\0';\n    if (*(char *)(iVar1 + 1) != '@') {\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);\n      param_3 = pcVar7;\n      goto LAB_0014d598;\n    }\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2);\n    if (pSVar2 == (Symbol *)0x0) {\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }\n    uVar4 = *(uint *)(pSVar2 + 0x28);\n    uVar9 = uVar4 & 0xe000;\n    if (uVar9 == 0) {\n      if ((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }\n    if (uVar9 != 0x8000) goto LAB_0014d80c;\nLAB_0014d628:\n    if ((uVar4 << 4) >> 0x1c == 2) goto LAB_0014d80c;\n    *param_4 = pSVar2;\nLAB_0014d5a8:\n    if (uVar9 == 0) {\n      if (*(int *)(pSVar2 + 0xc) != 0) {\n        return 0;\n      }\n      if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {\n        return 0;\n      }\n    }\n    else if (uVar9 != 0x8000) {\n      return 0;\n    }\n    iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(*(undefined4 *)(param_2 + 4),pcVar7);\n    if (iVar1 != 0) {\n      return 0;\n    }\n    param_3 = pcVar7;\n    if ((uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c != 2) {\n      return 1;\n    }\n  }\n  puVar6 = PTR_parameters_004c19b4;\n  iVar1 = *(int *)PTR_parameters_004c19b4;\n  if (*(int *)(iVar1 + 8) != 0) {\n    if (*(int *)(*(int *)(iVar1 + 8) + 0x42a4) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1704;\n        uVar3 = 3;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] == auStack_40) {\n        iVar1 = *(int *)puVar6;\n      }\n      else {\n        (*(code *)PTR_operator_delete_004c12fc)();\n        iVar1 = *(int *)puVar6;\n      }\n    }\n    if (*(int *)(iVar1 + 8) == 0) goto LAB_0014dae0;\n    if (*(int *)(*(int *)(iVar1 + 8) + 0x1348) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1700;\n        uVar3 = 0x18;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] != auStack_40) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }\n    local_48[0] = auStack_40;\n    iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n    std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n    std::\n    _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n    ::find((string *)local_30);\n    if (local_48[0] != auStack_40) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }\n    if (local_30[0] != 0) {\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      uVar3 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);\n      uVar5 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);\n      (*(code *)PTR_snprintf_004c5a94)(uVar3,iVar1 + 100,uVar5,param_3);\n      uVar5 = (*(code *)PTR_strlen_004c5b9c)(uVar3);\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5);\n      (*(code *)PTR_operator_delete___004c21b8)(uVar3);\n      return 1;\n    }\n    if (*(int *)(*(int *)puVar6 + 8) != 0) {\n      if (((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)) {\n        return 2;\n      }\n      uVar5 = *(undefined4 *)(param_5 + 4);\n      puVar6 = PTR_s__s_004c1a50 + -0x16bc;\n      uVar3 = 0xd;\nLAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3);\n      uVar9 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      if (0x7fffffffU - *(int *)(param_5 + 4) < uVar9) {\n        uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n        return uVar3;\n      }\n      (*(code *)PTR__M_append_004c1e68)(param_5,param_3,uVar9);\n      return 1;\n    }\n  }\nLAB_0014dae0:\n  uVar3 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                     PTR_s__s_004c1a50 + -0x1514);\n  return uVar3;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "Symbol *pSVar2;" type_identifier (pointer_declarator "*pSVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "undefined1 *local_48 [2];" type_identifier (pointer_declarator "*local_48 [2]" * (array_declarator "local_48 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 auStack_40 [16];" type_identifier (array_declarator "auStack_40 [16]" identifier [ number_literal ]) ;) (declaration "int local_30 [2];" primitive_type (array_declarator "local_30 [2]" identifier [ number_literal ]) ;) (expression_statement "iVar1 = (*(code *)PTR_strchr_004c5cb4)(param_3,0x40);" (assignment_expression "iVar1 = (*(code *)PTR_strchr_004c5cb4)(param_3,0x40)" identifier = (call_expression "(*(code *)PTR_strchr_004c5cb4)(param_3,0x40)" (parenthesized_expression "(*(code *)PTR_strchr_004c5cb4)" ( (pointer_expression "*(code *)PTR_strchr_004c5cb4" * (cast_expression "(code *)PTR_strchr_004c5cb4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3,0x40)" ( identifier , number_literal )))) ;) (if_statement "if (iVar1 == 0) {\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,param_3,0);\nLAB_0014d598:\n    *param_4 = pSVar2;\n    if (pSVar2 != (Symbol *)0x0) {\n      uVar9 = *(uint *)(pSVar2 + 0x28) & 0xe000;\n      pcVar7 = param_3;\n      goto LAB_0014d5a8;\n    }\n  }\n  else {\n    iVar8 = iVar1 - (int)param_3;\n    uVar9 = iVar8 + 1;\n    pcVar7 = *param_6;\n    if (*param_7 < uVar9) {\n      pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9);\n      *param_6 = pcVar7;\n      *param_7 = uVar9;\n    }\n    (*(code *)PTR_memcpy_004c5ba8)(pcVar7,param_3,iVar8);\n    pcVar7[iVar8] = '\0';\n    if (*(char *)(iVar1 + 1) != '@') {\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);\n      param_3 = pcVar7;\n      goto LAB_0014d598;\n    }\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2);\n    if (pSVar2 == (Symbol *)0x0) {\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }\n    uVar4 = *(uint *)(pSVar2 + 0x28);\n    uVar9 = uVar4 & 0xe000;\n    if (uVar9 == 0) {\n      if ((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }\n    if (uVar9 != 0x8000) goto LAB_0014d80c;\nLAB_0014d628:\n    if ((uVar4 << 4) >> 0x1c == 2) goto LAB_0014d80c;\n    *param_4 = pSVar2;\nLAB_0014d5a8:\n    if (uVar9 == 0) {\n      if (*(int *)(pSVar2 + 0xc) != 0) {\n        return 0;\n      }\n      if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {\n        return 0;\n      }\n    }\n    else if (uVar9 != 0x8000) {\n      return 0;\n    }\n    iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(*(undefined4 *)(param_2 + 4),pcVar7);\n    if (iVar1 != 0) {\n      return 0;\n    }\n    param_3 = pcVar7;\n    if ((uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c != 2) {\n      return 1;\n    }\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,param_3,0);\nLAB_0014d598:\n    *param_4 = pSVar2;\n    if (pSVar2 != (Symbol *)0x0) {\n      uVar9 = *(uint *)(pSVar2 + 0x28) & 0xe000;\n      pcVar7 = param_3;\n      goto LAB_0014d5a8;\n    }\n  }" { (expression_statement "pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,param_3,0);" (assignment_expression "pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,param_3,0)" identifier = (cast_expression "(Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,param_3,0)" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_lookup_004c1e40)(param_1,param_3,0)" (parenthesized_expression "(*(code *)PTR_lookup_004c1e40)" ( (pointer_expression "*(code *)PTR_lookup_004c1e40" * (cast_expression "(code *)PTR_lookup_004c1e40" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_3,0)" ( identifier , identifier , number_literal ))))) ;) (labeled_statement "LAB_0014d598:\n    *param_4 = pSVar2;" statement_identifier : (expression_statement "*param_4 = pSVar2;" (assignment_expression "*param_4 = pSVar2" (pointer_expression "*param_4" * identifier) = identifier) ;)) (if_statement "if (pSVar2 != (Symbol *)0x0) {\n      uVar9 = *(uint *)(pSVar2 + 0x28) & 0xe000;\n      pcVar7 = param_3;\n      goto LAB_0014d5a8;\n    }" if (parenthesized_expression "(pSVar2 != (Symbol *)0x0)" ( (binary_expression "pSVar2 != (Symbol *)0x0" identifier != (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar9 = *(uint *)(pSVar2 + 0x28) & 0xe000;\n      pcVar7 = param_3;\n      goto LAB_0014d5a8;\n    }" { (expression_statement "uVar9 = *(uint *)(pSVar2 + 0x28) & 0xe000;" (assignment_expression "uVar9 = *(uint *)(pSVar2 + 0x28) & 0xe000" identifier = (binary_expression "*(uint *)(pSVar2 + 0x28) & 0xe000" (pointer_expression "*(uint *)(pSVar2 + 0x28)" * (cast_expression "(uint *)(pSVar2 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar2 + 0x28)" ( (binary_expression "pSVar2 + 0x28" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "pcVar7 = param_3;" (assignment_expression "pcVar7 = param_3" identifier = identifier) ;) (goto_statement "goto LAB_0014d5a8;" goto statement_identifier ;) })) }) (else_clause "else {\n    iVar8 = iVar1 - (int)param_3;\n    uVar9 = iVar8 + 1;\n    pcVar7 = *param_6;\n    if (*param_7 < uVar9) {\n      pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9);\n      *param_6 = pcVar7;\n      *param_7 = uVar9;\n    }\n    (*(code *)PTR_memcpy_004c5ba8)(pcVar7,param_3,iVar8);\n    pcVar7[iVar8] = '\0';\n    if (*(char *)(iVar1 + 1) != '@') {\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);\n      param_3 = pcVar7;\n      goto LAB_0014d598;\n    }\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2);\n    if (pSVar2 == (Symbol *)0x0) {\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }\n    uVar4 = *(uint *)(pSVar2 + 0x28);\n    uVar9 = uVar4 & 0xe000;\n    if (uVar9 == 0) {\n      if ((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }\n    if (uVar9 != 0x8000) goto LAB_0014d80c;\nLAB_0014d628:\n    if ((uVar4 << 4) >> 0x1c == 2) goto LAB_0014d80c;\n    *param_4 = pSVar2;\nLAB_0014d5a8:\n    if (uVar9 == 0) {\n      if (*(int *)(pSVar2 + 0xc) != 0) {\n        return 0;\n      }\n      if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {\n        return 0;\n      }\n    }\n    else if (uVar9 != 0x8000) {\n      return 0;\n    }\n    iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(*(undefined4 *)(param_2 + 4),pcVar7);\n    if (iVar1 != 0) {\n      return 0;\n    }\n    param_3 = pcVar7;\n    if ((uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c != 2) {\n      return 1;\n    }\n  }" else (compound_statement "{\n    iVar8 = iVar1 - (int)param_3;\n    uVar9 = iVar8 + 1;\n    pcVar7 = *param_6;\n    if (*param_7 < uVar9) {\n      pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9);\n      *param_6 = pcVar7;\n      *param_7 = uVar9;\n    }\n    (*(code *)PTR_memcpy_004c5ba8)(pcVar7,param_3,iVar8);\n    pcVar7[iVar8] = '\0';\n    if (*(char *)(iVar1 + 1) != '@') {\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);\n      param_3 = pcVar7;\n      goto LAB_0014d598;\n    }\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2);\n    if (pSVar2 == (Symbol *)0x0) {\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }\n    uVar4 = *(uint *)(pSVar2 + 0x28);\n    uVar9 = uVar4 & 0xe000;\n    if (uVar9 == 0) {\n      if ((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }\n    if (uVar9 != 0x8000) goto LAB_0014d80c;\nLAB_0014d628:\n    if ((uVar4 << 4) >> 0x1c == 2) goto LAB_0014d80c;\n    *param_4 = pSVar2;\nLAB_0014d5a8:\n    if (uVar9 == 0) {\n      if (*(int *)(pSVar2 + 0xc) != 0) {\n        return 0;\n      }\n      if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {\n        return 0;\n      }\n    }\n    else if (uVar9 != 0x8000) {\n      return 0;\n    }\n    iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(*(undefined4 *)(param_2 + 4),pcVar7);\n    if (iVar1 != 0) {\n      return 0;\n    }\n    param_3 = pcVar7;\n    if ((uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c != 2) {\n      return 1;\n    }\n  }" { (expression_statement "iVar8 = iVar1 - (int)param_3;" (assignment_expression "iVar8 = iVar1 - (int)param_3" identifier = (binary_expression "iVar1 - (int)param_3" identifier - (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uVar9 = iVar8 + 1;" (assignment_expression "uVar9 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pcVar7 = *param_6;" (assignment_expression "pcVar7 = *param_6" identifier = (pointer_expression "*param_6" * identifier)) ;) (if_statement "if (*param_7 < uVar9) {\n      pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9);\n      *param_6 = pcVar7;\n      *param_7 = uVar9;\n    }" if (parenthesized_expression "(*param_7 < uVar9)" ( (binary_expression "*param_7 < uVar9" (pointer_expression "*param_7" * identifier) < identifier) )) (compound_statement "{\n      pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9);\n      *param_6 = pcVar7;\n      *param_7 = uVar9;\n    }" { (expression_statement "pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9);" (assignment_expression "pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9)" identifier = (cast_expression "(char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9)" (parenthesized_expression "(*(code *)PTR_xrealloc_004c33e4)" ( (pointer_expression "*(code *)PTR_xrealloc_004c33e4" * (cast_expression "(code *)PTR_xrealloc_004c33e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar7,uVar9)" ( identifier , identifier ))))) ;) (expression_statement "*param_6 = pcVar7;" (assignment_expression "*param_6 = pcVar7" (pointer_expression "*param_6" * identifier) = identifier) ;) (expression_statement "*param_7 = uVar9;" (assignment_expression "*param_7 = uVar9" (pointer_expression "*param_7" * identifier) = identifier) ;) })) (expression_statement "(*(code *)PTR_memcpy_004c5ba8)(pcVar7,param_3,iVar8);" (call_expression "(*(code *)PTR_memcpy_004c5ba8)(pcVar7,param_3,iVar8)" (parenthesized_expression "(*(code *)PTR_memcpy_004c5ba8)" ( (pointer_expression "*(code *)PTR_memcpy_004c5ba8" * (cast_expression "(code *)PTR_memcpy_004c5ba8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar7,param_3,iVar8)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar7[iVar8] = '\0';" (assignment_expression "pcVar7[iVar8] = '\0'" (subscript_expression "pcVar7[iVar8]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (*(char *)(iVar1 + 1) != '@') {\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);\n      param_3 = pcVar7;\n      goto LAB_0014d598;\n    }" if (parenthesized_expression "(*(char *)(iVar1 + 1) != '@')" ( (binary_expression "*(char *)(iVar1 + 1) != '@'" (pointer_expression "*(char *)(iVar1 + 1)" * (cast_expression "(char *)(iVar1 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 1)" ( (binary_expression "iVar1 + 1" identifier + number_literal) )))) != (char_literal "'@'" ' character ')) )) (compound_statement "{\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);\n      param_3 = pcVar7;\n      goto LAB_0014d598;\n    }" { (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" identifier = (binary_expression "iVar1 + 1" identifier + number_literal)) ;) (labeled_statement "LAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);" statement_identifier : (expression_statement "pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);" (assignment_expression "pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1)" identifier = (cast_expression "(Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1)" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1)" (parenthesized_expression "(*(code *)PTR_lookup_004c1e40)" ( (pointer_expression "*(code *)PTR_lookup_004c1e40" * (cast_expression "(code *)PTR_lookup_004c1e40" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,pcVar7,iVar1)" ( identifier , identifier , identifier ))))) ;)) (expression_statement "param_3 = pcVar7;" (assignment_expression "param_3 = pcVar7" identifier = identifier) ;) (goto_statement "goto LAB_0014d598;" goto statement_identifier ;) })) (expression_statement "pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2);" (assignment_expression "pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2)" identifier = (cast_expression "(Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2)" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2)" (parenthesized_expression "(*(code *)PTR_lookup_004c1e40)" ( (pointer_expression "*(code *)PTR_lookup_004c1e40" * (cast_expression "(code *)PTR_lookup_004c1e40" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,pcVar7,iVar1 + 2)" ( identifier , identifier , (binary_expression "iVar1 + 2" identifier + number_literal) ))))) ;) (if_statement "if (pSVar2 == (Symbol *)0x0) {\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }" if (parenthesized_expression "(pSVar2 == (Symbol *)0x0)" ( (binary_expression "pSVar2 == (Symbol *)0x0" identifier == (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }" { (labeled_statement "LAB_0014d80c:\n      iVar1 = 0;" statement_identifier : (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;)) (goto_statement "goto LAB_0014d584;" goto statement_identifier ;) })) (expression_statement "uVar4 = *(uint *)(pSVar2 + 0x28);" (assignment_expression "uVar4 = *(uint *)(pSVar2 + 0x28)" identifier = (pointer_expression "*(uint *)(pSVar2 + 0x28)" * (cast_expression "(uint *)(pSVar2 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar2 + 0x28)" ( (binary_expression "pSVar2 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = uVar4 & 0xe000;" (assignment_expression "uVar9 = uVar4 & 0xe000" identifier = (binary_expression "uVar4 & 0xe000" identifier & number_literal)) ;) (if_statement "if (uVar9 == 0) {\n      if ((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }" if (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }" { (if_statement "if ((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)) goto LAB_0014d628;" if (parenthesized_expression "((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0))" ( (binary_expression "(*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)" (parenthesized_expression "(*(int *)(pSVar2 + 0xc) == 0)" ( (binary_expression "*(int *)(pSVar2 + 0xc) == 0" (pointer_expression "*(int *)(pSVar2 + 0xc)" * (cast_expression "(int *)(pSVar2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar2 + 0xc)" ( (binary_expression "pSVar2 + 0xc" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "((int)(uVar4 << 0x1d) < 0)" ( (binary_expression "(int)(uVar4 << 0x1d) < 0" (cast_expression "(int)(uVar4 << 0x1d)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar4 << 0x1d)" ( (binary_expression "uVar4 << 0x1d" identifier << number_literal) ))) < number_literal) ))) )) (goto_statement "goto LAB_0014d628;" goto statement_identifier ;)) (goto_statement "goto LAB_0014d80c;" goto statement_identifier ;) })) (if_statement "if (uVar9 != 0x8000) goto LAB_0014d80c;" if (parenthesized_expression "(uVar9 != 0x8000)" ( (binary_expression "uVar9 != 0x8000" identifier != number_literal) )) (goto_statement "goto LAB_0014d80c;" goto statement_identifier ;)) (labeled_statement "LAB_0014d628:\n    if ((uVar4 << 4) >> 0x1c == 2) goto LAB_0014d80c;" statement_identifier : (if_statement "if ((uVar4 << 4) >> 0x1c == 2) goto LAB_0014d80c;" if (parenthesized_expression "((uVar4 << 4) >> 0x1c == 2)" ( (binary_expression "(uVar4 << 4) >> 0x1c == 2" (binary_expression "(uVar4 << 4) >> 0x1c" (parenthesized_expression "(uVar4 << 4)" ( (binary_expression "uVar4 << 4" identifier << number_literal) )) >> number_literal) == number_literal) )) (goto_statement "goto LAB_0014d80c;" goto statement_identifier ;))) (expression_statement "*param_4 = pSVar2;" (assignment_expression "*param_4 = pSVar2" (pointer_expression "*param_4" * identifier) = identifier) ;) (labeled_statement "LAB_0014d5a8:\n    if (uVar9 == 0) {\n      if (*(int *)(pSVar2 + 0xc) != 0) {\n        return 0;\n      }\n      if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {\n        return 0;\n      }\n    }\n    else if (uVar9 != 0x8000) {\n      return 0;\n    }" statement_identifier : (if_statement "if (uVar9 == 0) {\n      if (*(int *)(pSVar2 + 0xc) != 0) {\n        return 0;\n      }\n      if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {\n        return 0;\n      }\n    }\n    else if (uVar9 != 0x8000) {\n      return 0;\n    }" if (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      if (*(int *)(pSVar2 + 0xc) != 0) {\n        return 0;\n      }\n      if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {\n        return 0;\n      }\n    }" { (if_statement "if (*(int *)(pSVar2 + 0xc) != 0) {\n        return 0;\n      }" if (parenthesized_expression "(*(int *)(pSVar2 + 0xc) != 0)" ( (binary_expression "*(int *)(pSVar2 + 0xc) != 0" (pointer_expression "*(int *)(pSVar2 + 0xc)" * (cast_expression "(int *)(pSVar2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar2 + 0xc)" ( (binary_expression "pSVar2 + 0xc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {\n        return 0;\n      }" if (parenthesized_expression "(-1 < *(int *)(pSVar2 + 0x28) << 0x1d)" ( (binary_expression "-1 < *(int *)(pSVar2 + 0x28) << 0x1d" number_literal < (binary_expression "*(int *)(pSVar2 + 0x28) << 0x1d" (pointer_expression "*(int *)(pSVar2 + 0x28)" * (cast_expression "(int *)(pSVar2 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar2 + 0x28)" ( (binary_expression "pSVar2 + 0x28" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) }) (else_clause "else if (uVar9 != 0x8000) {\n      return 0;\n    }" else (if_statement "if (uVar9 != 0x8000) {\n      return 0;\n    }" if (parenthesized_expression "(uVar9 != 0x8000)" ( (binary_expression "uVar9 != 0x8000" identifier != number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) }))))) (expression_statement "iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(*(undefined4 *)(param_2 + 4),pcVar7);" (assignment_expression "iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(*(undefined4 *)(param_2 + 4),pcVar7)" identifier = (call_expression "(*(code *)PTR_is_pending_assignment_004c33ec)(*(undefined4 *)(param_2 + 4),pcVar7)" (parenthesized_expression "(*(code *)PTR_is_pending_assignment_004c33ec)" ( (pointer_expression "*(code *)PTR_is_pending_assignment_004c33ec" * (cast_expression "(code *)PTR_is_pending_assignment_004c33ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_2 + 4),pcVar7)" ( (pointer_expression "*(undefined4 *)(param_2 + 4)" * (cast_expression "(undefined4 *)(param_2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) )))) , identifier )))) ;) (if_statement "if (iVar1 != 0) {\n      return 0;\n    }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "param_3 = pcVar7;" (assignment_expression "param_3 = pcVar7" identifier = identifier) ;) (if_statement "if ((uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c != 2) {\n      return 1;\n    }" if (parenthesized_expression "((uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c != 2)" ( (binary_expression "(uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c != 2" (binary_expression "(uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c" (call_expression "(uint)(*(int *)(pSVar2 + 0x28) << 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(pSVar2 + 0x28) << 4)" ( (binary_expression "*(int *)(pSVar2 + 0x28) << 4" (pointer_expression "*(int *)(pSVar2 + 0x28)" * (cast_expression "(int *)(pSVar2 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar2 + 0x28)" ( (binary_expression "pSVar2 + 0x28" identifier + number_literal) )))) << number_literal) ))) >> number_literal) != number_literal) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) }))) (expression_statement "puVar6 = PTR_parameters_004c19b4;" (assignment_expression "puVar6 = PTR_parameters_004c19b4" identifier = identifier) ;) (expression_statement "iVar1 = *(int *)PTR_parameters_004c19b4;" (assignment_expression "iVar1 = *(int *)PTR_parameters_004c19b4" identifier = (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (*(int *)(iVar1 + 8) != 0) {\n    if (*(int *)(*(int *)(iVar1 + 8) + 0x42a4) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1704;\n        uVar3 = 3;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] == auStack_40) {\n        iVar1 = *(int *)puVar6;\n      }\n      else {\n        (*(code *)PTR_operator_delete_004c12fc)();\n        iVar1 = *(int *)puVar6;\n      }\n    }\n    if (*(int *)(iVar1 + 8) == 0) goto LAB_0014dae0;\n    if (*(int *)(*(int *)(iVar1 + 8) + 0x1348) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1700;\n        uVar3 = 0x18;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] != auStack_40) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }\n    local_48[0] = auStack_40;\n    iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n    std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n    std::\n    _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n    ::find((string *)local_30);\n    if (local_48[0] != auStack_40) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }\n    if (local_30[0] != 0) {\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      uVar3 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);\n      uVar5 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);\n      (*(code *)PTR_snprintf_004c5a94)(uVar3,iVar1 + 100,uVar5,param_3);\n      uVar5 = (*(code *)PTR_strlen_004c5b9c)(uVar3);\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5);\n      (*(code *)PTR_operator_delete___004c21b8)(uVar3);\n      return 1;\n    }\n    if (*(int *)(*(int *)puVar6 + 8) != 0) {\n      if (((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)) {\n        return 2;\n      }\n      uVar5 = *(undefined4 *)(param_5 + 4);\n      puVar6 = PTR_s__s_004c1a50 + -0x16bc;\n      uVar3 = 0xd;\nLAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3);\n      uVar9 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      if (0x7fffffffU - *(int *)(param_5 + 4) < uVar9) {\n        uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n        return uVar3;\n      }\n      (*(code *)PTR__M_append_004c1e68)(param_5,param_3,uVar9);\n      return 1;\n    }\n  }" if (parenthesized_expression "(*(int *)(iVar1 + 8) != 0)" ( (binary_expression "*(int *)(iVar1 + 8) != 0" (pointer_expression "*(int *)(iVar1 + 8)" * (cast_expression "(int *)(iVar1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 8)" ( (binary_expression "iVar1 + 8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    if (*(int *)(*(int *)(iVar1 + 8) + 0x42a4) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1704;\n        uVar3 = 3;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] == auStack_40) {\n        iVar1 = *(int *)puVar6;\n      }\n      else {\n        (*(code *)PTR_operator_delete_004c12fc)();\n        iVar1 = *(int *)puVar6;\n      }\n    }\n    if (*(int *)(iVar1 + 8) == 0) goto LAB_0014dae0;\n    if (*(int *)(*(int *)(iVar1 + 8) + 0x1348) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1700;\n        uVar3 = 0x18;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] != auStack_40) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }\n    local_48[0] = auStack_40;\n    iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n    std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n    std::\n    _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n    ::find((string *)local_30);\n    if (local_48[0] != auStack_40) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }\n    if (local_30[0] != 0) {\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      uVar3 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);\n      uVar5 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);\n      (*(code *)PTR_snprintf_004c5a94)(uVar3,iVar1 + 100,uVar5,param_3);\n      uVar5 = (*(code *)PTR_strlen_004c5b9c)(uVar3);\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5);\n      (*(code *)PTR_operator_delete___004c21b8)(uVar3);\n      return 1;\n    }\n    if (*(int *)(*(int *)puVar6 + 8) != 0) {\n      if (((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)) {\n        return 2;\n      }\n      uVar5 = *(undefined4 *)(param_5 + 4);\n      puVar6 = PTR_s__s_004c1a50 + -0x16bc;\n      uVar3 = 0xd;\nLAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3);\n      uVar9 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      if (0x7fffffffU - *(int *)(param_5 + 4) < uVar9) {\n        uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n        return uVar3;\n      }\n      (*(code *)PTR__M_append_004c1e68)(param_5,param_3,uVar9);\n      return 1;\n    }\n  }" { (if_statement "if (*(int *)(*(int *)(iVar1 + 8) + 0x42a4) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1704;\n        uVar3 = 3;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] == auStack_40) {\n        iVar1 = *(int *)puVar6;\n      }\n      else {\n        (*(code *)PTR_operator_delete_004c12fc)();\n        iVar1 = *(int *)puVar6;\n      }\n    }" if (parenthesized_expression "(*(int *)(*(int *)(iVar1 + 8) + 0x42a4) != 0)" ( (binary_expression "*(int *)(*(int *)(iVar1 + 8) + 0x42a4) != 0" (pointer_expression "*(int *)(*(int *)(iVar1 + 8) + 0x42a4)" * (cast_expression "(int *)(*(int *)(iVar1 + 8) + 0x42a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar1 + 8) + 0x42a4)" ( (binary_expression "*(int *)(iVar1 + 8) + 0x42a4" (pointer_expression "*(int *)(iVar1 + 8)" * (cast_expression "(int *)(iVar1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 8)" ( (binary_expression "iVar1 + 8" identifier + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1704;\n        uVar3 = 3;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] == auStack_40) {\n        iVar1 = *(int *)puVar6;\n      }\n      else {\n        (*(code *)PTR_operator_delete_004c12fc)();\n        iVar1 = *(int *)puVar6;\n      }\n    }" { (expression_statement "local_48[0] = auStack_40;" (assignment_expression "local_48[0] = auStack_40" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);" (assignment_expression "iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3)" ( identifier )))) ;) (labeled_statement "std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);" statement_identifier : (ERROR ":" :) (expression_statement "_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);" (binary_expression "_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "((string *)local_48,param_3,param_3 + iVar1,0)" ( (comma_expression "(string *)local_48,param_3,param_3 + iVar1,0" (cast_expression "(string *)local_48" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (comma_expression "param_3,param_3 + iVar1,0" identifier , (comma_expression "param_3 + iVar1,0" (binary_expression "param_3 + iVar1" identifier + identifier) , number_literal))) ))) ;))) (ERROR "std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::" (comma_expression "std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std" identifier (ERROR "::\n      _Hashtable<std::string,std::string,std::allocator<std::string>" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "string,std" identifier , identifier) : : (comma_expression "string,std" identifier , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier >) , identifier) : : (comma_expression "__detail::_Identity,std::equal_to<std::string>,std" identifier (ERROR "::_Identity,std::equal_to<std::string>" : : (comma_expression "_Identity,std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : identifier >) , identifier) : : (binary_expression "hash<std" identifier < identifier) : : (binary_expression "string>,std" identifier > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);" 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,true,true>>\n      ::find((string *)local_30);" 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,true,true>>\n      ::find((string *)local_30);" statement_identifier (ERROR "::_Prime_rehash_policy,std:" : : (comma_expression "_Prime_rehash_policy,std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);" (comma_expression "_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "true,true>>\n      ::find((string *)local_30)" true , (binary_expression "true>>\n      ::find((string *)local_30)" true >> (ERROR "::" : :) (call_expression "find((string *)local_30)" identifier (argument_list "((string *)local_30)" ( (cast_expression "(string *)local_30" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))))) ;))))) (if_statement "if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1704;\n        uVar3 = 3;\n        goto LAB_0014d958;\n      }" if (parenthesized_expression "(local_30[0] != 0)" ( (binary_expression "local_30[0] != 0" (subscript_expression "local_30[0]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1704;\n        uVar3 = 3;\n        goto LAB_0014d958;\n      }" { (if_statement "if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" if (parenthesized_expression "(local_48[0] != auStack_40)" ( (binary_expression "local_48[0] != auStack_40" (subscript_expression "local_48[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (expression_statement "uVar5 = *(undefined4 *)(param_5 + 4);" (assignment_expression "uVar5 = *(undefined4 *)(param_5 + 4)" identifier = (pointer_expression "*(undefined4 *)(param_5 + 4)" * (cast_expression "(undefined4 *)(param_5 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 4)" ( (binary_expression "param_5 + 4" identifier + number_literal) ))))) ;) (expression_statement "puVar6 = PTR_s__s_004c1a50 + -0x1704;" (assignment_expression "puVar6 = PTR_s__s_004c1a50 + -0x1704" identifier = (binary_expression "PTR_s__s_004c1a50 + -0x1704" identifier + number_literal)) ;) (expression_statement "uVar3 = 3;" (assignment_expression "uVar3 = 3" identifier = number_literal) ;) (goto_statement "goto LAB_0014d958;" goto statement_identifier ;) })) (if_statement "if (local_48[0] == auStack_40) {\n        iVar1 = *(int *)puVar6;\n      }\n      else {\n        (*(code *)PTR_operator_delete_004c12fc)();\n        iVar1 = *(int *)puVar6;\n      }" if (parenthesized_expression "(local_48[0] == auStack_40)" ( (binary_expression "local_48[0] == auStack_40" (subscript_expression "local_48[0]" identifier [ number_literal ]) == identifier) )) (compound_statement "{\n        iVar1 = *(int *)puVar6;\n      }" { (expression_statement "iVar1 = *(int *)puVar6;" (assignment_expression "iVar1 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) (else_clause "else {\n        (*(code *)PTR_operator_delete_004c12fc)();\n        iVar1 = *(int *)puVar6;\n      }" else (compound_statement "{\n        (*(code *)PTR_operator_delete_004c12fc)();\n        iVar1 = *(int *)puVar6;\n      }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar1 = *(int *)puVar6;" (assignment_expression "iVar1 = *(int *)puVar6" identifier = (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) }))) })) (if_statement "if (*(int *)(iVar1 + 8) == 0) goto LAB_0014dae0;" if (parenthesized_expression "(*(int *)(iVar1 + 8) == 0)" ( (binary_expression "*(int *)(iVar1 + 8) == 0" (pointer_expression "*(int *)(iVar1 + 8)" * (cast_expression "(int *)(iVar1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 8)" ( (binary_expression "iVar1 + 8" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0014dae0;" goto statement_identifier ;)) (if_statement "if (*(int *)(*(int *)(iVar1 + 8) + 0x1348) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1700;\n        uVar3 = 0x18;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] != auStack_40) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }" if (parenthesized_expression "(*(int *)(*(int *)(iVar1 + 8) + 0x1348) != 0)" ( (binary_expression "*(int *)(*(int *)(iVar1 + 8) + 0x1348) != 0" (pointer_expression "*(int *)(*(int *)(iVar1 + 8) + 0x1348)" * (cast_expression "(int *)(*(int *)(iVar1 + 8) + 0x1348)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar1 + 8) + 0x1348)" ( (binary_expression "*(int *)(iVar1 + 8) + 0x1348" (pointer_expression "*(int *)(iVar1 + 8)" * (cast_expression "(int *)(iVar1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 8)" ( (binary_expression "iVar1 + 8" identifier + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1700;\n        uVar3 = 0x18;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] != auStack_40) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }" { (expression_statement "local_48[0] = auStack_40;" (assignment_expression "local_48[0] = auStack_40" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);" (assignment_expression "iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3)" ( identifier )))) ;) (labeled_statement "std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);" statement_identifier : (ERROR ":" :) (expression_statement "_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);" (binary_expression "_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "((string *)local_48,param_3,param_3 + iVar1,0)" ( (comma_expression "(string *)local_48,param_3,param_3 + iVar1,0" (cast_expression "(string *)local_48" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (comma_expression "param_3,param_3 + iVar1,0" identifier , (comma_expression "param_3 + iVar1,0" (binary_expression "param_3 + iVar1" identifier + identifier) , number_literal))) ))) ;))) (ERROR "std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::" (comma_expression "std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std" identifier (ERROR "::\n      _Hashtable<std::string,std::string,std::allocator<std::string>" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "string,std" identifier , identifier) : : (comma_expression "string,std" identifier , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier >) , identifier) : : (comma_expression "__detail::_Identity,std::equal_to<std::string>,std" identifier (ERROR "::_Identity,std::equal_to<std::string>" : : (comma_expression "_Identity,std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : identifier >) , identifier) : : (binary_expression "hash<std" identifier < identifier) : : (binary_expression "string>,std" identifier > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);" 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,true,true>>\n      ::find((string *)local_30);" 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,true,true>>\n      ::find((string *)local_30);" statement_identifier (ERROR "::_Prime_rehash_policy,std:" : : (comma_expression "_Prime_rehash_policy,std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);" (comma_expression "_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "true,true>>\n      ::find((string *)local_30)" true , (binary_expression "true>>\n      ::find((string *)local_30)" true >> (ERROR "::" : :) (call_expression "find((string *)local_30)" identifier (argument_list "((string *)local_30)" ( (cast_expression "(string *)local_30" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))))) ;))))) (if_statement "if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1700;\n        uVar3 = 0x18;\n        goto LAB_0014d958;\n      }" if (parenthesized_expression "(local_30[0] != 0)" ( (binary_expression "local_30[0] != 0" (subscript_expression "local_30[0]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1700;\n        uVar3 = 0x18;\n        goto LAB_0014d958;\n      }" { (if_statement "if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" if (parenthesized_expression "(local_48[0] != auStack_40)" ( (binary_expression "local_48[0] != auStack_40" (subscript_expression "local_48[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (expression_statement "uVar5 = *(undefined4 *)(param_5 + 4);" (assignment_expression "uVar5 = *(undefined4 *)(param_5 + 4)" identifier = (pointer_expression "*(undefined4 *)(param_5 + 4)" * (cast_expression "(undefined4 *)(param_5 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 4)" ( (binary_expression "param_5 + 4" identifier + number_literal) ))))) ;) (expression_statement "puVar6 = PTR_s__s_004c1a50 + -0x1700;" (assignment_expression "puVar6 = PTR_s__s_004c1a50 + -0x1700" identifier = (binary_expression "PTR_s__s_004c1a50 + -0x1700" identifier + number_literal)) ;) (expression_statement "uVar3 = 0x18;" (assignment_expression "uVar3 = 0x18" identifier = number_literal) ;) (goto_statement "goto LAB_0014d958;" goto statement_identifier ;) })) (if_statement "if (local_48[0] != auStack_40) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" if (parenthesized_expression "(local_48[0] != auStack_40)" ( (binary_expression "local_48[0] != auStack_40" (subscript_expression "local_48[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) })) (expression_statement "local_48[0] = auStack_40;" (assignment_expression "local_48[0] = auStack_40" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);" (assignment_expression "iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3)" ( identifier )))) ;) (labeled_statement "std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);" statement_identifier : (ERROR ":" :) (expression_statement "_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);" (binary_expression "_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "((string *)local_48,param_3,param_3 + iVar1,0)" ( (comma_expression "(string *)local_48,param_3,param_3 + iVar1,0" (cast_expression "(string *)local_48" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (comma_expression "param_3,param_3 + iVar1,0" identifier , (comma_expression "param_3 + iVar1,0" (binary_expression "param_3 + iVar1" identifier + identifier) , number_literal))) ))) ;))) (ERROR "std::\n    _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::" (comma_expression "std::\n    _Hashtable<std::string,std::string,std::allocator<std::string>,std" identifier (ERROR "::\n    _Hashtable<std::string,std::string,std::allocator<std::string>" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "string,std" identifier , identifier) : : (comma_expression "string,std" identifier , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier >) , identifier) : : (comma_expression "__detail::_Identity,std::equal_to<std::string>,std" identifier (ERROR "::_Identity,std::equal_to<std::string>" : : (comma_expression "_Identity,std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : identifier >) , identifier) : : (binary_expression "hash<std" identifier < identifier) : : (binary_expression "string>,std" identifier > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n    ::find((string *)local_30);" 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,true,true>>\n    ::find((string *)local_30);" 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,true,true>>\n    ::find((string *)local_30);" statement_identifier (ERROR "::_Prime_rehash_policy,std:" : : (comma_expression "_Prime_rehash_policy,std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,true,true>>\n    ::find((string *)local_30);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,true,true>>\n    ::find((string *)local_30);" (comma_expression "_Hashtable_traits<true,true,true>>\n    ::find((string *)local_30)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "true,true>>\n    ::find((string *)local_30)" true , (binary_expression "true>>\n    ::find((string *)local_30)" true >> (ERROR "::" : :) (call_expression "find((string *)local_30)" identifier (argument_list "((string *)local_30)" ( (cast_expression "(string *)local_30" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))))) ;))))) (if_statement "if (local_48[0] != auStack_40) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }" if (parenthesized_expression "(local_48[0] != auStack_40)" ( (binary_expression "local_48[0] != auStack_40" (subscript_expression "local_48[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (if_statement "if (local_30[0] != 0) {\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      uVar3 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);\n      uVar5 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);\n      (*(code *)PTR_snprintf_004c5a94)(uVar3,iVar1 + 100,uVar5,param_3);\n      uVar5 = (*(code *)PTR_strlen_004c5b9c)(uVar3);\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5);\n      (*(code *)PTR_operator_delete___004c21b8)(uVar3);\n      return 1;\n    }" if (parenthesized_expression "(local_30[0] != 0)" ( (binary_expression "local_30[0] != 0" (subscript_expression "local_30[0]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      uVar3 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);\n      uVar5 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);\n      (*(code *)PTR_snprintf_004c5a94)(uVar3,iVar1 + 100,uVar5,param_3);\n      uVar5 = (*(code *)PTR_strlen_004c5b9c)(uVar3);\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5);\n      (*(code *)PTR_operator_delete___004c21b8)(uVar3);\n      return 1;\n    }" { (expression_statement "iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);" (assignment_expression "iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3)" ( identifier )))) ;) (expression_statement "uVar3 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);" (assignment_expression "uVar3 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100)" identifier = (call_expression "(*(code *)PTR_operator_new___004c134c)(iVar1 + 100)" (parenthesized_expression "(*(code *)PTR_operator_new___004c134c)" ( (pointer_expression "*(code *)PTR_operator_new___004c134c" * (cast_expression "(code *)PTR_operator_new___004c134c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar1 + 100)" ( (binary_expression "iVar1 + 100" identifier + number_literal) )))) ;) (expression_statement "uVar5 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);" (assignment_expression "uVar5 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4)" identifier = (call_expression "(*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4)" (parenthesized_expression "(*(code *)PTR_gettext_004c5c30)" ( (pointer_expression "*(code *)PTR_gettext_004c5c30" * (cast_expression "(code *)PTR_gettext_004c5c30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s__s_004c1a50 + -0x16e4)" ( (binary_expression "PTR_s__s_004c1a50 + -0x16e4" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_snprintf_004c5a94)(uVar3,iVar1 + 100,uVar5,param_3);" (call_expression "(*(code *)PTR_snprintf_004c5a94)(uVar3,iVar1 + 100,uVar5,param_3)" (parenthesized_expression "(*(code *)PTR_snprintf_004c5a94)" ( (pointer_expression "*(code *)PTR_snprintf_004c5a94" * (cast_expression "(code *)PTR_snprintf_004c5a94" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar3,iVar1 + 100,uVar5,param_3)" ( identifier , (binary_expression "iVar1 + 100" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "uVar5 = (*(code *)PTR_strlen_004c5b9c)(uVar3);" (assignment_expression "uVar5 = (*(code *)PTR_strlen_004c5b9c)(uVar3)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(uVar3)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar3)" ( identifier )))) ;) (expression_statement "(*(code *)PTR__M_replace_004c20a0)(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5);" (call_expression "(*(code *)PTR__M_replace_004c20a0)(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5)" (parenthesized_expression "(*(code *)PTR__M_replace_004c20a0)" ( (pointer_expression "*(code *)PTR__M_replace_004c20a0" * (cast_expression "(code *)PTR__M_replace_004c20a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5)" ( identifier , number_literal , (pointer_expression "*(undefined4 *)(param_5 + 4)" * (cast_expression "(undefined4 *)(param_5 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 4)" ( (binary_expression "param_5 + 4" identifier + number_literal) )))) , identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_operator_delete___004c21b8)(uVar3);" (call_expression "(*(code *)PTR_operator_delete___004c21b8)(uVar3)" (parenthesized_expression "(*(code *)PTR_operator_delete___004c21b8)" ( (pointer_expression "*(code *)PTR_operator_delete___004c21b8" * (cast_expression "(code *)PTR_operator_delete___004c21b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar3)" ( identifier ))) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (*(int *)(*(int *)puVar6 + 8) != 0) {\n      if (((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)) {\n        return 2;\n      }\n      uVar5 = *(undefined4 *)(param_5 + 4);\n      puVar6 = PTR_s__s_004c1a50 + -0x16bc;\n      uVar3 = 0xd;\nLAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3);\n      uVar9 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      if (0x7fffffffU - *(int *)(param_5 + 4) < uVar9) {\n        uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n        return uVar3;\n      }\n      (*(code *)PTR__M_append_004c1e68)(param_5,param_3,uVar9);\n      return 1;\n    }" if (parenthesized_expression "(*(int *)(*(int *)puVar6 + 8) != 0)" ( (binary_expression "*(int *)(*(int *)puVar6 + 8) != 0" (pointer_expression "*(int *)(*(int *)puVar6 + 8)" * (cast_expression "(int *)(*(int *)puVar6 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar6 + 8)" ( (binary_expression "*(int *)puVar6 + 8" (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) != number_literal) )) (compound_statement "{\n      if (((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)) {\n        return 2;\n      }\n      uVar5 = *(undefined4 *)(param_5 + 4);\n      puVar6 = PTR_s__s_004c1a50 + -0x16bc;\n      uVar3 = 0xd;\nLAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3);\n      uVar9 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      if (0x7fffffffU - *(int *)(param_5 + 4) < uVar9) {\n        uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n        return uVar3;\n      }\n      (*(code *)PTR__M_append_004c1e68)(param_5,param_3,uVar9);\n      return 1;\n    }" { (if_statement "if (((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)) {\n        return 2;\n      }" if (parenthesized_expression "(((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0))" ( (binary_expression "((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)" (parenthesized_expression "((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0))" ( (binary_expression "(*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)" (parenthesized_expression "(*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0')" ( (binary_expression "*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0'" (pointer_expression "*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195)" * (cast_expression "(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)puVar6 + 8) + 0x3195)" ( (binary_expression "*(int *)(*(int *)puVar6 + 8) + 0x3195" (pointer_expression "*(int *)(*(int *)puVar6 + 8)" * (cast_expression "(int *)(*(int *)puVar6 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar6 + 8)" ( (binary_expression "*(int *)puVar6 + 8" (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)" ( (comma_expression "iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0" (assignment_expression "iVar1 = (*(code *)PTR_entry_004c33e8)()" identifier = (call_expression "(*(code *)PTR_entry_004c33e8)()" (parenthesized_expression "(*(code *)PTR_entry_004c33e8)" ( (pointer_expression "*(code *)PTR_entry_004c33e8" * (cast_expression "(code *)PTR_entry_004c33e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) , (binary_expression "iVar1 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)" ( (comma_expression "iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0" (assignment_expression "iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1)" identifier = (call_expression "(*(code *)PTR_strcmp_004c5a68)(param_3,iVar1)" (parenthesized_expression "(*(code *)PTR_strcmp_004c5a68)" ( (pointer_expression "*(code *)PTR_strcmp_004c5a68" * (cast_expression "(code *)PTR_strcmp_004c5a68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3,iVar1)" ( identifier , identifier )))) , (binary_expression "iVar1 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        return 2;\n      }" { (return_statement "return 2;" return number_literal ;) })) (expression_statement "uVar5 = *(undefined4 *)(param_5 + 4);" (assignment_expression "uVar5 = *(undefined4 *)(param_5 + 4)" identifier = (pointer_expression "*(undefined4 *)(param_5 + 4)" * (cast_expression "(undefined4 *)(param_5 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 4)" ( (binary_expression "param_5 + 4" identifier + number_literal) ))))) ;) (expression_statement "puVar6 = PTR_s__s_004c1a50 + -0x16bc;" (assignment_expression "puVar6 = PTR_s__s_004c1a50 + -0x16bc" identifier = (binary_expression "PTR_s__s_004c1a50 + -0x16bc" identifier + number_literal)) ;) (expression_statement "uVar3 = 0xd;" (assignment_expression "uVar3 = 0xd" identifier = number_literal) ;) (labeled_statement "LAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3);" statement_identifier : (expression_statement "(*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3);" (call_expression "(*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3)" (parenthesized_expression "(*(code *)PTR__M_replace_004c20a0)" ( (pointer_expression "*(code *)PTR__M_replace_004c20a0" * (cast_expression "(code *)PTR__M_replace_004c20a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_5,0,uVar5,puVar6,uVar3)" ( identifier , number_literal , identifier , identifier , identifier ))) ;)) (expression_statement "uVar9 = (*(code *)PTR_strlen_004c5b9c)(param_3);" (assignment_expression "uVar9 = (*(code *)PTR_strlen_004c5b9c)(param_3)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3)" ( identifier )))) ;) (if_statement "if (0x7fffffffU - *(int *)(param_5 + 4) < uVar9) {\n        uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n        return uVar3;\n      }" if (parenthesized_expression "(0x7fffffffU - *(int *)(param_5 + 4) < uVar9)" ( (binary_expression "0x7fffffffU - *(int *)(param_5 + 4) < uVar9" (binary_expression "0x7fffffffU - *(int *)(param_5 + 4)" number_literal - (pointer_expression "*(int *)(param_5 + 4)" * (cast_expression "(int *)(param_5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 4)" ( (binary_expression "param_5 + 4" identifier + number_literal) ))))) < identifier) )) (compound_statement "{\n        uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n        return uVar3;\n      }" { (expression_statement "uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);" (assignment_expression "uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" identifier = (call_expression "(*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" (parenthesized_expression "(*(code *)PTR___throw_length_error_004c1e74)" ( (pointer_expression "*(code *)PTR___throw_length_error_004c1e74" * (cast_expression "(code *)PTR___throw_length_error_004c1e74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c" identifier + number_literal) )))) ;) (return_statement "return uVar3;" return identifier ;) })) (expression_statement "(*(code *)PTR__M_append_004c1e68)(param_5,param_3,uVar9);" (call_expression "(*(code *)PTR__M_append_004c1e68)(param_5,param_3,uVar9)" (parenthesized_expression "(*(code *)PTR__M_append_004c1e68)" ( (pointer_expression "*(code *)PTR__M_append_004c1e68" * (cast_expression "(code *)PTR__M_append_004c1e68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_5,param_3,uVar9)" ( identifier , identifier , identifier ))) ;) (return_statement "return 1;" return number_literal ;) })) })) (labeled_statement "LAB_0014dae0:\n  uVar3 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                     PTR_s__s_004c1a50 + -0x1514);" statement_identifier : (expression_statement "uVar3 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                     PTR_s__s_004c1a50 + -0x1514);" (assignment_expression "uVar3 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                     PTR_s__s_004c1a50 + -0x1514)" identifier = (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                     PTR_s__s_004c1a50 + -0x1514)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                     PTR_s__s_004c1a50 + -0x1514)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + -0x1514" identifier + number_literal) )))) ;)) (return_statement "return uVar3;" return identifier ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT : : IDENT : :) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * IDENT))) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * IDENT))) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , LIT ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (char_literal ' escape_sequence ')) ;) (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 ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT ))))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT << LIT) ))) < LIT) ))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT << LIT) )) >> LIT) == LIT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT)) )) (compound_statement { (return_statement return LIT ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return LIT ;) }))))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) ))) >> LIT) != LIT) )) (compound_statement { (return_statement return LIT ;) })) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (labeled_statement statement_identifier : (ERROR :) (labeled_statement statement_identifier : (ERROR :) (expression_statement (binary_expression (binary_expression IDENT < IDENT) (ERROR *) > (parenthesized_expression ( (comma_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (comma_expression IDENT , (comma_expression (binary_expression IDENT + IDENT) , LIT))) ))) ;))) (ERROR (comma_expression IDENT (ERROR : : (binary_expression IDENT < IDENT) : : (comma_expression IDENT , IDENT) : : (comma_expression IDENT , IDENT) : : (binary_expression IDENT < IDENT) : : IDENT >) , IDENT) : : (comma_expression IDENT (ERROR : : (comma_expression IDENT , IDENT) : : (binary_expression IDENT < IDENT) : : IDENT >) , IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT > (ERROR ,) IDENT) : :) (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) :) : (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) :) : (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) :) : (labeled_statement statement_identifier : (ERROR :) (expression_statement (comma_expression (binary_expression IDENT < BOOL) , (comma_expression BOOL , (binary_expression BOOL >> (ERROR : :) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))))) ;))))) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) }))) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (labeled_statement statement_identifier : (ERROR :) (labeled_statement statement_identifier : (ERROR :) (expression_statement (binary_expression (binary_expression IDENT < IDENT) (ERROR *) > (parenthesized_expression ( (comma_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (comma_expression IDENT , (comma_expression (binary_expression IDENT + IDENT) , LIT))) ))) ;))) (ERROR (comma_expression IDENT (ERROR : : (binary_expression IDENT < IDENT) : : (comma_expression IDENT , IDENT) : : (comma_expression IDENT , IDENT) : : (binary_expression IDENT < IDENT) : : IDENT >) , IDENT) : : (comma_expression IDENT (ERROR : : (comma_expression IDENT , IDENT) : : (binary_expression IDENT < IDENT) : : IDENT >) , IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT > (ERROR ,) IDENT) : :) (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) :) : (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) :) : (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) :) : (labeled_statement statement_identifier : (ERROR :) (expression_statement (comma_expression (binary_expression IDENT < BOOL) , (comma_expression BOOL , (binary_expression BOOL >> (ERROR : :) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))))) ;))))) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) })) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (labeled_statement statement_identifier : (ERROR :) (labeled_statement statement_identifier : (ERROR :) (expression_statement (binary_expression (binary_expression IDENT < IDENT) (ERROR *) > (parenthesized_expression ( (comma_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (comma_expression IDENT , (comma_expression (binary_expression IDENT + IDENT) , LIT))) ))) ;))) (ERROR (comma_expression IDENT (ERROR : : (binary_expression IDENT < IDENT) : : (comma_expression IDENT , IDENT) : : (comma_expression IDENT , IDENT) : : (binary_expression IDENT < IDENT) : : IDENT >) , IDENT) : : (comma_expression IDENT (ERROR : : (comma_expression IDENT , IDENT) : : (binary_expression IDENT < IDENT) : : IDENT >) , IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT > (ERROR ,) IDENT) : :) (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) :) : (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) :) : (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) :) : (labeled_statement statement_identifier : (ERROR :) (expression_statement (comma_expression (binary_expression IDENT < BOOL) , (comma_expression BOOL , (binary_expression BOOL >> (ERROR : :) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))))) ;))))) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (return_statement return LIT ;) })) (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 TYPE (abstract_pointer_declarator *)) ) IDENT)) + 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) , (binary_expression IDENT == LIT)) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , IDENT , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression LIT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (return_statement return IDENT ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (return_statement return LIT ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) )))) ;)) (return_statement return IDENT ;) })))
(function_definition "undefined4\ngold::Library_base::should_include_member\n          (Symbol_table *param_1,Layout *param_2,char *param_3,Symbol **param_4,string *param_5,\n          char **param_6,uint *param_7)\n\n{\n  int iVar1;\n  Symbol *pSVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined *puVar6;\n  char *pcVar7;\n  int iVar8;\n  uint uVar9;\n  undefined1 *local_48 [2];\n  undefined1 auStack_40 [16];\n  int local_30 [2];\n  \n  iVar1 = (*(code *)PTR_strchr_004c5cb4)(param_3,0x40);\n  if (iVar1 == 0) {\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,param_3,0);\nLAB_0014d598:\n    *param_4 = pSVar2;\n    if (pSVar2 != (Symbol *)0x0) {\n      uVar9 = *(uint *)(pSVar2 + 0x28) & 0xe000;\n      pcVar7 = param_3;\n      goto LAB_0014d5a8;\n    }\n  }\n  else {\n    iVar8 = iVar1 - (int)param_3;\n    uVar9 = iVar8 + 1;\n    pcVar7 = *param_6;\n    if (*param_7 < uVar9) {\n      pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9);\n      *param_6 = pcVar7;\n      *param_7 = uVar9;\n    }\n    (*(code *)PTR_memcpy_004c5ba8)(pcVar7,param_3,iVar8);\n    pcVar7[iVar8] = '\0';\n    if (*(char *)(iVar1 + 1) != '@') {\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);\n      param_3 = pcVar7;\n      goto LAB_0014d598;\n    }\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2);\n    if (pSVar2 == (Symbol *)0x0) {\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }\n    uVar4 = *(uint *)(pSVar2 + 0x28);\n    uVar9 = uVar4 & 0xe000;\n    if (uVar9 == 0) {\n      if ((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }\n    if (uVar9 != 0x8000) goto LAB_0014d80c;\nLAB_0014d628:\n    if ((uVar4 << 4) >> 0x1c == 2) goto LAB_0014d80c;\n    *param_4 = pSVar2;\nLAB_0014d5a8:\n    if (uVar9 == 0) {\n      if (*(int *)(pSVar2 + 0xc) != 0) {\n        return 0;\n      }\n      if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {\n        return 0;\n      }\n    }\n    else if (uVar9 != 0x8000) {\n      return 0;\n    }\n    iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(*(undefined4 *)(param_2 + 4),pcVar7);\n    if (iVar1 != 0) {\n      return 0;\n    }\n    param_3 = pcVar7;\n    if ((uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c != 2) {\n      return 1;\n    }\n  }\n  puVar6 = PTR_parameters_004c19b4;\n  iVar1 = *(int *)PTR_parameters_004c19b4;\n  if (*(int *)(iVar1 + 8) != 0) {\n    if (*(int *)(*(int *)(iVar1 + 8) + 0x42a4) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1704;\n        uVar3 = 3;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] == auStack_40) {\n        iVar1 = *(int *)puVar6;\n      }\n      else {\n        (*(code *)PTR_operator_delete_004c12fc)();\n        iVar1 = *(int *)puVar6;\n      }\n    }\n    if (*(int *)(iVar1 + 8) == 0) goto LAB_0014dae0;\n    if (*(int *)(*(int *)(iVar1 + 8) + 0x1348) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1700;\n        uVar3 = 0x18;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] != auStack_40) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }\n    local_48[0] = auStack_40;\n    iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n    std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n    std::\n    _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n    ::find((string *)local_30);\n    if (local_48[0] != auStack_40) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }\n    if (local_30[0] != 0) {\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      uVar3 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);\n      uVar5 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);\n      (*(code *)PTR_snprintf_004c5a94)(uVar3,iVar1 + 100,uVar5,param_3);\n      uVar5 = (*(code *)PTR_strlen_004c5b9c)(uVar3);\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5);\n      (*(code *)PTR_operator_delete___004c21b8)(uVar3);\n      return 1;\n    }\n    if (*(int *)(*(int *)puVar6 + 8) != 0) {\n      if (((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)) {\n        return 2;\n      }\n      uVar5 = *(undefined4 *)(param_5 + 4);\n      puVar6 = PTR_s__s_004c1a50 + -0x16bc;\n      uVar3 = 0xd;\nLAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3);\n      uVar9 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      if (0x7fffffffU - *(int *)(param_5 + 4) < uVar9) {\n        uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n        return uVar3;\n      }\n      (*(code *)PTR__M_append_004c1e68)(param_5,param_3,uVar9);\n      return 1;\n    }\n  }\nLAB_0014dae0:\n  uVar3 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                     PTR_s__s_004c1a50 + -0x1514);\n  return uVar3;\n}" (type_identifier "undefined4") (ERROR "gold::Library_base::" (identifier "gold") (: ":") (: ":") (identifier "Library_base") (: ":") (: ":")) (function_declarator "should_include_member\n          (Symbol_table *param_1,Layout *param_2,char *param_3,Symbol **param_4,string *param_5,\n          char **param_6,uint *param_7)" (identifier "should_include_member") (parameter_list "(Symbol_table *param_1,Layout *param_2,char *param_3,Symbol **param_4,string *param_5,\n          char **param_6,uint *param_7)" (( "(") (parameter_declaration "Symbol_table *param_1" (type_identifier "Symbol_table") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "Layout *param_2" (type_identifier "Layout") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "char *param_3" (primitive_type "char") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "Symbol **param_4" (type_identifier "Symbol") (pointer_declarator "**param_4" (* "*") (pointer_declarator "*param_4" (* "*") (identifier "param_4")))) (, ",") (parameter_declaration "string *param_5" (type_identifier "string") (pointer_declarator "*param_5" (* "*") (identifier "param_5"))) (, ",") (parameter_declaration "char **param_6" (primitive_type "char") (pointer_declarator "**param_6" (* "*") (pointer_declarator "*param_6" (* "*") (identifier "param_6")))) (, ",") (parameter_declaration "uint *param_7" (type_identifier "uint") (pointer_declarator "*param_7" (* "*") (identifier "param_7"))) () ")"))) (compound_statement "{\n  int iVar1;\n  Symbol *pSVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined *puVar6;\n  char *pcVar7;\n  int iVar8;\n  uint uVar9;\n  undefined1 *local_48 [2];\n  undefined1 auStack_40 [16];\n  int local_30 [2];\n  \n  iVar1 = (*(code *)PTR_strchr_004c5cb4)(param_3,0x40);\n  if (iVar1 == 0) {\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,param_3,0);\nLAB_0014d598:\n    *param_4 = pSVar2;\n    if (pSVar2 != (Symbol *)0x0) {\n      uVar9 = *(uint *)(pSVar2 + 0x28) & 0xe000;\n      pcVar7 = param_3;\n      goto LAB_0014d5a8;\n    }\n  }\n  else {\n    iVar8 = iVar1 - (int)param_3;\n    uVar9 = iVar8 + 1;\n    pcVar7 = *param_6;\n    if (*param_7 < uVar9) {\n      pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9);\n      *param_6 = pcVar7;\n      *param_7 = uVar9;\n    }\n    (*(code *)PTR_memcpy_004c5ba8)(pcVar7,param_3,iVar8);\n    pcVar7[iVar8] = '\0';\n    if (*(char *)(iVar1 + 1) != '@') {\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);\n      param_3 = pcVar7;\n      goto LAB_0014d598;\n    }\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2);\n    if (pSVar2 == (Symbol *)0x0) {\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }\n    uVar4 = *(uint *)(pSVar2 + 0x28);\n    uVar9 = uVar4 & 0xe000;\n    if (uVar9 == 0) {\n      if ((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }\n    if (uVar9 != 0x8000) goto LAB_0014d80c;\nLAB_0014d628:\n    if ((uVar4 << 4) >> 0x1c == 2) goto LAB_0014d80c;\n    *param_4 = pSVar2;\nLAB_0014d5a8:\n    if (uVar9 == 0) {\n      if (*(int *)(pSVar2 + 0xc) != 0) {\n        return 0;\n      }\n      if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {\n        return 0;\n      }\n    }\n    else if (uVar9 != 0x8000) {\n      return 0;\n    }\n    iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(*(undefined4 *)(param_2 + 4),pcVar7);\n    if (iVar1 != 0) {\n      return 0;\n    }\n    param_3 = pcVar7;\n    if ((uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c != 2) {\n      return 1;\n    }\n  }\n  puVar6 = PTR_parameters_004c19b4;\n  iVar1 = *(int *)PTR_parameters_004c19b4;\n  if (*(int *)(iVar1 + 8) != 0) {\n    if (*(int *)(*(int *)(iVar1 + 8) + 0x42a4) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1704;\n        uVar3 = 3;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] == auStack_40) {\n        iVar1 = *(int *)puVar6;\n      }\n      else {\n        (*(code *)PTR_operator_delete_004c12fc)();\n        iVar1 = *(int *)puVar6;\n      }\n    }\n    if (*(int *)(iVar1 + 8) == 0) goto LAB_0014dae0;\n    if (*(int *)(*(int *)(iVar1 + 8) + 0x1348) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1700;\n        uVar3 = 0x18;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] != auStack_40) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }\n    local_48[0] = auStack_40;\n    iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n    std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n    std::\n    _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n    ::find((string *)local_30);\n    if (local_48[0] != auStack_40) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }\n    if (local_30[0] != 0) {\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      uVar3 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);\n      uVar5 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);\n      (*(code *)PTR_snprintf_004c5a94)(uVar3,iVar1 + 100,uVar5,param_3);\n      uVar5 = (*(code *)PTR_strlen_004c5b9c)(uVar3);\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5);\n      (*(code *)PTR_operator_delete___004c21b8)(uVar3);\n      return 1;\n    }\n    if (*(int *)(*(int *)puVar6 + 8) != 0) {\n      if (((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)) {\n        return 2;\n      }\n      uVar5 = *(undefined4 *)(param_5 + 4);\n      puVar6 = PTR_s__s_004c1a50 + -0x16bc;\n      uVar3 = 0xd;\nLAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3);\n      uVar9 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      if (0x7fffffffU - *(int *)(param_5 + 4) < uVar9) {\n        uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n        return uVar3;\n      }\n      (*(code *)PTR__M_append_004c1e68)(param_5,param_3,uVar9);\n      return 1;\n    }\n  }\nLAB_0014dae0:\n  uVar3 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                     PTR_s__s_004c1a50 + -0x1514);\n  return uVar3;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "Symbol *pSVar2;" (type_identifier "Symbol") (pointer_declarator "*pSVar2" (* "*") (identifier "pSVar2")) (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "undefined *puVar6;" (type_identifier "undefined") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "char *pcVar7;" (primitive_type "char") (pointer_declarator "*pcVar7" (* "*") (identifier "pcVar7")) (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "undefined1 *local_48 [2];" (type_identifier "undefined1") (pointer_declarator "*local_48 [2]" (* "*") (array_declarator "local_48 [2]" (identifier "local_48") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "undefined1 auStack_40 [16];" (type_identifier "undefined1") (array_declarator "auStack_40 [16]" (identifier "auStack_40") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "int local_30 [2];" (primitive_type "int") (array_declarator "local_30 [2]" (identifier "local_30") ([ "[") (number_literal "2") (] "]")) (; ";")) (expression_statement "iVar1 = (*(code *)PTR_strchr_004c5cb4)(param_3,0x40);" (assignment_expression "iVar1 = (*(code *)PTR_strchr_004c5cb4)(param_3,0x40)" (identifier "iVar1") (= "=") (call_expression "(*(code *)PTR_strchr_004c5cb4)(param_3,0x40)" (parenthesized_expression "(*(code *)PTR_strchr_004c5cb4)" (( "(") (pointer_expression "*(code *)PTR_strchr_004c5cb4" (* "*") (cast_expression "(code *)PTR_strchr_004c5cb4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strchr_004c5cb4"))) () ")")) (argument_list "(param_3,0x40)" (( "(") (identifier "param_3") (, ",") (number_literal "0x40") () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,param_3,0);\nLAB_0014d598:\n    *param_4 = pSVar2;\n    if (pSVar2 != (Symbol *)0x0) {\n      uVar9 = *(uint *)(pSVar2 + 0x28) & 0xe000;\n      pcVar7 = param_3;\n      goto LAB_0014d5a8;\n    }\n  }\n  else {\n    iVar8 = iVar1 - (int)param_3;\n    uVar9 = iVar8 + 1;\n    pcVar7 = *param_6;\n    if (*param_7 < uVar9) {\n      pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9);\n      *param_6 = pcVar7;\n      *param_7 = uVar9;\n    }\n    (*(code *)PTR_memcpy_004c5ba8)(pcVar7,param_3,iVar8);\n    pcVar7[iVar8] = '\0';\n    if (*(char *)(iVar1 + 1) != '@') {\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);\n      param_3 = pcVar7;\n      goto LAB_0014d598;\n    }\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2);\n    if (pSVar2 == (Symbol *)0x0) {\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }\n    uVar4 = *(uint *)(pSVar2 + 0x28);\n    uVar9 = uVar4 & 0xe000;\n    if (uVar9 == 0) {\n      if ((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }\n    if (uVar9 != 0x8000) goto LAB_0014d80c;\nLAB_0014d628:\n    if ((uVar4 << 4) >> 0x1c == 2) goto LAB_0014d80c;\n    *param_4 = pSVar2;\nLAB_0014d5a8:\n    if (uVar9 == 0) {\n      if (*(int *)(pSVar2 + 0xc) != 0) {\n        return 0;\n      }\n      if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {\n        return 0;\n      }\n    }\n    else if (uVar9 != 0x8000) {\n      return 0;\n    }\n    iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(*(undefined4 *)(param_2 + 4),pcVar7);\n    if (iVar1 != 0) {\n      return 0;\n    }\n    param_3 = pcVar7;\n    if ((uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c != 2) {\n      return 1;\n    }\n  }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,param_3,0);\nLAB_0014d598:\n    *param_4 = pSVar2;\n    if (pSVar2 != (Symbol *)0x0) {\n      uVar9 = *(uint *)(pSVar2 + 0x28) & 0xe000;\n      pcVar7 = param_3;\n      goto LAB_0014d5a8;\n    }\n  }" ({ "{") (expression_statement "pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,param_3,0);" (assignment_expression "pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,param_3,0)" (identifier "pSVar2") (= "=") (cast_expression "(Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,param_3,0)" (( "(") (type_descriptor "Symbol *" (type_identifier "Symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_lookup_004c1e40)(param_1,param_3,0)" (parenthesized_expression "(*(code *)PTR_lookup_004c1e40)" (( "(") (pointer_expression "*(code *)PTR_lookup_004c1e40" (* "*") (cast_expression "(code *)PTR_lookup_004c1e40" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_lookup_004c1e40"))) () ")")) (argument_list "(param_1,param_3,0)" (( "(") (identifier "param_1") (, ",") (identifier "param_3") (, ",") (number_literal "0") () ")"))))) (; ";")) (labeled_statement "LAB_0014d598:\n    *param_4 = pSVar2;" (statement_identifier "LAB_0014d598") (: ":") (expression_statement "*param_4 = pSVar2;" (assignment_expression "*param_4 = pSVar2" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (= "=") (identifier "pSVar2")) (; ";"))) (if_statement "if (pSVar2 != (Symbol *)0x0) {\n      uVar9 = *(uint *)(pSVar2 + 0x28) & 0xe000;\n      pcVar7 = param_3;\n      goto LAB_0014d5a8;\n    }" (if "if") (parenthesized_expression "(pSVar2 != (Symbol *)0x0)" (( "(") (binary_expression "pSVar2 != (Symbol *)0x0" (identifier "pSVar2") (!= "!=") (cast_expression "(Symbol *)0x0" (( "(") (type_descriptor "Symbol *" (type_identifier "Symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      uVar9 = *(uint *)(pSVar2 + 0x28) & 0xe000;\n      pcVar7 = param_3;\n      goto LAB_0014d5a8;\n    }" ({ "{") (expression_statement "uVar9 = *(uint *)(pSVar2 + 0x28) & 0xe000;" (assignment_expression "uVar9 = *(uint *)(pSVar2 + 0x28) & 0xe000" (identifier "uVar9") (= "=") (binary_expression "*(uint *)(pSVar2 + 0x28) & 0xe000" (pointer_expression "*(uint *)(pSVar2 + 0x28)" (* "*") (cast_expression "(uint *)(pSVar2 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar2 + 0x28)" (( "(") (binary_expression "pSVar2 + 0x28" (identifier "pSVar2") (+ "+") (number_literal "0x28")) () ")")))) (& "&") (number_literal "0xe000"))) (; ";")) (expression_statement "pcVar7 = param_3;" (assignment_expression "pcVar7 = param_3" (identifier "pcVar7") (= "=") (identifier "param_3")) (; ";")) (goto_statement "goto LAB_0014d5a8;" (goto "goto") (statement_identifier "LAB_0014d5a8") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    iVar8 = iVar1 - (int)param_3;\n    uVar9 = iVar8 + 1;\n    pcVar7 = *param_6;\n    if (*param_7 < uVar9) {\n      pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9);\n      *param_6 = pcVar7;\n      *param_7 = uVar9;\n    }\n    (*(code *)PTR_memcpy_004c5ba8)(pcVar7,param_3,iVar8);\n    pcVar7[iVar8] = '\0';\n    if (*(char *)(iVar1 + 1) != '@') {\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);\n      param_3 = pcVar7;\n      goto LAB_0014d598;\n    }\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2);\n    if (pSVar2 == (Symbol *)0x0) {\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }\n    uVar4 = *(uint *)(pSVar2 + 0x28);\n    uVar9 = uVar4 & 0xe000;\n    if (uVar9 == 0) {\n      if ((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }\n    if (uVar9 != 0x8000) goto LAB_0014d80c;\nLAB_0014d628:\n    if ((uVar4 << 4) >> 0x1c == 2) goto LAB_0014d80c;\n    *param_4 = pSVar2;\nLAB_0014d5a8:\n    if (uVar9 == 0) {\n      if (*(int *)(pSVar2 + 0xc) != 0) {\n        return 0;\n      }\n      if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {\n        return 0;\n      }\n    }\n    else if (uVar9 != 0x8000) {\n      return 0;\n    }\n    iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(*(undefined4 *)(param_2 + 4),pcVar7);\n    if (iVar1 != 0) {\n      return 0;\n    }\n    param_3 = pcVar7;\n    if ((uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c != 2) {\n      return 1;\n    }\n  }" (else "else") (compound_statement "{\n    iVar8 = iVar1 - (int)param_3;\n    uVar9 = iVar8 + 1;\n    pcVar7 = *param_6;\n    if (*param_7 < uVar9) {\n      pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9);\n      *param_6 = pcVar7;\n      *param_7 = uVar9;\n    }\n    (*(code *)PTR_memcpy_004c5ba8)(pcVar7,param_3,iVar8);\n    pcVar7[iVar8] = '\0';\n    if (*(char *)(iVar1 + 1) != '@') {\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);\n      param_3 = pcVar7;\n      goto LAB_0014d598;\n    }\n    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2);\n    if (pSVar2 == (Symbol *)0x0) {\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }\n    uVar4 = *(uint *)(pSVar2 + 0x28);\n    uVar9 = uVar4 & 0xe000;\n    if (uVar9 == 0) {\n      if ((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }\n    if (uVar9 != 0x8000) goto LAB_0014d80c;\nLAB_0014d628:\n    if ((uVar4 << 4) >> 0x1c == 2) goto LAB_0014d80c;\n    *param_4 = pSVar2;\nLAB_0014d5a8:\n    if (uVar9 == 0) {\n      if (*(int *)(pSVar2 + 0xc) != 0) {\n        return 0;\n      }\n      if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {\n        return 0;\n      }\n    }\n    else if (uVar9 != 0x8000) {\n      return 0;\n    }\n    iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(*(undefined4 *)(param_2 + 4),pcVar7);\n    if (iVar1 != 0) {\n      return 0;\n    }\n    param_3 = pcVar7;\n    if ((uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c != 2) {\n      return 1;\n    }\n  }" ({ "{") (expression_statement "iVar8 = iVar1 - (int)param_3;" (assignment_expression "iVar8 = iVar1 - (int)param_3" (identifier "iVar8") (= "=") (binary_expression "iVar1 - (int)param_3" (identifier "iVar1") (- "-") (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")))) (; ";")) (expression_statement "uVar9 = iVar8 + 1;" (assignment_expression "uVar9 = iVar8 + 1" (identifier "uVar9") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar7 = *param_6;" (assignment_expression "pcVar7 = *param_6" (identifier "pcVar7") (= "=") (pointer_expression "*param_6" (* "*") (identifier "param_6"))) (; ";")) (if_statement "if (*param_7 < uVar9) {\n      pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9);\n      *param_6 = pcVar7;\n      *param_7 = uVar9;\n    }" (if "if") (parenthesized_expression "(*param_7 < uVar9)" (( "(") (binary_expression "*param_7 < uVar9" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (< "<") (identifier "uVar9")) () ")")) (compound_statement "{\n      pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9);\n      *param_6 = pcVar7;\n      *param_7 = uVar9;\n    }" ({ "{") (expression_statement "pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9);" (assignment_expression "pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9)" (identifier "pcVar7") (= "=") (cast_expression "(char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9)" (parenthesized_expression "(*(code *)PTR_xrealloc_004c33e4)" (( "(") (pointer_expression "*(code *)PTR_xrealloc_004c33e4" (* "*") (cast_expression "(code *)PTR_xrealloc_004c33e4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_xrealloc_004c33e4"))) () ")")) (argument_list "(pcVar7,uVar9)" (( "(") (identifier "pcVar7") (, ",") (identifier "uVar9") () ")"))))) (; ";")) (expression_statement "*param_6 = pcVar7;" (assignment_expression "*param_6 = pcVar7" (pointer_expression "*param_6" (* "*") (identifier "param_6")) (= "=") (identifier "pcVar7")) (; ";")) (expression_statement "*param_7 = uVar9;" (assignment_expression "*param_7 = uVar9" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (identifier "uVar9")) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_memcpy_004c5ba8)(pcVar7,param_3,iVar8);" (call_expression "(*(code *)PTR_memcpy_004c5ba8)(pcVar7,param_3,iVar8)" (parenthesized_expression "(*(code *)PTR_memcpy_004c5ba8)" (( "(") (pointer_expression "*(code *)PTR_memcpy_004c5ba8" (* "*") (cast_expression "(code *)PTR_memcpy_004c5ba8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_004c5ba8"))) () ")")) (argument_list "(pcVar7,param_3,iVar8)" (( "(") (identifier "pcVar7") (, ",") (identifier "param_3") (, ",") (identifier "iVar8") () ")"))) (; ";")) (expression_statement "pcVar7[iVar8] = '\0';" (assignment_expression "pcVar7[iVar8] = '\0'" (subscript_expression "pcVar7[iVar8]" (identifier "pcVar7") ([ "[") (identifier "iVar8") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (if_statement "if (*(char *)(iVar1 + 1) != '@') {\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);\n      param_3 = pcVar7;\n      goto LAB_0014d598;\n    }" (if "if") (parenthesized_expression "(*(char *)(iVar1 + 1) != '@')" (( "(") (binary_expression "*(char *)(iVar1 + 1) != '@'" (pointer_expression "*(char *)(iVar1 + 1)" (* "*") (cast_expression "(char *)(iVar1 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 1)" (( "(") (binary_expression "iVar1 + 1" (identifier "iVar1") (+ "+") (number_literal "1")) () ")")))) (!= "!=") (char_literal "'@'" (' "'") (character "@") (' "'"))) () ")")) (compound_statement "{\n      iVar1 = iVar1 + 1;\nLAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);\n      param_3 = pcVar7;\n      goto LAB_0014d598;\n    }" ({ "{") (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" (identifier "iVar1") (= "=") (binary_expression "iVar1 + 1" (identifier "iVar1") (+ "+") (number_literal "1"))) (; ";")) (labeled_statement "LAB_0014d584:\n      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);" (statement_identifier "LAB_0014d584") (: ":") (expression_statement "pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);" (assignment_expression "pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1)" (identifier "pSVar2") (= "=") (cast_expression "(Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1)" (( "(") (type_descriptor "Symbol *" (type_identifier "Symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1)" (parenthesized_expression "(*(code *)PTR_lookup_004c1e40)" (( "(") (pointer_expression "*(code *)PTR_lookup_004c1e40" (* "*") (cast_expression "(code *)PTR_lookup_004c1e40" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_lookup_004c1e40"))) () ")")) (argument_list "(param_1,pcVar7,iVar1)" (( "(") (identifier "param_1") (, ",") (identifier "pcVar7") (, ",") (identifier "iVar1") () ")"))))) (; ";"))) (expression_statement "param_3 = pcVar7;" (assignment_expression "param_3 = pcVar7" (identifier "param_3") (= "=") (identifier "pcVar7")) (; ";")) (goto_statement "goto LAB_0014d598;" (goto "goto") (statement_identifier "LAB_0014d598") (; ";")) (} "}"))) (expression_statement "pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2);" (assignment_expression "pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2)" (identifier "pSVar2") (= "=") (cast_expression "(Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2)" (( "(") (type_descriptor "Symbol *" (type_identifier "Symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2)" (parenthesized_expression "(*(code *)PTR_lookup_004c1e40)" (( "(") (pointer_expression "*(code *)PTR_lookup_004c1e40" (* "*") (cast_expression "(code *)PTR_lookup_004c1e40" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_lookup_004c1e40"))) () ")")) (argument_list "(param_1,pcVar7,iVar1 + 2)" (( "(") (identifier "param_1") (, ",") (identifier "pcVar7") (, ",") (binary_expression "iVar1 + 2" (identifier "iVar1") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (if_statement "if (pSVar2 == (Symbol *)0x0) {\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }" (if "if") (parenthesized_expression "(pSVar2 == (Symbol *)0x0)" (( "(") (binary_expression "pSVar2 == (Symbol *)0x0" (identifier "pSVar2") (== "==") (cast_expression "(Symbol *)0x0" (( "(") (type_descriptor "Symbol *" (type_identifier "Symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0014d80c:\n      iVar1 = 0;\n      goto LAB_0014d584;\n    }" ({ "{") (labeled_statement "LAB_0014d80c:\n      iVar1 = 0;" (statement_identifier "LAB_0014d80c") (: ":") (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" (identifier "iVar1") (= "=") (number_literal "0")) (; ";"))) (goto_statement "goto LAB_0014d584;" (goto "goto") (statement_identifier "LAB_0014d584") (; ";")) (} "}"))) (expression_statement "uVar4 = *(uint *)(pSVar2 + 0x28);" (assignment_expression "uVar4 = *(uint *)(pSVar2 + 0x28)" (identifier "uVar4") (= "=") (pointer_expression "*(uint *)(pSVar2 + 0x28)" (* "*") (cast_expression "(uint *)(pSVar2 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar2 + 0x28)" (( "(") (binary_expression "pSVar2 + 0x28" (identifier "pSVar2") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "uVar9 = uVar4 & 0xe000;" (assignment_expression "uVar9 = uVar4 & 0xe000" (identifier "uVar9") (= "=") (binary_expression "uVar4 & 0xe000" (identifier "uVar4") (& "&") (number_literal "0xe000"))) (; ";")) (if_statement "if (uVar9 == 0) {\n      if ((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }" (if "if") (parenthesized_expression "(uVar9 == 0)" (( "(") (binary_expression "uVar9 == 0" (identifier "uVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if ((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)) goto LAB_0014d628;\n      goto LAB_0014d80c;\n    }" ({ "{") (if_statement "if ((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)) goto LAB_0014d628;" (if "if") (parenthesized_expression "((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0))" (( "(") (binary_expression "(*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)" (parenthesized_expression "(*(int *)(pSVar2 + 0xc) == 0)" (( "(") (binary_expression "*(int *)(pSVar2 + 0xc) == 0" (pointer_expression "*(int *)(pSVar2 + 0xc)" (* "*") (cast_expression "(int *)(pSVar2 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar2 + 0xc)" (( "(") (binary_expression "pSVar2 + 0xc" (identifier "pSVar2") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((int)(uVar4 << 0x1d) < 0)" (( "(") (binary_expression "(int)(uVar4 << 0x1d) < 0" (cast_expression "(int)(uVar4 << 0x1d)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar4 << 0x1d)" (( "(") (binary_expression "uVar4 << 0x1d" (identifier "uVar4") (<< "<<") (number_literal "0x1d")) () ")"))) (< "<") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_0014d628;" (goto "goto") (statement_identifier "LAB_0014d628") (; ";"))) (goto_statement "goto LAB_0014d80c;" (goto "goto") (statement_identifier "LAB_0014d80c") (; ";")) (} "}"))) (if_statement "if (uVar9 != 0x8000) goto LAB_0014d80c;" (if "if") (parenthesized_expression "(uVar9 != 0x8000)" (( "(") (binary_expression "uVar9 != 0x8000" (identifier "uVar9") (!= "!=") (number_literal "0x8000")) () ")")) (goto_statement "goto LAB_0014d80c;" (goto "goto") (statement_identifier "LAB_0014d80c") (; ";"))) (labeled_statement "LAB_0014d628:\n    if ((uVar4 << 4) >> 0x1c == 2) goto LAB_0014d80c;" (statement_identifier "LAB_0014d628") (: ":") (if_statement "if ((uVar4 << 4) >> 0x1c == 2) goto LAB_0014d80c;" (if "if") (parenthesized_expression "((uVar4 << 4) >> 0x1c == 2)" (( "(") (binary_expression "(uVar4 << 4) >> 0x1c == 2" (binary_expression "(uVar4 << 4) >> 0x1c" (parenthesized_expression "(uVar4 << 4)" (( "(") (binary_expression "uVar4 << 4" (identifier "uVar4") (<< "<<") (number_literal "4")) () ")")) (>> ">>") (number_literal "0x1c")) (== "==") (number_literal "2")) () ")")) (goto_statement "goto LAB_0014d80c;" (goto "goto") (statement_identifier "LAB_0014d80c") (; ";")))) (expression_statement "*param_4 = pSVar2;" (assignment_expression "*param_4 = pSVar2" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (= "=") (identifier "pSVar2")) (; ";")) (labeled_statement "LAB_0014d5a8:\n    if (uVar9 == 0) {\n      if (*(int *)(pSVar2 + 0xc) != 0) {\n        return 0;\n      }\n      if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {\n        return 0;\n      }\n    }\n    else if (uVar9 != 0x8000) {\n      return 0;\n    }" (statement_identifier "LAB_0014d5a8") (: ":") (if_statement "if (uVar9 == 0) {\n      if (*(int *)(pSVar2 + 0xc) != 0) {\n        return 0;\n      }\n      if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {\n        return 0;\n      }\n    }\n    else if (uVar9 != 0x8000) {\n      return 0;\n    }" (if "if") (parenthesized_expression "(uVar9 == 0)" (( "(") (binary_expression "uVar9 == 0" (identifier "uVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (*(int *)(pSVar2 + 0xc) != 0) {\n        return 0;\n      }\n      if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {\n        return 0;\n      }\n    }" ({ "{") (if_statement "if (*(int *)(pSVar2 + 0xc) != 0) {\n        return 0;\n      }" (if "if") (parenthesized_expression "(*(int *)(pSVar2 + 0xc) != 0)" (( "(") (binary_expression "*(int *)(pSVar2 + 0xc) != 0" (pointer_expression "*(int *)(pSVar2 + 0xc)" (* "*") (cast_expression "(int *)(pSVar2 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar2 + 0xc)" (( "(") (binary_expression "pSVar2 + 0xc" (identifier "pSVar2") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        return 0;\n      }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {\n        return 0;\n      }" (if "if") (parenthesized_expression "(-1 < *(int *)(pSVar2 + 0x28) << 0x1d)" (( "(") (binary_expression "-1 < *(int *)(pSVar2 + 0x28) << 0x1d" (number_literal "-1") (< "<") (binary_expression "*(int *)(pSVar2 + 0x28) << 0x1d" (pointer_expression "*(int *)(pSVar2 + 0x28)" (* "*") (cast_expression "(int *)(pSVar2 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar2 + 0x28)" (( "(") (binary_expression "pSVar2 + 0x28" (identifier "pSVar2") (+ "+") (number_literal "0x28")) () ")")))) (<< "<<") (number_literal "0x1d"))) () ")")) (compound_statement "{\n        return 0;\n      }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (} "}")) (else_clause "else if (uVar9 != 0x8000) {\n      return 0;\n    }" (else "else") (if_statement "if (uVar9 != 0x8000) {\n      return 0;\n    }" (if "if") (parenthesized_expression "(uVar9 != 0x8000)" (( "(") (binary_expression "uVar9 != 0x8000" (identifier "uVar9") (!= "!=") (number_literal "0x8000")) () ")")) (compound_statement "{\n      return 0;\n    }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))))) (expression_statement "iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(*(undefined4 *)(param_2 + 4),pcVar7);" (assignment_expression "iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(*(undefined4 *)(param_2 + 4),pcVar7)" (identifier "iVar1") (= "=") (call_expression "(*(code *)PTR_is_pending_assignment_004c33ec)(*(undefined4 *)(param_2 + 4),pcVar7)" (parenthesized_expression "(*(code *)PTR_is_pending_assignment_004c33ec)" (( "(") (pointer_expression "*(code *)PTR_is_pending_assignment_004c33ec" (* "*") (cast_expression "(code *)PTR_is_pending_assignment_004c33ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_is_pending_assignment_004c33ec"))) () ")")) (argument_list "(*(undefined4 *)(param_2 + 4),pcVar7)" (( "(") (pointer_expression "*(undefined4 *)(param_2 + 4)" (* "*") (cast_expression "(undefined4 *)(param_2 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 4)" (( "(") (binary_expression "param_2 + 4" (identifier "param_2") (+ "+") (number_literal "4")) () ")")))) (, ",") (identifier "pcVar7") () ")")))) (; ";")) (if_statement "if (iVar1 != 0) {\n      return 0;\n    }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      return 0;\n    }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "param_3 = pcVar7;" (assignment_expression "param_3 = pcVar7" (identifier "param_3") (= "=") (identifier "pcVar7")) (; ";")) (if_statement "if ((uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c != 2) {\n      return 1;\n    }" (if "if") (parenthesized_expression "((uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c != 2)" (( "(") (binary_expression "(uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c != 2" (binary_expression "(uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c" (call_expression "(uint)(*(int *)(pSVar2 + 0x28) << 4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(pSVar2 + 0x28) << 4)" (( "(") (binary_expression "*(int *)(pSVar2 + 0x28) << 4" (pointer_expression "*(int *)(pSVar2 + 0x28)" (* "*") (cast_expression "(int *)(pSVar2 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar2 + 0x28)" (( "(") (binary_expression "pSVar2 + 0x28" (identifier "pSVar2") (+ "+") (number_literal "0x28")) () ")")))) (<< "<<") (number_literal "4")) () ")"))) (>> ">>") (number_literal "0x1c")) (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n      return 1;\n    }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (} "}")))) (expression_statement "puVar6 = PTR_parameters_004c19b4;" (assignment_expression "puVar6 = PTR_parameters_004c19b4" (identifier "puVar6") (= "=") (identifier "PTR_parameters_004c19b4")) (; ";")) (expression_statement "iVar1 = *(int *)PTR_parameters_004c19b4;" (assignment_expression "iVar1 = *(int *)PTR_parameters_004c19b4" (identifier "iVar1") (= "=") (pointer_expression "*(int *)PTR_parameters_004c19b4" (* "*") (cast_expression "(int *)PTR_parameters_004c19b4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_parameters_004c19b4")))) (; ";")) (if_statement "if (*(int *)(iVar1 + 8) != 0) {\n    if (*(int *)(*(int *)(iVar1 + 8) + 0x42a4) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1704;\n        uVar3 = 3;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] == auStack_40) {\n        iVar1 = *(int *)puVar6;\n      }\n      else {\n        (*(code *)PTR_operator_delete_004c12fc)();\n        iVar1 = *(int *)puVar6;\n      }\n    }\n    if (*(int *)(iVar1 + 8) == 0) goto LAB_0014dae0;\n    if (*(int *)(*(int *)(iVar1 + 8) + 0x1348) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1700;\n        uVar3 = 0x18;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] != auStack_40) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }\n    local_48[0] = auStack_40;\n    iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n    std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n    std::\n    _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n    ::find((string *)local_30);\n    if (local_48[0] != auStack_40) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }\n    if (local_30[0] != 0) {\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      uVar3 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);\n      uVar5 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);\n      (*(code *)PTR_snprintf_004c5a94)(uVar3,iVar1 + 100,uVar5,param_3);\n      uVar5 = (*(code *)PTR_strlen_004c5b9c)(uVar3);\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5);\n      (*(code *)PTR_operator_delete___004c21b8)(uVar3);\n      return 1;\n    }\n    if (*(int *)(*(int *)puVar6 + 8) != 0) {\n      if (((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)) {\n        return 2;\n      }\n      uVar5 = *(undefined4 *)(param_5 + 4);\n      puVar6 = PTR_s__s_004c1a50 + -0x16bc;\n      uVar3 = 0xd;\nLAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3);\n      uVar9 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      if (0x7fffffffU - *(int *)(param_5 + 4) < uVar9) {\n        uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n        return uVar3;\n      }\n      (*(code *)PTR__M_append_004c1e68)(param_5,param_3,uVar9);\n      return 1;\n    }\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar1 + 8) != 0)" (( "(") (binary_expression "*(int *)(iVar1 + 8) != 0" (pointer_expression "*(int *)(iVar1 + 8)" (* "*") (cast_expression "(int *)(iVar1 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 8)" (( "(") (binary_expression "iVar1 + 8" (identifier "iVar1") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(int *)(*(int *)(iVar1 + 8) + 0x42a4) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1704;\n        uVar3 = 3;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] == auStack_40) {\n        iVar1 = *(int *)puVar6;\n      }\n      else {\n        (*(code *)PTR_operator_delete_004c12fc)();\n        iVar1 = *(int *)puVar6;\n      }\n    }\n    if (*(int *)(iVar1 + 8) == 0) goto LAB_0014dae0;\n    if (*(int *)(*(int *)(iVar1 + 8) + 0x1348) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1700;\n        uVar3 = 0x18;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] != auStack_40) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }\n    local_48[0] = auStack_40;\n    iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n    std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n    std::\n    _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n    ::find((string *)local_30);\n    if (local_48[0] != auStack_40) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }\n    if (local_30[0] != 0) {\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      uVar3 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);\n      uVar5 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);\n      (*(code *)PTR_snprintf_004c5a94)(uVar3,iVar1 + 100,uVar5,param_3);\n      uVar5 = (*(code *)PTR_strlen_004c5b9c)(uVar3);\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5);\n      (*(code *)PTR_operator_delete___004c21b8)(uVar3);\n      return 1;\n    }\n    if (*(int *)(*(int *)puVar6 + 8) != 0) {\n      if (((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)) {\n        return 2;\n      }\n      uVar5 = *(undefined4 *)(param_5 + 4);\n      puVar6 = PTR_s__s_004c1a50 + -0x16bc;\n      uVar3 = 0xd;\nLAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3);\n      uVar9 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      if (0x7fffffffU - *(int *)(param_5 + 4) < uVar9) {\n        uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n        return uVar3;\n      }\n      (*(code *)PTR__M_append_004c1e68)(param_5,param_3,uVar9);\n      return 1;\n    }\n  }" ({ "{") (if_statement "if (*(int *)(*(int *)(iVar1 + 8) + 0x42a4) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1704;\n        uVar3 = 3;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] == auStack_40) {\n        iVar1 = *(int *)puVar6;\n      }\n      else {\n        (*(code *)PTR_operator_delete_004c12fc)();\n        iVar1 = *(int *)puVar6;\n      }\n    }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(iVar1 + 8) + 0x42a4) != 0)" (( "(") (binary_expression "*(int *)(*(int *)(iVar1 + 8) + 0x42a4) != 0" (pointer_expression "*(int *)(*(int *)(iVar1 + 8) + 0x42a4)" (* "*") (cast_expression "(int *)(*(int *)(iVar1 + 8) + 0x42a4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar1 + 8) + 0x42a4)" (( "(") (binary_expression "*(int *)(iVar1 + 8) + 0x42a4" (pointer_expression "*(int *)(iVar1 + 8)" (* "*") (cast_expression "(int *)(iVar1 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 8)" (( "(") (binary_expression "iVar1 + 8" (identifier "iVar1") (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x42a4")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1704;\n        uVar3 = 3;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] == auStack_40) {\n        iVar1 = *(int *)puVar6;\n      }\n      else {\n        (*(code *)PTR_operator_delete_004c12fc)();\n        iVar1 = *(int *)puVar6;\n      }\n    }" ({ "{") (expression_statement "local_48[0] = auStack_40;" (assignment_expression "local_48[0] = auStack_40" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "auStack_40")) (; ";")) (expression_statement "iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);" (assignment_expression "iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3)" (identifier "iVar1") (= "=") (call_expression "(*(code *)PTR_strlen_004c5b9c)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" (( "(") (pointer_expression "*(code *)PTR_strlen_004c5b9c" (* "*") (cast_expression "(code *)PTR_strlen_004c5b9c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_004c5b9c"))) () ")")) (argument_list "(param_3)" (( "(") (identifier "param_3") () ")")))) (; ";")) (labeled_statement "std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);" (statement_identifier "std") (: ":") (ERROR ":" (: ":")) (labeled_statement "string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);" (statement_identifier "string") (: ":") (ERROR ":" (: ":")) (expression_statement "_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);" (binary_expression "_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0)" (binary_expression "_M_construct<char_const" (identifier "_M_construct") (< "<") (identifier "char_const")) (ERROR "*" (* "*")) (> ">") (parenthesized_expression "((string *)local_48,param_3,param_3 + iVar1,0)" (( "(") (comma_expression "(string *)local_48,param_3,param_3 + iVar1,0" (cast_expression "(string *)local_48" (( "(") (type_descriptor "string *" (type_identifier "string") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_48")) (, ",") (comma_expression "param_3,param_3 + iVar1,0" (identifier "param_3") (, ",") (comma_expression "param_3 + iVar1,0" (binary_expression "param_3 + iVar1" (identifier "param_3") (+ "+") (identifier "iVar1")) (, ",") (number_literal "0")))) () ")"))) (; ";")))) (ERROR "std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::" (comma_expression "std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std" (identifier "std") (ERROR "::\n      _Hashtable<std::string,std::string,std::allocator<std::string>" (: ":") (: ":") (binary_expression "_Hashtable<std" (identifier "_Hashtable") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "string,std" (identifier "string") (, ",") (identifier "std")) (: ":") (: ":") (comma_expression "string,std" (identifier "string") (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "allocator<std" (identifier "allocator") (< "<") (identifier "std")) (: ":") (: ":") (identifier "string") (> ">")) (, ",") (identifier "std")) (: ":") (: ":") (comma_expression "__detail::_Identity,std::equal_to<std::string>,std" (identifier "__detail") (ERROR "::_Identity,std::equal_to<std::string>" (: ":") (: ":") (comma_expression "_Identity,std" (identifier "_Identity") (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "equal_to<std" (identifier "equal_to") (< "<") (identifier "std")) (: ":") (: ":") (identifier "string") (> ">")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "hash<std" (identifier "hash") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "string>,std" (identifier "string") (> ">") (ERROR "," (, ",")) (identifier "std")) (: ":") (: ":")) (labeled_statement "__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);" (statement_identifier "__detail") (ERROR "::_Mod_range_hashing,std:" (: ":") (: ":") (comma_expression "_Mod_range_hashing,std" (identifier "_Mod_range_hashing") (, ",") (identifier "std")) (: ":")) (: ":") (labeled_statement "__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);" (statement_identifier "__detail") (ERROR "::_Default_ranged_hash,std:" (: ":") (: ":") (comma_expression "_Default_ranged_hash,std" (identifier "_Default_ranged_hash") (, ",") (identifier "std")) (: ":")) (: ":") (labeled_statement "__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);" (statement_identifier "__detail") (ERROR "::_Prime_rehash_policy,std:" (: ":") (: ":") (comma_expression "_Prime_rehash_policy,std" (identifier "_Prime_rehash_policy") (, ",") (identifier "std")) (: ":")) (: ":") (labeled_statement "__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);" (statement_identifier "__detail") (: ":") (ERROR ":" (: ":")) (expression_statement "_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);" (comma_expression "_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30)" (binary_expression "_Hashtable_traits<true" (identifier "_Hashtable_traits") (< "<") (true "true")) (, ",") (comma_expression "true,true>>\n      ::find((string *)local_30)" (true "true") (, ",") (binary_expression "true>>\n      ::find((string *)local_30)" (true "true") (>> ">>") (ERROR "::" (: ":") (: ":")) (call_expression "find((string *)local_30)" (identifier "find") (argument_list "((string *)local_30)" (( "(") (cast_expression "(string *)local_30" (( "(") (type_descriptor "string *" (type_identifier "string") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_30")) () ")")))))) (; ";")))))) (if_statement "if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1704;\n        uVar3 = 3;\n        goto LAB_0014d958;\n      }" (if "if") (parenthesized_expression "(local_30[0] != 0)" (( "(") (binary_expression "local_30[0] != 0" (subscript_expression "local_30[0]" (identifier "local_30") ([ "[") (number_literal "0") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1704;\n        uVar3 = 3;\n        goto LAB_0014d958;\n      }" ({ "{") (if_statement "if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" (if "if") (parenthesized_expression "(local_48[0] != auStack_40)" (( "(") (binary_expression "local_48[0] != auStack_40" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "auStack_40")) () ")")) (compound_statement "{\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" ({ "{") (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_004c12fc" (* "*") (cast_expression "(code *)PTR_operator_delete_004c12fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_004c12fc"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar5 = *(undefined4 *)(param_5 + 4);" (assignment_expression "uVar5 = *(undefined4 *)(param_5 + 4)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined4 *)(param_5 + 4)" (* "*") (cast_expression "(undefined4 *)(param_5 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 4)" (( "(") (binary_expression "param_5 + 4" (identifier "param_5") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "puVar6 = PTR_s__s_004c1a50 + -0x1704;" (assignment_expression "puVar6 = PTR_s__s_004c1a50 + -0x1704" (identifier "puVar6") (= "=") (binary_expression "PTR_s__s_004c1a50 + -0x1704" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "-0x1704"))) (; ";")) (expression_statement "uVar3 = 3;" (assignment_expression "uVar3 = 3" (identifier "uVar3") (= "=") (number_literal "3")) (; ";")) (goto_statement "goto LAB_0014d958;" (goto "goto") (statement_identifier "LAB_0014d958") (; ";")) (} "}"))) (if_statement "if (local_48[0] == auStack_40) {\n        iVar1 = *(int *)puVar6;\n      }\n      else {\n        (*(code *)PTR_operator_delete_004c12fc)();\n        iVar1 = *(int *)puVar6;\n      }" (if "if") (parenthesized_expression "(local_48[0] == auStack_40)" (( "(") (binary_expression "local_48[0] == auStack_40" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (== "==") (identifier "auStack_40")) () ")")) (compound_statement "{\n        iVar1 = *(int *)puVar6;\n      }" ({ "{") (expression_statement "iVar1 = *(int *)puVar6;" (assignment_expression "iVar1 = *(int *)puVar6" (identifier "iVar1") (= "=") (pointer_expression "*(int *)puVar6" (* "*") (cast_expression "(int *)puVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6")))) (; ";")) (} "}")) (else_clause "else {\n        (*(code *)PTR_operator_delete_004c12fc)();\n        iVar1 = *(int *)puVar6;\n      }" (else "else") (compound_statement "{\n        (*(code *)PTR_operator_delete_004c12fc)();\n        iVar1 = *(int *)puVar6;\n      }" ({ "{") (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_004c12fc" (* "*") (cast_expression "(code *)PTR_operator_delete_004c12fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_004c12fc"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar1 = *(int *)puVar6;" (assignment_expression "iVar1 = *(int *)puVar6" (identifier "iVar1") (= "=") (pointer_expression "*(int *)puVar6" (* "*") (cast_expression "(int *)puVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6")))) (; ";")) (} "}")))) (} "}"))) (if_statement "if (*(int *)(iVar1 + 8) == 0) goto LAB_0014dae0;" (if "if") (parenthesized_expression "(*(int *)(iVar1 + 8) == 0)" (( "(") (binary_expression "*(int *)(iVar1 + 8) == 0" (pointer_expression "*(int *)(iVar1 + 8)" (* "*") (cast_expression "(int *)(iVar1 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 8)" (( "(") (binary_expression "iVar1 + 8" (identifier "iVar1") (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0014dae0;" (goto "goto") (statement_identifier "LAB_0014dae0") (; ";"))) (if_statement "if (*(int *)(*(int *)(iVar1 + 8) + 0x1348) != 0) {\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1700;\n        uVar3 = 0x18;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] != auStack_40) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(iVar1 + 8) + 0x1348) != 0)" (( "(") (binary_expression "*(int *)(*(int *)(iVar1 + 8) + 0x1348) != 0" (pointer_expression "*(int *)(*(int *)(iVar1 + 8) + 0x1348)" (* "*") (cast_expression "(int *)(*(int *)(iVar1 + 8) + 0x1348)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar1 + 8) + 0x1348)" (( "(") (binary_expression "*(int *)(iVar1 + 8) + 0x1348" (pointer_expression "*(int *)(iVar1 + 8)" (* "*") (cast_expression "(int *)(iVar1 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 8)" (( "(") (binary_expression "iVar1 + 8" (identifier "iVar1") (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x1348")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      local_48[0] = auStack_40;\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);\n      std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);\n      if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1700;\n        uVar3 = 0x18;\n        goto LAB_0014d958;\n      }\n      if (local_48[0] != auStack_40) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }\n    }" ({ "{") (expression_statement "local_48[0] = auStack_40;" (assignment_expression "local_48[0] = auStack_40" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "auStack_40")) (; ";")) (expression_statement "iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);" (assignment_expression "iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3)" (identifier "iVar1") (= "=") (call_expression "(*(code *)PTR_strlen_004c5b9c)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" (( "(") (pointer_expression "*(code *)PTR_strlen_004c5b9c" (* "*") (cast_expression "(code *)PTR_strlen_004c5b9c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_004c5b9c"))) () ")")) (argument_list "(param_3)" (( "(") (identifier "param_3") () ")")))) (; ";")) (labeled_statement "std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);" (statement_identifier "std") (: ":") (ERROR ":" (: ":")) (labeled_statement "string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);" (statement_identifier "string") (: ":") (ERROR ":" (: ":")) (expression_statement "_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);" (binary_expression "_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0)" (binary_expression "_M_construct<char_const" (identifier "_M_construct") (< "<") (identifier "char_const")) (ERROR "*" (* "*")) (> ">") (parenthesized_expression "((string *)local_48,param_3,param_3 + iVar1,0)" (( "(") (comma_expression "(string *)local_48,param_3,param_3 + iVar1,0" (cast_expression "(string *)local_48" (( "(") (type_descriptor "string *" (type_identifier "string") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_48")) (, ",") (comma_expression "param_3,param_3 + iVar1,0" (identifier "param_3") (, ",") (comma_expression "param_3 + iVar1,0" (binary_expression "param_3 + iVar1" (identifier "param_3") (+ "+") (identifier "iVar1")) (, ",") (number_literal "0")))) () ")"))) (; ";")))) (ERROR "std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::" (comma_expression "std::\n      _Hashtable<std::string,std::string,std::allocator<std::string>,std" (identifier "std") (ERROR "::\n      _Hashtable<std::string,std::string,std::allocator<std::string>" (: ":") (: ":") (binary_expression "_Hashtable<std" (identifier "_Hashtable") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "string,std" (identifier "string") (, ",") (identifier "std")) (: ":") (: ":") (comma_expression "string,std" (identifier "string") (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "allocator<std" (identifier "allocator") (< "<") (identifier "std")) (: ":") (: ":") (identifier "string") (> ">")) (, ",") (identifier "std")) (: ":") (: ":") (comma_expression "__detail::_Identity,std::equal_to<std::string>,std" (identifier "__detail") (ERROR "::_Identity,std::equal_to<std::string>" (: ":") (: ":") (comma_expression "_Identity,std" (identifier "_Identity") (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "equal_to<std" (identifier "equal_to") (< "<") (identifier "std")) (: ":") (: ":") (identifier "string") (> ">")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "hash<std" (identifier "hash") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "string>,std" (identifier "string") (> ">") (ERROR "," (, ",")) (identifier "std")) (: ":") (: ":")) (labeled_statement "__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);" (statement_identifier "__detail") (ERROR "::_Mod_range_hashing,std:" (: ":") (: ":") (comma_expression "_Mod_range_hashing,std" (identifier "_Mod_range_hashing") (, ",") (identifier "std")) (: ":")) (: ":") (labeled_statement "__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);" (statement_identifier "__detail") (ERROR "::_Default_ranged_hash,std:" (: ":") (: ":") (comma_expression "_Default_ranged_hash,std" (identifier "_Default_ranged_hash") (, ",") (identifier "std")) (: ":")) (: ":") (labeled_statement "__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);" (statement_identifier "__detail") (ERROR "::_Prime_rehash_policy,std:" (: ":") (: ":") (comma_expression "_Prime_rehash_policy,std" (identifier "_Prime_rehash_policy") (, ",") (identifier "std")) (: ":")) (: ":") (labeled_statement "__detail::_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);" (statement_identifier "__detail") (: ":") (ERROR ":" (: ":")) (expression_statement "_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30);" (comma_expression "_Hashtable_traits<true,true,true>>\n      ::find((string *)local_30)" (binary_expression "_Hashtable_traits<true" (identifier "_Hashtable_traits") (< "<") (true "true")) (, ",") (comma_expression "true,true>>\n      ::find((string *)local_30)" (true "true") (, ",") (binary_expression "true>>\n      ::find((string *)local_30)" (true "true") (>> ">>") (ERROR "::" (: ":") (: ":")) (call_expression "find((string *)local_30)" (identifier "find") (argument_list "((string *)local_30)" (( "(") (cast_expression "(string *)local_30" (( "(") (type_descriptor "string *" (type_identifier "string") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_30")) () ")")))))) (; ";")))))) (if_statement "if (local_30[0] != 0) {\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1700;\n        uVar3 = 0x18;\n        goto LAB_0014d958;\n      }" (if "if") (parenthesized_expression "(local_30[0] != 0)" (( "(") (binary_expression "local_30[0] != 0" (subscript_expression "local_30[0]" (identifier "local_30") ([ "[") (number_literal "0") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        uVar5 = *(undefined4 *)(param_5 + 4);\n        puVar6 = PTR_s__s_004c1a50 + -0x1700;\n        uVar3 = 0x18;\n        goto LAB_0014d958;\n      }" ({ "{") (if_statement "if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" (if "if") (parenthesized_expression "(local_48[0] != auStack_40)" (( "(") (binary_expression "local_48[0] != auStack_40" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "auStack_40")) () ")")) (compound_statement "{\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" ({ "{") (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_004c12fc" (* "*") (cast_expression "(code *)PTR_operator_delete_004c12fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_004c12fc"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar5 = *(undefined4 *)(param_5 + 4);" (assignment_expression "uVar5 = *(undefined4 *)(param_5 + 4)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined4 *)(param_5 + 4)" (* "*") (cast_expression "(undefined4 *)(param_5 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 4)" (( "(") (binary_expression "param_5 + 4" (identifier "param_5") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "puVar6 = PTR_s__s_004c1a50 + -0x1700;" (assignment_expression "puVar6 = PTR_s__s_004c1a50 + -0x1700" (identifier "puVar6") (= "=") (binary_expression "PTR_s__s_004c1a50 + -0x1700" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "-0x1700"))) (; ";")) (expression_statement "uVar3 = 0x18;" (assignment_expression "uVar3 = 0x18" (identifier "uVar3") (= "=") (number_literal "0x18")) (; ";")) (goto_statement "goto LAB_0014d958;" (goto "goto") (statement_identifier "LAB_0014d958") (; ";")) (} "}"))) (if_statement "if (local_48[0] != auStack_40) {\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" (if "if") (parenthesized_expression "(local_48[0] != auStack_40)" (( "(") (binary_expression "local_48[0] != auStack_40" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "auStack_40")) () ")")) (compound_statement "{\n        (*(code *)PTR_operator_delete_004c12fc)();\n      }" ({ "{") (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_004c12fc" (* "*") (cast_expression "(code *)PTR_operator_delete_004c12fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_004c12fc"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "local_48[0] = auStack_40;" (assignment_expression "local_48[0] = auStack_40" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "auStack_40")) (; ";")) (expression_statement "iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);" (assignment_expression "iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3)" (identifier "iVar1") (= "=") (call_expression "(*(code *)PTR_strlen_004c5b9c)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" (( "(") (pointer_expression "*(code *)PTR_strlen_004c5b9c" (* "*") (cast_expression "(code *)PTR_strlen_004c5b9c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_004c5b9c"))) () ")")) (argument_list "(param_3)" (( "(") (identifier "param_3") () ")")))) (; ";")) (labeled_statement "std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);" (statement_identifier "std") (: ":") (ERROR ":" (: ":")) (labeled_statement "string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);" (statement_identifier "string") (: ":") (ERROR ":" (: ":")) (expression_statement "_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);" (binary_expression "_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0)" (binary_expression "_M_construct<char_const" (identifier "_M_construct") (< "<") (identifier "char_const")) (ERROR "*" (* "*")) (> ">") (parenthesized_expression "((string *)local_48,param_3,param_3 + iVar1,0)" (( "(") (comma_expression "(string *)local_48,param_3,param_3 + iVar1,0" (cast_expression "(string *)local_48" (( "(") (type_descriptor "string *" (type_identifier "string") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_48")) (, ",") (comma_expression "param_3,param_3 + iVar1,0" (identifier "param_3") (, ",") (comma_expression "param_3 + iVar1,0" (binary_expression "param_3 + iVar1" (identifier "param_3") (+ "+") (identifier "iVar1")) (, ",") (number_literal "0")))) () ")"))) (; ";")))) (ERROR "std::\n    _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::" (comma_expression "std::\n    _Hashtable<std::string,std::string,std::allocator<std::string>,std" (identifier "std") (ERROR "::\n    _Hashtable<std::string,std::string,std::allocator<std::string>" (: ":") (: ":") (binary_expression "_Hashtable<std" (identifier "_Hashtable") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "string,std" (identifier "string") (, ",") (identifier "std")) (: ":") (: ":") (comma_expression "string,std" (identifier "string") (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "allocator<std" (identifier "allocator") (< "<") (identifier "std")) (: ":") (: ":") (identifier "string") (> ">")) (, ",") (identifier "std")) (: ":") (: ":") (comma_expression "__detail::_Identity,std::equal_to<std::string>,std" (identifier "__detail") (ERROR "::_Identity,std::equal_to<std::string>" (: ":") (: ":") (comma_expression "_Identity,std" (identifier "_Identity") (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "equal_to<std" (identifier "equal_to") (< "<") (identifier "std")) (: ":") (: ":") (identifier "string") (> ">")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "hash<std" (identifier "hash") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "string>,std" (identifier "string") (> ">") (ERROR "," (, ",")) (identifier "std")) (: ":") (: ":")) (labeled_statement "__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n    ::find((string *)local_30);" (statement_identifier "__detail") (ERROR "::_Mod_range_hashing,std:" (: ":") (: ":") (comma_expression "_Mod_range_hashing,std" (identifier "_Mod_range_hashing") (, ",") (identifier "std")) (: ":")) (: ":") (labeled_statement "__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n    ::find((string *)local_30);" (statement_identifier "__detail") (ERROR "::_Default_ranged_hash,std:" (: ":") (: ":") (comma_expression "_Default_ranged_hash,std" (identifier "_Default_ranged_hash") (, ",") (identifier "std")) (: ":")) (: ":") (labeled_statement "__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n    ::find((string *)local_30);" (statement_identifier "__detail") (ERROR "::_Prime_rehash_policy,std:" (: ":") (: ":") (comma_expression "_Prime_rehash_policy,std" (identifier "_Prime_rehash_policy") (, ",") (identifier "std")) (: ":")) (: ":") (labeled_statement "__detail::_Hashtable_traits<true,true,true>>\n    ::find((string *)local_30);" (statement_identifier "__detail") (: ":") (ERROR ":" (: ":")) (expression_statement "_Hashtable_traits<true,true,true>>\n    ::find((string *)local_30);" (comma_expression "_Hashtable_traits<true,true,true>>\n    ::find((string *)local_30)" (binary_expression "_Hashtable_traits<true" (identifier "_Hashtable_traits") (< "<") (true "true")) (, ",") (comma_expression "true,true>>\n    ::find((string *)local_30)" (true "true") (, ",") (binary_expression "true>>\n    ::find((string *)local_30)" (true "true") (>> ">>") (ERROR "::" (: ":") (: ":")) (call_expression "find((string *)local_30)" (identifier "find") (argument_list "((string *)local_30)" (( "(") (cast_expression "(string *)local_30" (( "(") (type_descriptor "string *" (type_identifier "string") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_30")) () ")")))))) (; ";")))))) (if_statement "if (local_48[0] != auStack_40) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }" (if "if") (parenthesized_expression "(local_48[0] != auStack_40)" (( "(") (binary_expression "local_48[0] != auStack_40" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "auStack_40")) () ")")) (compound_statement "{\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }" ({ "{") (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_004c12fc" (* "*") (cast_expression "(code *)PTR_operator_delete_004c12fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_004c12fc"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_30[0] != 0) {\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      uVar3 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);\n      uVar5 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);\n      (*(code *)PTR_snprintf_004c5a94)(uVar3,iVar1 + 100,uVar5,param_3);\n      uVar5 = (*(code *)PTR_strlen_004c5b9c)(uVar3);\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5);\n      (*(code *)PTR_operator_delete___004c21b8)(uVar3);\n      return 1;\n    }" (if "if") (parenthesized_expression "(local_30[0] != 0)" (( "(") (binary_expression "local_30[0] != 0" (subscript_expression "local_30[0]" (identifier "local_30") ([ "[") (number_literal "0") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      uVar3 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);\n      uVar5 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);\n      (*(code *)PTR_snprintf_004c5a94)(uVar3,iVar1 + 100,uVar5,param_3);\n      uVar5 = (*(code *)PTR_strlen_004c5b9c)(uVar3);\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5);\n      (*(code *)PTR_operator_delete___004c21b8)(uVar3);\n      return 1;\n    }" ({ "{") (expression_statement "iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);" (assignment_expression "iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3)" (identifier "iVar1") (= "=") (call_expression "(*(code *)PTR_strlen_004c5b9c)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" (( "(") (pointer_expression "*(code *)PTR_strlen_004c5b9c" (* "*") (cast_expression "(code *)PTR_strlen_004c5b9c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_004c5b9c"))) () ")")) (argument_list "(param_3)" (( "(") (identifier "param_3") () ")")))) (; ";")) (expression_statement "uVar3 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);" (assignment_expression "uVar3 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100)" (identifier "uVar3") (= "=") (call_expression "(*(code *)PTR_operator_new___004c134c)(iVar1 + 100)" (parenthesized_expression "(*(code *)PTR_operator_new___004c134c)" (( "(") (pointer_expression "*(code *)PTR_operator_new___004c134c" (* "*") (cast_expression "(code *)PTR_operator_new___004c134c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_new___004c134c"))) () ")")) (argument_list "(iVar1 + 100)" (( "(") (binary_expression "iVar1 + 100" (identifier "iVar1") (+ "+") (number_literal "100")) () ")")))) (; ";")) (expression_statement "uVar5 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);" (assignment_expression "uVar5 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4)" (identifier "uVar5") (= "=") (call_expression "(*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4)" (parenthesized_expression "(*(code *)PTR_gettext_004c5c30)" (( "(") (pointer_expression "*(code *)PTR_gettext_004c5c30" (* "*") (cast_expression "(code *)PTR_gettext_004c5c30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_gettext_004c5c30"))) () ")")) (argument_list "(PTR_s__s_004c1a50 + -0x16e4)" (( "(") (binary_expression "PTR_s__s_004c1a50 + -0x16e4" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "-0x16e4")) () ")")))) (; ";")) (expression_statement "(*(code *)PTR_snprintf_004c5a94)(uVar3,iVar1 + 100,uVar5,param_3);" (call_expression "(*(code *)PTR_snprintf_004c5a94)(uVar3,iVar1 + 100,uVar5,param_3)" (parenthesized_expression "(*(code *)PTR_snprintf_004c5a94)" (( "(") (pointer_expression "*(code *)PTR_snprintf_004c5a94" (* "*") (cast_expression "(code *)PTR_snprintf_004c5a94" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_snprintf_004c5a94"))) () ")")) (argument_list "(uVar3,iVar1 + 100,uVar5,param_3)" (( "(") (identifier "uVar3") (, ",") (binary_expression "iVar1 + 100" (identifier "iVar1") (+ "+") (number_literal "100")) (, ",") (identifier "uVar5") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "uVar5 = (*(code *)PTR_strlen_004c5b9c)(uVar3);" (assignment_expression "uVar5 = (*(code *)PTR_strlen_004c5b9c)(uVar3)" (identifier "uVar5") (= "=") (call_expression "(*(code *)PTR_strlen_004c5b9c)(uVar3)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" (( "(") (pointer_expression "*(code *)PTR_strlen_004c5b9c" (* "*") (cast_expression "(code *)PTR_strlen_004c5b9c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_004c5b9c"))) () ")")) (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")")))) (; ";")) (expression_statement "(*(code *)PTR__M_replace_004c20a0)(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5);" (call_expression "(*(code *)PTR__M_replace_004c20a0)(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5)" (parenthesized_expression "(*(code *)PTR__M_replace_004c20a0)" (( "(") (pointer_expression "*(code *)PTR__M_replace_004c20a0" (* "*") (cast_expression "(code *)PTR__M_replace_004c20a0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_replace_004c20a0"))) () ")")) (argument_list "(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5)" (( "(") (identifier "param_5") (, ",") (number_literal "0") (, ",") (pointer_expression "*(undefined4 *)(param_5 + 4)" (* "*") (cast_expression "(undefined4 *)(param_5 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 4)" (( "(") (binary_expression "param_5 + 4" (identifier "param_5") (+ "+") (number_literal "4")) () ")")))) (, ",") (identifier "uVar3") (, ",") (identifier "uVar5") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_operator_delete___004c21b8)(uVar3);" (call_expression "(*(code *)PTR_operator_delete___004c21b8)(uVar3)" (parenthesized_expression "(*(code *)PTR_operator_delete___004c21b8)" (( "(") (pointer_expression "*(code *)PTR_operator_delete___004c21b8" (* "*") (cast_expression "(code *)PTR_operator_delete___004c21b8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete___004c21b8"))) () ")")) (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (if_statement "if (*(int *)(*(int *)puVar6 + 8) != 0) {\n      if (((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)) {\n        return 2;\n      }\n      uVar5 = *(undefined4 *)(param_5 + 4);\n      puVar6 = PTR_s__s_004c1a50 + -0x16bc;\n      uVar3 = 0xd;\nLAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3);\n      uVar9 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      if (0x7fffffffU - *(int *)(param_5 + 4) < uVar9) {\n        uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n        return uVar3;\n      }\n      (*(code *)PTR__M_append_004c1e68)(param_5,param_3,uVar9);\n      return 1;\n    }" (if "if") (parenthesized_expression "(*(int *)(*(int *)puVar6 + 8) != 0)" (( "(") (binary_expression "*(int *)(*(int *)puVar6 + 8) != 0" (pointer_expression "*(int *)(*(int *)puVar6 + 8)" (* "*") (cast_expression "(int *)(*(int *)puVar6 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)puVar6 + 8)" (( "(") (binary_expression "*(int *)puVar6 + 8" (pointer_expression "*(int *)puVar6" (* "*") (cast_expression "(int *)puVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6"))) (+ "+") (number_literal "8")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if (((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)) {\n        return 2;\n      }\n      uVar5 = *(undefined4 *)(param_5 + 4);\n      puVar6 = PTR_s__s_004c1a50 + -0x16bc;\n      uVar3 = 0xd;\nLAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3);\n      uVar9 = (*(code *)PTR_strlen_004c5b9c)(param_3);\n      if (0x7fffffffU - *(int *)(param_5 + 4) < uVar9) {\n        uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n        return uVar3;\n      }\n      (*(code *)PTR__M_append_004c1e68)(param_5,param_3,uVar9);\n      return 1;\n    }" ({ "{") (if_statement "if (((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)) {\n        return 2;\n      }" (if "if") (parenthesized_expression "(((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0))" (( "(") (binary_expression "((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||\n         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)" (parenthesized_expression "((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0))" (( "(") (binary_expression "(*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||\n          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)" (parenthesized_expression "(*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0')" (( "(") (binary_expression "*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0'" (pointer_expression "*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195)" (* "*") (cast_expression "(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)puVar6 + 8) + 0x3195)" (( "(") (binary_expression "*(int *)(*(int *)puVar6 + 8) + 0x3195" (pointer_expression "*(int *)(*(int *)puVar6 + 8)" (* "*") (cast_expression "(int *)(*(int *)puVar6 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)puVar6 + 8)" (( "(") (binary_expression "*(int *)puVar6 + 8" (pointer_expression "*(int *)puVar6" (* "*") (cast_expression "(int *)puVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6"))) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x3195")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)" (( "(") (comma_expression "iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0" (assignment_expression "iVar1 = (*(code *)PTR_entry_004c33e8)()" (identifier "iVar1") (= "=") (call_expression "(*(code *)PTR_entry_004c33e8)()" (parenthesized_expression "(*(code *)PTR_entry_004c33e8)" (( "(") (pointer_expression "*(code *)PTR_entry_004c33e8" (* "*") (cast_expression "(code *)PTR_entry_004c33e8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_entry_004c33e8"))) () ")")) (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)" (( "(") (comma_expression "iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0" (assignment_expression "iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1)" (identifier "iVar1") (= "=") (call_expression "(*(code *)PTR_strcmp_004c5a68)(param_3,iVar1)" (parenthesized_expression "(*(code *)PTR_strcmp_004c5a68)" (( "(") (pointer_expression "*(code *)PTR_strcmp_004c5a68" (* "*") (cast_expression "(code *)PTR_strcmp_004c5a68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_004c5a68"))) () ")")) (argument_list "(param_3,iVar1)" (( "(") (identifier "param_3") (, ",") (identifier "iVar1") () ")")))) (, ",") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        return 2;\n      }" ({ "{") (return_statement "return 2;" (return "return") (number_literal "2") (; ";")) (} "}"))) (expression_statement "uVar5 = *(undefined4 *)(param_5 + 4);" (assignment_expression "uVar5 = *(undefined4 *)(param_5 + 4)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined4 *)(param_5 + 4)" (* "*") (cast_expression "(undefined4 *)(param_5 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 4)" (( "(") (binary_expression "param_5 + 4" (identifier "param_5") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "puVar6 = PTR_s__s_004c1a50 + -0x16bc;" (assignment_expression "puVar6 = PTR_s__s_004c1a50 + -0x16bc" (identifier "puVar6") (= "=") (binary_expression "PTR_s__s_004c1a50 + -0x16bc" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "-0x16bc"))) (; ";")) (expression_statement "uVar3 = 0xd;" (assignment_expression "uVar3 = 0xd" (identifier "uVar3") (= "=") (number_literal "0xd")) (; ";")) (labeled_statement "LAB_0014d958:\n      (*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3);" (statement_identifier "LAB_0014d958") (: ":") (expression_statement "(*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3);" (call_expression "(*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3)" (parenthesized_expression "(*(code *)PTR__M_replace_004c20a0)" (( "(") (pointer_expression "*(code *)PTR__M_replace_004c20a0" (* "*") (cast_expression "(code *)PTR__M_replace_004c20a0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_replace_004c20a0"))) () ")")) (argument_list "(param_5,0,uVar5,puVar6,uVar3)" (( "(") (identifier "param_5") (, ",") (number_literal "0") (, ",") (identifier "uVar5") (, ",") (identifier "puVar6") (, ",") (identifier "uVar3") () ")"))) (; ";"))) (expression_statement "uVar9 = (*(code *)PTR_strlen_004c5b9c)(param_3);" (assignment_expression "uVar9 = (*(code *)PTR_strlen_004c5b9c)(param_3)" (identifier "uVar9") (= "=") (call_expression "(*(code *)PTR_strlen_004c5b9c)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" (( "(") (pointer_expression "*(code *)PTR_strlen_004c5b9c" (* "*") (cast_expression "(code *)PTR_strlen_004c5b9c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_004c5b9c"))) () ")")) (argument_list "(param_3)" (( "(") (identifier "param_3") () ")")))) (; ";")) (if_statement "if (0x7fffffffU - *(int *)(param_5 + 4) < uVar9) {\n        uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n        return uVar3;\n      }" (if "if") (parenthesized_expression "(0x7fffffffU - *(int *)(param_5 + 4) < uVar9)" (( "(") (binary_expression "0x7fffffffU - *(int *)(param_5 + 4) < uVar9" (binary_expression "0x7fffffffU - *(int *)(param_5 + 4)" (number_literal "0x7fffffffU") (- "-") (pointer_expression "*(int *)(param_5 + 4)" (* "*") (cast_expression "(int *)(param_5 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 4)" (( "(") (binary_expression "param_5 + 4" (identifier "param_5") (+ "+") (number_literal "4")) () ")"))))) (< "<") (identifier "uVar9")) () ")")) (compound_statement "{\n        uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n        return uVar3;\n      }" ({ "{") (expression_statement "uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);" (assignment_expression "uVar3 = (*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" (identifier "uVar3") (= "=") (call_expression "(*(code *)PTR___throw_length_error_004c1e74)\n                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" (parenthesized_expression "(*(code *)PTR___throw_length_error_004c1e74)" (( "(") (pointer_expression "*(code *)PTR___throw_length_error_004c1e74" (* "*") (cast_expression "(code *)PTR___throw_length_error_004c1e74" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___throw_length_error_004c1e74"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x446c")) () ")")))) (; ";")) (return_statement "return uVar3;" (return "return") (identifier "uVar3") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR__M_append_004c1e68)(param_5,param_3,uVar9);" (call_expression "(*(code *)PTR__M_append_004c1e68)(param_5,param_3,uVar9)" (parenthesized_expression "(*(code *)PTR__M_append_004c1e68)" (( "(") (pointer_expression "*(code *)PTR__M_append_004c1e68" (* "*") (cast_expression "(code *)PTR__M_append_004c1e68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_append_004c1e68"))) () ")")) (argument_list "(param_5,param_3,uVar9)" (( "(") (identifier "param_5") (, ",") (identifier "param_3") (, ",") (identifier "uVar9") () ")"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_0014dae0:\n  uVar3 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                     PTR_s__s_004c1a50 + -0x1514);" (statement_identifier "LAB_0014dae0") (: ":") (expression_statement "uVar3 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                     PTR_s__s_004c1a50 + -0x1514);" (assignment_expression "uVar3 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                     PTR_s__s_004c1a50 + -0x1514)" (identifier "uVar3") (= "=") (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                     PTR_s__s_004c1a50 + -0x1514)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                     PTR_s__s_004c1a50 + -0x1514)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "-0x9b8")) (, ",") (number_literal "0x5c") (, ",") (binary_expression "PTR_s__s_004c1a50 + -0x1514" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "-0x1514")) () ")")))) (; ";"))) (return_statement "return uVar3;" (return "return") (identifier "uVar3") (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) (ERROR (identifier) (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator 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: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (char_literal (escape_sequence)))) (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 (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (return_statement (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) consequence: (compound_statement (return_statement (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (return_statement (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (labeled_statement label: (statement_identifier) (ERROR) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (binary_expression left: (binary_expression left: (identifier) right: (identifier)) (ERROR) right: (parenthesized_expression (comma_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)) right: (comma_expression left: (identifier) right: (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))))))) (ERROR (comma_expression left: (identifier) (ERROR (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (identifier) right: (identifier)) (comma_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (identifier)) right: (identifier)) (comma_expression left: (identifier) (ERROR (comma_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (identifier)) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) (ERROR) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (comma_expression left: (binary_expression left: (identifier) right: (true)) right: (comma_expression left: (true) right: (binary_expression left: (true) (ERROR) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (labeled_statement label: (statement_identifier) (ERROR) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (binary_expression left: (binary_expression left: (identifier) right: (identifier)) (ERROR) right: (parenthesized_expression (comma_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)) right: (comma_expression left: (identifier) right: (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))))))) (ERROR (comma_expression left: (identifier) (ERROR (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (identifier) right: (identifier)) (comma_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (identifier)) right: (identifier)) (comma_expression left: (identifier) (ERROR (comma_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (identifier)) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) (ERROR) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (comma_expression left: (binary_expression left: (identifier) right: (true)) right: (comma_expression left: (true) right: (binary_expression left: (true) (ERROR) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (labeled_statement label: (statement_identifier) (ERROR) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (binary_expression left: (binary_expression left: (identifier) right: (identifier)) (ERROR) right: (parenthesized_expression (comma_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)) right: (comma_expression left: (identifier) right: (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))))))) (ERROR (comma_expression left: (identifier) (ERROR (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (identifier) right: (identifier)) (comma_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (identifier)) right: (identifier)) (comma_expression left: (identifier) (ERROR (comma_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (identifier)) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) (ERROR) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (comma_expression left: (binary_expression left: (identifier) right: (true)) right: (comma_expression left: (true) right: (binary_expression left: (true) (ERROR) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (return_statement (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (return_statement (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier)))) (return_statement (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))) (return_statement (identifier)))))

/* gold::Library_base::MASKED(gold::Symbol_table*, gold::Layout*, char const*,
   gold::Symbol**, std::string*, char**, unsigned int*) */

undefined4
gold::Library_base::MASKED
          (Symbol_table *param_1,Layout *param_2,char *param_3,Symbol **param_4,string *param_5,
          char **param_6,uint *param_7)

{
  int iVar1;
  Symbol *pSVar2;
  undefined4 uVar3;
  uint uVar4;
  undefined4 uVar5;
  undefined *puVar6;
  char *pcVar7;
  int iVar8;
  uint uVar9;
  undefined1 *local_48 [2];
  undefined1 auStack_40 [16];
  int local_30 [2];
  
  iVar1 = (*(code *)PTR_strchr_004c5cb4)(param_3,0x40);
  if (iVar1 == 0) {
    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,param_3,0);
LAB_0014d598:
    *param_4 = pSVar2;
    if (pSVar2 != (Symbol *)0x0) {
      uVar9 = *(uint *)(pSVar2 + 0x28) & 0xe000;
      pcVar7 = param_3;
      goto LAB_0014d5a8;
    }
  }
  else {
    iVar8 = iVar1 - (int)param_3;
    uVar9 = iVar8 + 1;
    pcVar7 = *param_6;
    if (*param_7 < uVar9) {
      pcVar7 = (char *)(*(code *)PTR_xrealloc_004c33e4)(pcVar7,uVar9);
      *param_6 = pcVar7;
      *param_7 = uVar9;
    }
    (*(code *)PTR_memcpy_004c5ba8)(pcVar7,param_3,iVar8);
    pcVar7[iVar8] = '\0';
    if (*(char *)(iVar1 + 1) != '@') {
      iVar1 = iVar1 + 1;
LAB_0014d584:
      pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1);
      param_3 = pcVar7;
      goto LAB_0014d598;
    }
    pSVar2 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(param_1,pcVar7,iVar1 + 2);
    if (pSVar2 == (Symbol *)0x0) {
LAB_0014d80c:
      iVar1 = 0;
      goto LAB_0014d584;
    }
    uVar4 = *(uint *)(pSVar2 + 0x28);
    uVar9 = uVar4 & 0xe000;
    if (uVar9 == 0) {
      if ((*(int *)(pSVar2 + 0xc) == 0) && ((int)(uVar4 << 0x1d) < 0)) goto LAB_0014d628;
      goto LAB_0014d80c;
    }
    if (uVar9 != 0x8000) goto LAB_0014d80c;
LAB_0014d628:
    if ((uVar4 << 4) >> 0x1c == 2) goto LAB_0014d80c;
    *param_4 = pSVar2;
LAB_0014d5a8:
    if (uVar9 == 0) {
      if (*(int *)(pSVar2 + 0xc) != 0) {
        return 0;
      }
      if (-1 < *(int *)(pSVar2 + 0x28) << 0x1d) {
        return 0;
      }
    }
    else if (uVar9 != 0x8000) {
      return 0;
    }
    iVar1 = (*(code *)PTR_is_pending_assignment_004c33ec)(*(undefined4 *)(param_2 + 4),pcVar7);
    if (iVar1 != 0) {
      return 0;
    }
    param_3 = pcVar7;
    if ((uint)(*(int *)(pSVar2 + 0x28) << 4) >> 0x1c != 2) {
      return 1;
    }
  }
  puVar6 = PTR_parameters_004c19b4;
  iVar1 = *(int *)PTR_parameters_004c19b4;
  if (*(int *)(iVar1 + 8) != 0) {
    if (*(int *)(*(int *)(iVar1 + 8) + 0x42a4) != 0) {
      local_48[0] = auStack_40;
      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);
      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);
      std::
      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>
      ::find((string *)local_30);
      if (local_30[0] != 0) {
        if (local_48[0] != auStack_40) {
          (*(code *)PTR_operator_delete_004c12fc)();
        }
        uVar5 = *(undefined4 *)(param_5 + 4);
        puVar6 = PTR_s__s_004c1a50 + -0x1704;
        uVar3 = 3;
        goto LAB_0014d958;
      }
      if (local_48[0] == auStack_40) {
        iVar1 = *(int *)puVar6;
      }
      else {
        (*(code *)PTR_operator_delete_004c12fc)();
        iVar1 = *(int *)puVar6;
      }
    }
    if (*(int *)(iVar1 + 8) == 0) goto LAB_0014dae0;
    if (*(int *)(*(int *)(iVar1 + 8) + 0x1348) != 0) {
      local_48[0] = auStack_40;
      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);
      std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);
      std::
      _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>
      ::find((string *)local_30);
      if (local_30[0] != 0) {
        if (local_48[0] != auStack_40) {
          (*(code *)PTR_operator_delete_004c12fc)();
        }
        uVar5 = *(undefined4 *)(param_5 + 4);
        puVar6 = PTR_s__s_004c1a50 + -0x1700;
        uVar3 = 0x18;
        goto LAB_0014d958;
      }
      if (local_48[0] != auStack_40) {
        (*(code *)PTR_operator_delete_004c12fc)();
      }
    }
    local_48[0] = auStack_40;
    iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);
    std::string::_M_construct<char_const*>((string *)local_48,param_3,param_3 + iVar1,0);
    std::
    _Hashtable<std::string,std::string,std::allocator<std::string>,std::__detail::_Identity,std::equal_to<std::string>,std::hash<std::string>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>
    ::find((string *)local_30);
    if (local_48[0] != auStack_40) {
      (*(code *)PTR_operator_delete_004c12fc)();
    }
    if (local_30[0] != 0) {
      iVar1 = (*(code *)PTR_strlen_004c5b9c)(param_3);
      uVar3 = (*(code *)PTR_operator_new___004c134c)(iVar1 + 100);
      uVar5 = (*(code *)PTR_gettext_004c5c30)(PTR_s__s_004c1a50 + -0x16e4);
      (*(code *)PTR_snprintf_004c5a94)(uVar3,iVar1 + 100,uVar5,param_3);
      uVar5 = (*(code *)PTR_strlen_004c5b9c)(uVar3);
      (*(code *)PTR__M_replace_004c20a0)(param_5,0,*(undefined4 *)(param_5 + 4),uVar3,uVar5);
      (*(code *)PTR_operator_delete___004c21b8)(uVar3);
      return 1;
    }
    if (*(int *)(*(int *)puVar6 + 8) != 0) {
      if (((*(char *)(*(int *)(*(int *)puVar6 + 8) + 0x3195) != '\0') ||
          (iVar1 = (*(code *)PTR_entry_004c33e8)(), iVar1 == 0)) ||
         (iVar1 = (*(code *)PTR_strcmp_004c5a68)(param_3,iVar1), iVar1 != 0)) {
        return 2;
      }
      uVar5 = *(undefined4 *)(param_5 + 4);
      puVar6 = PTR_s__s_004c1a50 + -0x16bc;
      uVar3 = 0xd;
LAB_0014d958:
      (*(code *)PTR__M_replace_004c20a0)(param_5,0,uVar5,puVar6,uVar3);
      uVar9 = (*(code *)PTR_strlen_004c5b9c)(param_3);
      if (0x7fffffffU - *(int *)(param_5 + 4) < uVar9) {
        uVar3 = (*(code *)PTR___throw_length_error_004c1e74)
                          (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);
        return uVar3;
      }
      (*(code *)PTR__M_append_004c1e68)(param_5,param_3,uVar9);
      return 1;
    }
  }
LAB_0014dae0:
  uVar3 = (*(code *)PTR_do_gold_unreachable_004c1a30)
                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,
                     PTR_s__s_004c1a50 + -0x1514);
  return uVar3;
}

