
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: bool get_file_and_offset(Archive * this, off_t off, Input_file * *
   input_file, off_t * memoff, off_t * memsize, string * member_name) */

bool __thiscall
gold::Archive::get_file_and_offset
          (Archive *this,off_t off,Input_file **input_file,off_t *memoff,off_t *memsize,
          string *member_name)

{
  _Rb_tree_header *p_Var1;
  Saved_views *pSVar2;
  _func_int_varargs *p_Var3;
  General_options *this_00;
  Incremental_disposition IVar4;
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *paVar5;
  undefined2 uVar6;
  undefined3 uVar7;
  bool bVar8;
  char *pcVar9;
  uint uVar10;
  __node_base *p_Var11;
  Position_dependent_options *pPVar12;
  Input_file_argument *pIVar13;
  char *pcVar14;
  size_t sVar15;
  Object_format OVar16;
  Input_file *pIVar17;
  int iVar18;
  Archive *this_01;
  File_read *pFVar19;
  uint uVar20;
  off_t oVar21;
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *paVar22;
  pointer pcVar23;
  char local_50;
  int dummy_1;
  off_t nested_off;
  int dummy;
  uint local_34;
  undefined1 local_30 [16];
  Archive *local_20;
  
  oVar21 = read_header(this,off,false,member_name,&nested_off);
  *memsize = oVar21;
  if (oVar21 == -1) {
    return false;
  }
  *input_file = this->input_file_;
  bVar8 = this->is_thin_archive_;
  *memoff = off + 0x3c;
  if (bVar8 == false) {
    return true;
  }
  pcVar14 = (member_name->_M_dataplus)._M_p;
  if (*pcVar14 != '/') {
    p_Var3 = (this->super_Library_base)._vptr_Library_base[2];
    if (p_Var3 == do_filename) {
      pFVar19 = &this->input_file_->file_;
    }
    else {
      pFVar19 = (File_read *)(*p_Var3)(this);
    }
    pcVar14 = (pFVar19->name_)._M_dataplus._M_p;
    pcVar9 = lbasename(pcVar14);
    if (pcVar14 < pcVar9) {
      p_Var3 = (this->super_Library_base)._vptr_Library_base[2];
      if (p_Var3 == do_filename) {
        pFVar19 = &this->input_file_->file_;
      }
      else {
        pFVar19 = (File_read *)(*p_Var3)(this);
      }
      pcVar23 = (pFVar19->name_)._M_dataplus._M_p;
      uVar10 = (pFVar19->name_)._M_string_length;
      uVar20 = (int)pcVar9 - (int)pcVar14;
      if (uVar10 < (uint)((int)pcVar9 - (int)pcVar14)) {
        uVar20 = uVar10;
      }
      dummy = (int)local_30;
      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
      _M_construct<char_const*>
                ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy,pcVar23
                 ,pcVar23 + uVar20,0);
                    /* try { // try from 00079bec to 00079bf0 has its CatchHandler @ 0007a14d */
      std::string::_M_replace((string *)member_name,0,0,(char *)dummy,local_34);
      if ((undefined1 *)dummy != local_30) {
        operator_delete((void *)dummy);
      }
    }
    pcVar14 = (member_name->_M_dataplus)._M_p;
  }
  if ((int)(uint)((int)nested_off != 0) <= -nested_off._4_4_) {
    pPVar12 = Input_file::options(this->input_file_);
    pIVar13 = (Input_file_argument *)operator_new(0x4c);
    (pIVar13->name_)._M_dataplus._M_p = (pointer)&(pIVar13->name_).field_2;
    pcVar9 = (char *)0xffffffff;
    if (pcVar14 != (char *)0x0) {
      sVar15 = strlen(pcVar14);
      pcVar9 = pcVar14 + sVar15;
    }
                    /* try { // try from 00079ce7 to 00079ceb has its CatchHandler @ 0007a169 */
    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
    _M_construct<char_const*>
              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)pIVar13,pcVar14,
               pcVar9,0);
    pIVar13->type_ = INPUT_FILE_TYPE_FILE;
    (pIVar13->extra_search_path_)._M_dataplus._M_p = (pointer)&(pIVar13->extra_search_path_).field_2
    ;
                    /* try { // try from 00079d0d to 00079d11 has its CatchHandler @ 0007a170 */
    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
    _M_construct<char_const*>(&pIVar13->extra_search_path_,"","",0);
    pIVar13->just_symbols_ = false;
    bVar8 = pPVar12->Bdynamic_;
    uVar6 = *(undefined2 *)&pPVar12->field_0x2;
    (pIVar13->options_).as_needed_ = pPVar12->as_needed_;
    (pIVar13->options_).Bdynamic_ = bVar8;
    *(undefined2 *)&(pIVar13->options_).field_0x2 = uVar6;
    (pIVar13->options_).format_enum_ = pPVar12->format_enum_;
    uVar7 = *(undefined3 *)&pPVar12->field_0x9;
    (pIVar13->options_).whole_archive_ = pPVar12->whole_archive_;
    *(undefined3 *)&(pIVar13->options_).field_0x9 = uVar7;
    IVar4 = pPVar12->incremental_disposition_;
    pIVar13->arg_serial_ = 0;
    (pIVar13->options_).incremental_disposition_ = IVar4;
    pIVar17 = (Input_file *)operator_new(0x94);
    pIVar17->input_argument_ = pIVar13;
    (pIVar17->found_name_)._M_dataplus._M_p = (pointer)&(pIVar17->found_name_).field_2;
    (pIVar17->file_).name_._M_dataplus._M_p = (pointer)&(pIVar17->file_).name_.field_2;
    p_Var1 = &(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header;
    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left =
         &p_Var1->_M_header;
    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_right =
         &p_Var1->_M_header;
    pSVar2 = &(pIVar17->file_).saved_views_;
    (pIVar17->file_).saved_views_.
    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.
    _M_node.super__List_node_base._M_prev = (_List_node_base *)pSVar2;
    (pIVar17->file_).saved_views_.
    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.
    _M_node.super__List_node_base._M_next = (_List_node_base *)pSVar2;
    (pIVar17->found_name_)._M_string_length = 0;
    (pIVar17->found_name_).field_2._M_local_buf[0] = '\0';
    (pIVar17->file_).name_._M_string_length = 0;
    (pIVar17->file_).name_.field_2._M_local_buf[0] = '\0';
    (pIVar17->file_).descriptor_ = -1;
    (pIVar17->file_).is_descriptor_opened_ = false;
    (pIVar17->file_).object_count_ = 0;
    *(undefined4 *)&(pIVar17->file_).size_ = 0;
    *(undefined4 *)((int)&(pIVar17->file_).size_ + 4) = 0;
    (pIVar17->file_).token_.is_blocker_ = false;
    (pIVar17->file_).token_.blockers_ = 0;
    (pIVar17->file_).token_.writer_ = (Task *)0x0;
    (pIVar17->file_).token_.waiting_.head_ = (Task *)0x0;
    (pIVar17->file_).token_.waiting_.tail_ = (Task *)0x0;
    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;
    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0;
    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;
    (pIVar17->file_).saved_views_.
    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.
    _M_node._M_size = 0;
    (pIVar17->file_).mapped_bytes_ = 0;
    (pIVar17->file_).released_ = true;
    (pIVar17->file_).whole_file_view_ = (View *)0x0;
    pIVar17->is_in_sysroot_ = false;
    pIVar17->format_ = FORMAT_NONE;
    *input_file = pIVar17;
    dummy = 0;
    iVar18 = Input_file::open(pIVar17,(char *)this->dirpath_,(int)(this->super_Library_base).task_,
                              &dummy);
    if (SUB41(iVar18,0) == false) {
      return false;
    }
    *(undefined4 *)memoff = 0;
    *(undefined4 *)((int)memoff + 4) = 0;
    oVar21 = ((*input_file)->file_).size_;
    *(undefined4 *)((int)memsize + 4) = *(undefined4 *)((int)&((*input_file)->file_).size_ + 4);
    *(int *)memsize = (int)oVar21;
    return SUB41(iVar18,0);
  }
  uVar10 = std::_Hash_bytes(pcVar14,member_name->_M_string_length,0xc70f6907);
  p_Var11 = std::
            _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_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,_false,_true>_>
            ::_M_find_before_node
                      ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_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,_false,_true>_>
                        *)&this->nested_archives_,
                       uVar10 % (this->nested_archives_)._M_h._M_bucket_count,member_name,uVar10);
  if ((p_Var11 == (__node_base *)0x0) || (p_Var11->_M_nxt == (_Hash_node_base *)0x0)) {
    this_00 = parameters->options_;
    if (this_00 == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
    }
    pcVar23 = (member_name->_M_dataplus)._M_p;
    pIVar13 = (Input_file_argument *)operator_new(0x4c);
    paVar22 = &(pIVar13->name_).field_2;
    (pIVar13->name_)._M_dataplus._M_p = (pointer)paVar22;
    pcVar14 = (char *)0xffffffff;
    if (pcVar23 != (char *)0x0) {
      sVar15 = strlen(pcVar23);
      pcVar14 = pcVar23 + sVar15;
    }
                    /* try { // try from 00079ee0 to 00079ee4 has its CatchHandler @ 0007a154 */
    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
    _M_construct<char_const*>
              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)pIVar13,pcVar23,
               pcVar14,0,paVar22);
    paVar5 = &(pIVar13->extra_search_path_).field_2;
    pIVar13->type_ = INPUT_FILE_TYPE_FILE;
    (pIVar13->extra_search_path_)._M_dataplus._M_p = (pointer)paVar5;
                    /* try { // try from 00079f09 to 00079f0d has its CatchHandler @ 0007a17e */
    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
    _M_construct<char_const*>(&pIVar13->extra_search_path_,"","",0,paVar22,paVar5);
    pIVar13->just_symbols_ = false;
    (pIVar13->options_).as_needed_ = (this_00->as_needed_).value;
    (pIVar13->options_).Bdynamic_ = (this_00->Bdynamic_).value;
                    /* try { // try from 00079f2f to 00079f33 has its CatchHandler @ 0007a177 */
    OVar16 = General_options::format_enum(this_00);
    (pIVar13->options_).format_enum_ = OVar16;
    (pIVar13->options_).whole_archive_ = (this_00->whole_archive_).value;
    IVar4 = this_00->incremental_disposition_;
    pIVar13->arg_serial_ = 0;
    (pIVar13->options_).incremental_disposition_ = IVar4;
    pIVar17 = (Input_file *)operator_new(0x94);
    pIVar17->input_argument_ = pIVar13;
    (pIVar17->found_name_)._M_dataplus._M_p = (pointer)&(pIVar17->found_name_).field_2;
    (pIVar17->file_).name_._M_dataplus._M_p = (pointer)&(pIVar17->file_).name_.field_2;
    p_Var1 = &(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header;
    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left =
         &p_Var1->_M_header;
    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_right =
         &p_Var1->_M_header;
    pSVar2 = &(pIVar17->file_).saved_views_;
    (pIVar17->file_).saved_views_.
    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.
    _M_node.super__List_node_base._M_prev = (_List_node_base *)pSVar2;
    (pIVar17->file_).saved_views_.
    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.
    _M_node.super__List_node_base._M_next = (_List_node_base *)pSVar2;
    (pIVar17->found_name_)._M_string_length = 0;
    (pIVar17->found_name_).field_2._M_local_buf[0] = '\0';
    (pIVar17->file_).name_._M_string_length = 0;
    (pIVar17->file_).name_.field_2._M_local_buf[0] = '\0';
    (pIVar17->file_).descriptor_ = -1;
    (pIVar17->file_).is_descriptor_opened_ = false;
    (pIVar17->file_).object_count_ = 0;
    *(undefined4 *)&(pIVar17->file_).size_ = 0;
    *(undefined4 *)((int)&(pIVar17->file_).size_ + 4) = 0;
    (pIVar17->file_).token_.is_blocker_ = false;
    (pIVar17->file_).token_.blockers_ = 0;
    (pIVar17->file_).token_.writer_ = (Task *)0x0;
    (pIVar17->file_).token_.waiting_.head_ = (Task *)0x0;
    (pIVar17->file_).token_.waiting_.tail_ = (Task *)0x0;
    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;
    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0;
    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;
    (pIVar17->file_).saved_views_.
    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.
    _M_node._M_size = 0;
    (pIVar17->file_).mapped_bytes_ = 0;
    (pIVar17->file_).released_ = true;
    (pIVar17->file_).whole_file_view_ = (View *)0x0;
    pIVar17->is_in_sysroot_ = false;
    pIVar17->format_ = FORMAT_NONE;
    *input_file = pIVar17;
    dummy_1 = 0;
    iVar18 = Input_file::open(pIVar17,(char *)this->dirpath_,(int)(this->super_Library_base).task_,
                              &dummy_1);
    if ((char)iVar18 == '\0') {
      return false;
    }
    this_01 = (Archive *)operator_new(0xd8);
                    /* try { // try from 0007a079 to 0007a07d has its CatchHandler @ 0007a162 */
    Archive(this_01,member_name,*input_file,false,this->dirpath_,(this->super_Library_base).task_);
    setup(this_01);
    pcVar23 = (member_name->_M_dataplus)._M_p;
    dummy = (int)local_30;
    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
    _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy,
                        pcVar23,pcVar23 + member_name->_M_string_length,0);
    local_20 = this_01;
                    /* try { // try from 0007a0ba to 0007a0be has its CatchHandler @ 0007a15b */
    std::
    _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_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,_false,_true>_>
    ::
    _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>
              ((_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>
                *)&stack0xffffffac,&this->nested_archives_,0,
               (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy);
    if ((undefined1 *)dummy != local_30) {
      operator_delete((void *)dummy);
    }
    if (local_50 == '\0') {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/archive.cc",0x288,"get_file_and_offset");
    }
  }
  else {
    this_01 = (Archive *)p_Var11->_M_nxt[7]._M_nxt;
  }
  bVar8 = get_file_and_offset(this_01,CONCAT44(nested_off._4_4_,(int)nested_off),input_file,memoff,
                              memsize,member_name);
  return bVar8;
}



/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

undefined4
FUN_00079ae0(int *param_1,undefined1 *param_2,int param_3,int *param_4,int *param_5,
            longlong *param_6,int *param_7)

{
  undefined **ppuVar1;
  undefined4 *puVar2;
  undefined1 *puVar3;
  int *piVar4;
  uint uVar5;
  undefined4 uVar6;
  char *pcVar7;
  size_t sVar8;
  int iVar9;
  undefined4 extraout_ECX;
  undefined4 extraout_ECX_00;
  undefined4 uVar10;
  undefined1 ***pppuVar11;
  longlong lVar12;
  undefined1 **ppuStack_70;
  int *local_6c;
  int *local_68;
  undefined1 **local_64;
  int local_60;
  undefined **local_5c;
  undefined **local_58;
  undefined1 local_54 [4];
  char local_50;
  undefined1 *local_48;
  int local_44;
  int local_40;
  undefined1 *local_38;
  undefined4 local_34;
  undefined1 local_30 [16];
  undefined4 local_20;
  
  local_58 = &__DT_PLTGOT;
  local_60 = param_3;
  local_64 = (undefined1 **)param_2;
  lVar12 = FUN_000786a0(param_1,param_2,param_3,0,param_7,&local_44);
  *param_6 = lVar12;
  if (lVar12 == -1) {
    return 0;
  }
  *param_4 = param_1[9];
  iVar9 = param_1[0x2b];
  *param_5 = (int)((int)local_64 + 0x3c);
  param_5[1] = local_60 + (uint)((undefined1 *)0xffffffc3 < local_64);
  if ((char)iVar9 == '\0') {
    return 1;
  }
  local_5c = (undefined **)*param_7;
  if (*(char *)local_5c != '/') {
    local_5c = local_58 + -0xb0d4c;
    if (*(undefined ***)(*param_1 + 8) == local_5c) {
      puVar2 = (undefined4 *)(param_1[9] + 0x1c);
    }
    else {
      puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);
    }
    local_64 = (undefined1 **)*puVar2;
    puVar3 = (undefined1 *)FUN_001a99f0(local_64);
    if (local_64 < puVar3) {
      if (*(undefined ***)(*param_1 + 8) == local_5c) {
        piVar4 = (int *)(param_1[9] + 0x1c);
      }
      else {
        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);
      }
      local_38 = local_30;
      ppuStack_70 = (undefined1 **)0x0;
      uVar5 = (int)puVar3 - (int)local_64;
      if ((uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64)) {
        uVar5 = piVar4[1];
      }
      local_64 = (undefined1 **)local_38;
      FUN_00056c80(&local_38,*piVar4,uVar5 + *piVar4);
                    /* try { // try from 00079bec to 00079bf0 has its CatchHandler @ 0007a14d */
      FUN_001b50b0(param_7,0,0,local_38,local_34);
      if ((undefined1 **)local_38 != local_64) {
        FUN_001ac470(local_38);
      }
    }
    local_5c = (undefined **)*param_7;
  }
  ppuVar1 = local_58;
  pppuVar11 = (undefined1 ***)&local_6c;
  if ((int)(uint)(local_44 != 0) <= -local_40) {
    local_64 = (undefined1 **)FUN_00084ae0(param_1[9]);
    local_58 = ppuVar1;
    piVar4 = (int *)FUN_001aa8c0(0x4c);
    local_68 = piVar4 + 2;
    *piVar4 = (int)local_68;
    pcVar7 = (char *)0xffffffff;
    if (local_5c != (undefined **)0x0) {
      sVar8 = strlen((char *)local_5c);
      pcVar7 = (char *)((int)local_5c + sVar8);
    }
    ppuStack_70 = (undefined1 **)0x0;
                    /* try { // try from 00079ce7 to 00079ceb has its CatchHandler @ 0007a169 */
    FUN_00056c80(piVar4,local_5c,pcVar7);
    piVar4[6] = 0;
    piVar4[7] = (int)(piVar4 + 9);
    ppuStack_70 = (undefined1 **)0x0;
                    /* try { // try from 00079d0d to 00079d11 has its CatchHandler @ 0007a170 */
    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);
    *(undefined1 *)(piVar4 + 0xd) = 0;
    piVar4[0xe] = (int)*local_64;
    piVar4[0xf] = (int)local_64[1];
    piVar4[0x10] = (int)local_64[2];
    iVar9 = (int)local_64[3];
    piVar4[0x12] = 0;
    piVar4[0x11] = iVar9;
    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);
    *puVar2 = piVar4;
    puVar2[1] = puVar2 + 3;
    puVar2[7] = puVar2 + 9;
    puVar2[0x1a] = puVar2 + 0x18;
    puVar2[0x1b] = puVar2 + 0x18;
    puVar2[0x1e] = puVar2 + 0x1d;
    puVar2[0x1d] = puVar2 + 0x1d;
    ppuStack_70 = &local_38;
    puVar2[2] = 0;
    *(undefined1 *)(puVar2 + 3) = 0;
    puVar2[8] = 0;
    *(undefined1 *)(puVar2 + 9) = 0;
    puVar2[0xd] = 0xffffffff;
    *(undefined1 *)(puVar2 + 0xe) = 0;
    puVar2[0xf] = 0;
    puVar2[0x10] = 0;
    puVar2[0x11] = 0;
    *(undefined1 *)(puVar2 + 0x12) = 0;
    puVar2[0x13] = 0;
    puVar2[0x14] = 0;
    puVar2[0x15] = 0;
    puVar2[0x16] = 0;
    puVar2[0x18] = 0;
    puVar2[0x19] = 0;
    puVar2[0x1c] = 0;
    puVar2[0x1f] = 0;
    puVar2[0x20] = 0;
    *(undefined1 *)(puVar2 + 0x21) = 1;
    puVar2[0x22] = 0;
    *(undefined1 *)(puVar2 + 0x23) = 0;
    puVar2[0x24] = 0;
    *param_4 = (int)puVar2;
    local_38 = (undefined1 *)0x0;
    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);
    if ((char)uVar6 == '\0') {
      return 0;
    }
    *param_5 = 0;
    param_5[1] = 0;
    uVar10 = *(undefined4 *)(*param_4 + 0x40);
    *(undefined4 *)((int)param_6 + 4) = *(undefined4 *)(*param_4 + 0x44);
    *(undefined4 *)param_6 = uVar10;
    return uVar6;
  }
  pcVar7 = (char *)local_5c;
  local_5c = (undefined **)(param_1 + 0x2c);
  uVar5 = FUN_001aa970(pcVar7,param_7[1],0xc70f6907);
  piVar4 = (int *)FUN_0007d090(param_1 + 0x2c,uVar5 % (uint)param_1[0x2d],param_7,uVar5);
  if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {
    local_64 = *(undefined1 ***)(local_58[0xbc] + 8);
    if (local_64 == (undefined1 **)0x0) {
      ppuStack_70 = local_64;
                    /* WARNING: Subroutine does not return */
      FUN_0008b620((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7);
    }
    local_68 = (int *)*param_7;
    piVar4 = (int *)FUN_001aa8c0(0x4c);
    local_6c = piVar4 + 2;
    *piVar4 = (int)local_6c;
    pcVar7 = (char *)0xffffffff;
    if (local_68 != (int *)0x0) {
      sVar8 = strlen((char *)local_68);
      pcVar7 = (char *)((int)local_68 + sVar8);
    }
    ppuStack_70 = (undefined1 **)0x0;
                    /* try { // try from 00079ee0 to 00079ee4 has its CatchHandler @ 0007a154 */
    FUN_00056c80(piVar4,local_68,pcVar7);
    local_68 = piVar4 + 9;
    piVar4[6] = 0;
    piVar4[7] = (int)local_68;
    ppuStack_70 = (undefined1 **)0x0;
                    /* try { // try from 00079f09 to 00079f0d has its CatchHandler @ 0007a17e */
    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);
    *(undefined1 *)(piVar4 + 0xd) = 0;
    *(undefined1 *)(piVar4 + 0xe) = *(undefined1 *)((int)local_64 + 0x2f5);
    *(undefined1 *)((int)piVar4 + 0x39) = *(undefined1 *)((int)local_64 + 0x549);
                    /* try { // try from 00079f2f to 00079f33 has its CatchHandler @ 0007a177 */
    iVar9 = FUN_000d81b0(local_64);
    piVar4[0xf] = iVar9;
    *(undefined1 *)(piVar4 + 0x10) = *(undefined1 *)((int)local_64 + 0x4a2d);
    puVar3 = local_64[0x1685];
    piVar4[0x12] = 0;
    piVar4[0x11] = (int)puVar3;
    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);
    *puVar2 = piVar4;
    puVar2[1] = puVar2 + 3;
    puVar2[7] = puVar2 + 9;
    puVar2[0x1a] = puVar2 + 0x18;
    puVar2[0x1b] = puVar2 + 0x18;
    puVar2[0x1e] = puVar2 + 0x1d;
    puVar2[0x1d] = puVar2 + 0x1d;
    ppuStack_70 = &local_48;
    puVar2[2] = 0;
    *(undefined1 *)(puVar2 + 3) = 0;
    puVar2[8] = 0;
    *(undefined1 *)(puVar2 + 9) = 0;
    puVar2[0xd] = 0xffffffff;
    *(undefined1 *)(puVar2 + 0xe) = 0;
    puVar2[0xf] = 0;
    puVar2[0x10] = 0;
    puVar2[0x11] = 0;
    *(undefined1 *)(puVar2 + 0x12) = 0;
    puVar2[0x13] = 0;
    puVar2[0x14] = 0;
    puVar2[0x15] = 0;
    puVar2[0x16] = 0;
    puVar2[0x18] = 0;
    puVar2[0x19] = 0;
    puVar2[0x1c] = 0;
    puVar2[0x1f] = 0;
    puVar2[0x20] = 0;
    *(undefined1 *)(puVar2 + 0x21) = 1;
    puVar2[0x22] = 0;
    *(undefined1 *)(puVar2 + 0x23) = 0;
    puVar2[0x24] = 0;
    *param_4 = (int)puVar2;
    local_48 = (undefined1 *)0x0;
    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);
    if ((char)uVar6 == '\0') {
      return uVar6;
    }
    uVar6 = FUN_001aa8c0(0xd8);
                    /* try { // try from 0007a079 to 0007a07d has its CatchHandler @ 0007a162 */
    FUN_00079850(uVar6,param_7,*param_4,0,param_1[0x33],param_1[1]);
    FUN_0007abc0(uVar6);
    local_64 = (undefined1 **)local_30;
    ppuStack_70 = (undefined1 **)0x0;
    local_38 = (undefined1 *)local_64;
    FUN_0007c4c0(&local_38,*param_7,param_7[1] + *param_7);
    ppuStack_70 = &local_38;
    local_20 = uVar6;
                    /* try { // try from 0007a0ba to 0007a0be has its CatchHandler @ 0007a15b */
    FUN_0007d3c0(local_54,local_5c,0);
    uVar10 = extraout_ECX;
    if ((undefined1 **)local_38 != local_64) {
      FUN_001ac470(local_38);
      uVar10 = extraout_ECX_00;
    }
    pppuVar11 = &ppuStack_70;
    if (local_50 == '\0') {
                    /* WARNING: Subroutine does not return */
      FUN_0008b620((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10);
    }
  }
  else {
    uVar6 = *(undefined4 *)(*piVar4 + 0x1c);
  }
  *(int **)((int)pppuVar11 + -8) = param_7;
  *(longlong **)((int)pppuVar11 + -0xc) = param_6;
  *(int **)((int)pppuVar11 + -0x10) = param_5;
  *(int **)((int)pppuVar11 + -0x14) = param_4;
  *(int *)((int)pppuVar11 + -0x18) = local_40;
  *(int *)((int)pppuVar11 + -0x1c) = local_44;
  *(undefined4 *)((int)pppuVar11 + -0x20) = uVar6;
  *(undefined4 *)((int)pppuVar11 + -0x24) = 0x79c7d;
  uVar6 = FUN_00079ae0();
  return uVar6;
}


CALL 0x00058c42
ADD EAX,0x2c551b
PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x64
MOV EDX,dword ptr [EBP + 0x10]
MOV ESI,dword ptr [EBP + 0x8]
MOV dword ptr [EBP + -0x54],EAX
MOV EAX,dword ptr [EBP + 0xc]
MOV dword ptr [EBP + -0x5c],EDX
MOV ECX,EAX
MOV dword ptr [EBP + -0x60],EAX
LEA EAX,[EBP + -0x40]
PUSH EAX
PUSH dword ptr [EBP + 0x20]
PUSH 0x0
PUSH EDX
PUSH ECX
PUSH ESI
CALL 0x000786a0
MOV ECX,dword ptr [EBP + 0x1c]
ADD ESP,0x20
MOV dword ptr [ECX],EAX
AND EAX,EDX
MOV dword ptr [ECX + 0x4],EDX
CMP EAX,-0x1
JZ 0x00079e60
MOV EAX,dword ptr [ESI + 0x24]
MOV EBX,dword ptr [EBP + 0x14]
MOV EDX,dword ptr [EBP + -0x5c]
MOV EDI,dword ptr [EBP + 0x18]
MOV dword ptr [EBX],EAX
MOV EAX,dword ptr [EBP + -0x60]
ADD EAX,0x3c
ADC EDX,0x0
CMP byte ptr [ESI + 0xac],0x0
MOV dword ptr [EDI],EAX
MOV dword ptr [EDI + 0x4],EDX
JZ 0x00079e70
MOV EAX,dword ptr [EBP + 0x20]
MOV EDX,dword ptr [EAX]
CMP byte ptr [EDX],0x2f
JZ 0x00079c0d
MOV EAX,dword ptr [ESI]
MOV ECX,dword ptr [EBP + -0x54]
MOV EAX,dword ptr [EAX + 0x8]
LEA ECX,[ECX + 0xffd3cad0]
MOV dword ptr [EBP + -0x58],ECX
CMP EAX,ECX
JNZ 0x0007a108
MOV EAX,dword ptr [ESI + 0x24]
ADD EAX,0x1c
MOV EDX,dword ptr [EAX]
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x54]
PUSH EDX
MOV dword ptr [EBP + -0x60],EDX
CALL 0x001a99f0
MOV EDX,dword ptr [EBP + -0x60]
ADD ESP,0x10
MOV EDI,EAX
CMP EDX,EAX
JNC 0x00079c08
MOV EAX,dword ptr [ESI]
MOV EAX,dword ptr [EAX + 0x8]
CMP EAX,dword ptr [EBP + -0x58]
JNZ 0x0007a120
MOV EAX,dword ptr [ESI + 0x24]
ADD EAX,0x1c
LEA ECX,[EBP + -0x2c]
SUB EDI,EDX
LEA EBX,[EBP + -0x34]
MOV dword ptr [EBP + -0x34],ECX
MOV dword ptr [EBP + -0x60],ECX
MOV ECX,dword ptr [EAX]
PUSH 0x0
MOV EAX,dword ptr [EAX + 0x4]
CMP EDI,EAX
CMOVA EDI,EAX
ADD EDI,ECX
PUSH EDI
PUSH ECX
PUSH EBX
CALL 0x00056c80
POP EAX
MOV EDI,dword ptr [EBP + -0x54]
PUSH dword ptr [EBP + -0x30]
PUSH dword ptr [EBP + -0x34]
PUSH 0x0
MOV EBX,EDI
PUSH 0x0
PUSH dword ptr [EBP + 0x20]
CALL 0x001b50b0
ADD ESP,0x20
MOV EAX,dword ptr [EBP + -0x34]
CMP EAX,dword ptr [EBP + -0x60]
JZ 0x00079c08
SUB ESP,0xc
PUSH EAX
CALL 0x001ac470
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0x20]
MOV EDX,dword ptr [EAX]
XOR EAX,EAX
CMP EAX,dword ptr [EBP + -0x40]
SBB EAX,dword ptr [EBP + -0x3c]
JGE 0x00079c90
MOV EAX,dword ptr [EBP + 0x20]
SUB ESP,0x4
MOV EBX,dword ptr [EBP + -0x54]
LEA EDI,[ESI + 0xb0]
PUSH 0xc70f6907
PUSH dword ptr [EAX + 0x4]
PUSH EDX
MOV dword ptr [EBP + -0x58],EDI
CALL 0x001aa970
XOR EDX,EDX
PUSH EAX
PUSH dword ptr [EBP + 0x20]
DIV dword ptr [ESI + 0xb4]
PUSH EDX
PUSH EDI
CALL 0x0007d090
ADD ESP,0x20
TEST EAX,EAX
JZ 0x00079e80
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JZ 0x00079e80
MOV EDI,dword ptr [EAX + 0x1c]
SUB ESP,0x4
PUSH dword ptr [EBP + 0x20]
PUSH dword ptr [EBP + 0x1c]
PUSH dword ptr [EBP + 0x18]
PUSH dword ptr [EBP + 0x14]
PUSH dword ptr [EBP + -0x3c]
PUSH dword ptr [EBP + -0x40]
PUSH EDI
CALL 0x00079ae0
ADD ESP,0x20
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0xc
MOV EDI,dword ptr [EBP + -0x54]
PUSH dword ptr [ESI + 0x24]
MOV dword ptr [EBP + -0x58],EDX
MOV EBX,EDI
CALL 0x00084ae0
MOV dword ptr [ESP],0x4c
MOV dword ptr [EBP + -0x54],EDI
MOV dword ptr [EBP + -0x60],EAX
CALL 0x001aa8c0
MOV EDX,dword ptr [EBP + -0x58]
ADD ESP,0x10
MOV EDI,EAX
LEA EAX,[EAX + 0x8]
MOV dword ptr [EBP + -0x64],EAX
MOV dword ptr [EDI],EAX
MOV EAX,0xffffffff
TEST EDX,EDX
JZ 0x00079ce2
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x54]
PUSH EDX
CALL 0x000285f0
MOV EDX,dword ptr [EBP + -0x58]
ADD ESP,0x10
ADD EAX,EDX
PUSH 0x0
PUSH EAX
PUSH EDX
PUSH EDI
CALL 0x00056c80
LEA EAX,[EDI + 0x24]
ADD ESP,0x10
LEA EDX,[EDI + 0x1c]
MOV dword ptr [EDI + 0x18],0x0
MOV dword ptr [EDI + 0x1c],EAX
MOV EAX,dword ptr [EBP + -0x54]
PUSH 0x0
LEA EAX,[EAX + 0xfff27cb6]
PUSH EAX
PUSH EAX
PUSH EDX
CALL 0x00056c80
MOV EBX,dword ptr [EBP + -0x60]
MOV byte ptr [EDI + 0x34],0x0
MOV EAX,dword ptr [EBX]
MOV dword ptr [EDI + 0x38],EAX
MOV EAX,dword ptr [EBX + 0x4]
MOV dword ptr [EDI + 0x3c],EAX
MOV EAX,dword ptr [EBX + 0x8]
MOV dword ptr [EDI + 0x40],EAX
MOV EAX,dword ptr [EBX + 0xc]
MOV dword ptr [EDI + 0x48],0x0
MOV EBX,dword ptr [EBP + -0x54]
MOV dword ptr [EDI + 0x44],EAX
MOV dword ptr [ESP],0x94
CALL 0x001aa8c0
ADD ESP,0x10
LEA EDX,[EAX + 0xc]
MOV dword ptr [EAX],EDI
MOV EDI,dword ptr [EBP + 0x14]
MOV dword ptr [EAX + 0x4],EDX
LEA EDX,[EAX + 0x24]
MOV dword ptr [EAX + 0x1c],EDX
LEA EDX,[EAX + 0x60]
MOV dword ptr [EAX + 0x68],EDX
MOV dword ptr [EAX + 0x6c],EDX
LEA EDX,[EAX + 0x74]
MOV dword ptr [EAX + 0x78],EDX
MOV dword ptr [EAX + 0x74],EDX
LEA EDX,[EBP + -0x34]
MOV dword ptr [EAX + 0x8],0x0
MOV byte ptr [EAX + 0xc],0x0
MOV dword ptr [EAX + 0x20],0x0
MOV byte ptr [EAX + 0x24],0x0
MOV dword ptr [EAX + 0x34],0xffffffff
MOV byte ptr [EAX + 0x38],0x0
MOV dword ptr [EAX + 0x3c],0x0
MOV dword ptr [EAX + 0x40],0x0
MOV dword ptr [EAX + 0x44],0x0
MOV byte ptr [EAX + 0x48],0x0
MOV dword ptr [EAX + 0x4c],0x0
MOV dword ptr [EAX + 0x50],0x0
MOV dword ptr [EAX + 0x54],0x0
MOV dword ptr [EAX + 0x58],0x0
MOV dword ptr [EAX + 0x60],0x0
MOV dword ptr [EAX + 0x64],0x0
MOV dword ptr [EAX + 0x70],0x0
MOV dword ptr [EAX + 0x7c],0x0
MOV dword ptr [EAX + 0x80],0x0
MOV byte ptr [EAX + 0x84],0x1
MOV dword ptr [EAX + 0x88],0x0
MOV byte ptr [EAX + 0x8c],0x0
MOV dword ptr [EAX + 0x90],0x0
MOV dword ptr [EDI],EAX
MOV dword ptr [EBP + -0x34],0x0
MOV EBX,dword ptr [EBP + -0x54]
PUSH EDX
PUSH dword ptr [ESI + 0x4]
PUSH dword ptr [ESI + 0xcc]
PUSH EAX
CALL 0x000867f0
ADD ESP,0x10
TEST AL,AL
JZ 0x00079e60
MOV ESI,dword ptr [EBP + 0x18]
MOV dword ptr [ESI],0x0
MOV dword ptr [ESI + 0x4],0x0
MOV ESI,dword ptr [EBP + 0x14]
MOV EDX,dword ptr [ESI]
MOV ESI,dword ptr [EBP + 0x1c]
MOV EBX,dword ptr [EDX + 0x44]
MOV ECX,dword ptr [EDX + 0x40]
MOV dword ptr [ESI + 0x4],EBX
MOV dword ptr [ESI],ECX
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA ESP,[EBP + -0xc]
XOR EAX,EAX
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA ESP,[EBP + -0xc]
MOV EAX,0x1
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [EBP + -0x54]
LEA EAX,[EAX + 0x2f0]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
MOV dword ptr [EBP + -0x60],EAX
TEST EAX,EAX
JZ 0x0007a134
MOV EAX,dword ptr [EBP + 0x20]
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x54]
MOV EDX,dword ptr [EAX]
PUSH 0x4c
MOV dword ptr [EBP + -0x64],EDX
CALL 0x001aa8c0
MOV EDX,dword ptr [EBP + -0x64]
ADD ESP,0x10
MOV EDI,EAX
LEA EAX,[EAX + 0x8]
MOV dword ptr [EBP + -0x68],EAX
MOV dword ptr [EDI],EAX
MOV EAX,0xffffffff
TEST EDX,EDX
JZ 0x00079edb
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x54]
PUSH EDX
CALL 0x000285f0
MOV EDX,dword ptr [EBP + -0x64]
ADD ESP,0x10
ADD EAX,EDX
PUSH 0x0
PUSH EAX
PUSH EDX
PUSH EDI
CALL 0x00056c80
LEA EAX,[EDI + 0x24]
ADD ESP,0x10
LEA EDX,[EDI + 0x1c]
MOV dword ptr [EDI + 0x18],0x0
MOV dword ptr [EDI + 0x1c],EAX
MOV dword ptr [EBP + -0x64],EAX
MOV EAX,dword ptr [EBP + -0x54]
PUSH 0x0
LEA EAX,[EAX + 0xfff27cb6]
PUSH EAX
PUSH EAX
PUSH EDX
CALL 0x00056c80
MOV EBX,dword ptr [EBP + -0x60]
MOV byte ptr [EDI + 0x34],0x0
MOVZX EAX,byte ptr [EBX + 0x2f5]
MOV byte ptr [EDI + 0x38],AL
MOVZX EAX,byte ptr [EBX + 0x549]
MOV byte ptr [EDI + 0x39],AL
MOV dword ptr [ESP],EBX
MOV EBX,dword ptr [EBP + -0x54]
CALL 0x000d81b0
MOV EBX,dword ptr [EBP + -0x60]
MOV dword ptr [EDI + 0x3c],EAX
MOVZX EAX,byte ptr [EBX + 0x4a2d]
MOV byte ptr [EDI + 0x40],AL
MOV EAX,dword ptr [EBX + 0x5a14]
MOV dword ptr [EDI + 0x48],0x0
MOV EBX,dword ptr [EBP + -0x54]
MOV dword ptr [EDI + 0x44],EAX
MOV dword ptr [ESP],0x94
CALL 0x001aa8c0
ADD ESP,0x10
LEA EDX,[EAX + 0xc]
MOV dword ptr [EAX],EDI
MOV EDI,dword ptr [EBP + 0x14]
MOV dword ptr [EAX + 0x4],EDX
LEA EDX,[EAX + 0x24]
MOV dword ptr [EAX + 0x1c],EDX
LEA EDX,[EAX + 0x60]
MOV dword ptr [EAX + 0x68],EDX
MOV dword ptr [EAX + 0x6c],EDX
LEA EDX,[EAX + 0x74]
MOV dword ptr [EAX + 0x78],EDX
MOV dword ptr [EAX + 0x74],EDX
LEA EDX,[EBP + -0x44]
MOV dword ptr [EAX + 0x8],0x0
MOV byte ptr [EAX + 0xc],0x0
MOV dword ptr [EAX + 0x20],0x0
MOV byte ptr [EAX + 0x24],0x0
MOV dword ptr [EAX + 0x34],0xffffffff
MOV byte ptr [EAX + 0x38],0x0
MOV dword ptr [EAX + 0x3c],0x0
MOV dword ptr [EAX + 0x40],0x0
MOV dword ptr [EAX + 0x44],0x0
MOV byte ptr [EAX + 0x48],0x0
MOV dword ptr [EAX + 0x4c],0x0
MOV dword ptr [EAX + 0x50],0x0
MOV dword ptr [EAX + 0x54],0x0
MOV dword ptr [EAX + 0x58],0x0
MOV dword ptr [EAX + 0x60],0x0
MOV dword ptr [EAX + 0x64],0x0
MOV dword ptr [EAX + 0x70],0x0
MOV dword ptr [EAX + 0x7c],0x0
MOV dword ptr [EAX + 0x80],0x0
MOV byte ptr [EAX + 0x84],0x1
MOV dword ptr [EAX + 0x88],0x0
MOV byte ptr [EAX + 0x8c],0x0
MOV dword ptr [EAX + 0x90],0x0
MOV dword ptr [EDI],EAX
MOV dword ptr [EBP + -0x44],0x0
MOV EBX,dword ptr [EBP + -0x54]
PUSH EDX
PUSH dword ptr [ESI + 0x4]
PUSH dword ptr [ESI + 0xcc]
PUSH EAX
CALL 0x000867f0
ADD ESP,0x10
TEST AL,AL
JZ 0x00079c80
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x54]
PUSH 0xd8
CALL 0x001aa8c0
POP EBX
MOV EDI,EAX
POP EAX
MOV EAX,dword ptr [EBP + 0x14]
PUSH dword ptr [ESI + 0x4]
PUSH dword ptr [ESI + 0xcc]
PUSH 0x0
PUSH dword ptr [EAX]
PUSH dword ptr [EBP + 0x20]
PUSH EDI
CALL 0x00079850
ADD ESP,0x14
LEA EBX,[EBP + -0x34]
PUSH EDI
CALL 0x0007abc0
MOV ESI,dword ptr [EBP + 0x20]
ADD ESP,0x10
LEA EAX,[EBP + -0x2c]
MOV dword ptr [EBP + -0x60],EAX
MOV dword ptr [EBP + -0x34],EAX
MOV EAX,dword ptr [ESI]
PUSH 0x0
MOV EDX,dword ptr [ESI + 0x4]
ADD EDX,EAX
PUSH EDX
PUSH EAX
PUSH EBX
CALL 0x0007c4c0
ADD ESP,0x10
LEA EAX,[EBP + -0x50]
MOV dword ptr [EBP + -0x1c],EDI
PUSH EBX
PUSH 0x0
PUSH dword ptr [EBP + -0x58]
PUSH EAX
CALL 0x0007d3c0
MOV ESI,dword ptr [EBP + -0x4c]
ADD ESP,0xc
MOV EAX,dword ptr [EBP + -0x34]
CMP EAX,dword ptr [EBP + -0x60]
JZ 0x0007a0dc
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x54]
PUSH EAX
CALL 0x001ac470
ADD ESP,0x10
MOV EAX,ESI
TEST AL,AL
JNZ 0x00079c62
MOV EBX,dword ptr [EBP + -0x54]
PUSH ECX
LEA EAX,[EBX + 0xfff13130]
PUSH EAX
LEA EAX,[EBX + 0xfff12dd1]
PUSH 0x288
PUSH EAX
CALL 0x0008b620
SUB ESP,0xc
PUSH ESI
CALL EAX
ADD ESP,0x10
JMP 0x00079b84
SUB ESP,0xc
MOV dword ptr [EBP + -0x60],EDX
PUSH ESI
CALL EAX
MOV EDX,dword ptr [EBP + -0x60]
ADD ESP,0x10
JMP 0x00079bb5
MOV EBX,dword ptr [EBP + -0x54]
PUSH EAX
LEA EAX,[EBX + 0xfff13164]
PUSH EAX
LEA EAX,[EBX + 0xfff0726d]
PUSH 0x5c
PUSH EAX
CALL 0x0008b620
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nundefined4\nFUN_00079ae0(int *param_1,undefined1 *param_2,int param_3,int *param_4,int *param_5,\n            longlong *param_6,int *param_7)\n\n{\n  undefined **ppuVar1;\n  undefined4 *puVar2;\n  undefined1 *puVar3;\n  int *piVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  char *pcVar7;\n  size_t sVar8;\n  int iVar9;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  undefined4 uVar10;\n  undefined1 ***pppuVar11;\n  longlong lVar12;\n  undefined1 **ppuStack_70;\n  int *local_6c;\n  int *local_68;\n  undefined1 **local_64;\n  int local_60;\n  undefined **local_5c;\n  undefined **local_58;\n  undefined1 local_54 [4];\n  char local_50;\n  undefined1 *local_48;\n  int local_44;\n  int local_40;\n  undefined1 *local_38;\n  undefined4 local_34;\n  undefined1 local_30 [16];\n  undefined4 local_20;\n  \n  local_58 = &__DT_PLTGOT;\n  local_60 = param_3;\n  local_64 = (undefined1 **)param_2;\n  lVar12 = FUN_000786a0(param_1,param_2,param_3,0,param_7,&local_44);\n  *param_6 = lVar12;\n  if (lVar12 == -1) {\n    return 0;\n  }\n  *param_4 = param_1[9];\n  iVar9 = param_1[0x2b];\n  *param_5 = (int)((int)local_64 + 0x3c);\n  param_5[1] = local_60 + (uint)((undefined1 *)0xffffffc3 < local_64);\n  if ((char)iVar9 == '\0') {\n    return 1;\n  }\n  local_5c = (undefined **)*param_7;\n  if (*(char *)local_5c != '/') {\n    local_5c = local_58 + -0xb0d4c;\n    if (*(undefined ***)(*param_1 + 8) == local_5c) {\n      puVar2 = (undefined4 *)(param_1[9] + 0x1c);\n    }\n    else {\n      puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n    }\n    local_64 = (undefined1 **)*puVar2;\n    puVar3 = (undefined1 *)FUN_001a99f0(local_64);\n    if (local_64 < puVar3) {\n      if (*(undefined ***)(*param_1 + 8) == local_5c) {\n        piVar4 = (int *)(param_1[9] + 0x1c);\n      }\n      else {\n        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n      }\n      local_38 = local_30;\n      ppuStack_70 = (undefined1 **)0x0;\n      uVar5 = (int)puVar3 - (int)local_64;\n      if ((uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64)) {\n        uVar5 = piVar4[1];\n      }\n      local_64 = (undefined1 **)local_38;\n      FUN_00056c80(&local_38,*piVar4,uVar5 + *piVar4);\n                    /* try { // try from 00079bec to 00079bf0 has its CatchHandler @ 0007a14d */\n      FUN_001b50b0(param_7,0,0,local_38,local_34);\n      if ((undefined1 **)local_38 != local_64) {\n        FUN_001ac470(local_38);\n      }\n    }\n    local_5c = (undefined **)*param_7;\n  }\n  ppuVar1 = local_58;\n  pppuVar11 = (undefined1 ***)&local_6c;\n  if ((int)(uint)(local_44 != 0) <= -local_40) {\n    local_64 = (undefined1 **)FUN_00084ae0(param_1[9]);\n    local_58 = ppuVar1;\n    piVar4 = (int *)FUN_001aa8c0(0x4c);\n    local_68 = piVar4 + 2;\n    *piVar4 = (int)local_68;\n    pcVar7 = (char *)0xffffffff;\n    if (local_5c != (undefined **)0x0) {\n      sVar8 = strlen((char *)local_5c);\n      pcVar7 = (char *)((int)local_5c + sVar8);\n    }\n    ppuStack_70 = (undefined1 **)0x0;\n                    /* try { // try from 00079ce7 to 00079ceb has its CatchHandler @ 0007a169 */\n    FUN_00056c80(piVar4,local_5c,pcVar7);\n    piVar4[6] = 0;\n    piVar4[7] = (int)(piVar4 + 9);\n    ppuStack_70 = (undefined1 **)0x0;\n                    /* try { // try from 00079d0d to 00079d11 has its CatchHandler @ 0007a170 */\n    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);\n    *(undefined1 *)(piVar4 + 0xd) = 0;\n    piVar4[0xe] = (int)*local_64;\n    piVar4[0xf] = (int)local_64[1];\n    piVar4[0x10] = (int)local_64[2];\n    iVar9 = (int)local_64[3];\n    piVar4[0x12] = 0;\n    piVar4[0x11] = iVar9;\n    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);\n    *puVar2 = piVar4;\n    puVar2[1] = puVar2 + 3;\n    puVar2[7] = puVar2 + 9;\n    puVar2[0x1a] = puVar2 + 0x18;\n    puVar2[0x1b] = puVar2 + 0x18;\n    puVar2[0x1e] = puVar2 + 0x1d;\n    puVar2[0x1d] = puVar2 + 0x1d;\n    ppuStack_70 = &local_38;\n    puVar2[2] = 0;\n    *(undefined1 *)(puVar2 + 3) = 0;\n    puVar2[8] = 0;\n    *(undefined1 *)(puVar2 + 9) = 0;\n    puVar2[0xd] = 0xffffffff;\n    *(undefined1 *)(puVar2 + 0xe) = 0;\n    puVar2[0xf] = 0;\n    puVar2[0x10] = 0;\n    puVar2[0x11] = 0;\n    *(undefined1 *)(puVar2 + 0x12) = 0;\n    puVar2[0x13] = 0;\n    puVar2[0x14] = 0;\n    puVar2[0x15] = 0;\n    puVar2[0x16] = 0;\n    puVar2[0x18] = 0;\n    puVar2[0x19] = 0;\n    puVar2[0x1c] = 0;\n    puVar2[0x1f] = 0;\n    puVar2[0x20] = 0;\n    *(undefined1 *)(puVar2 + 0x21) = 1;\n    puVar2[0x22] = 0;\n    *(undefined1 *)(puVar2 + 0x23) = 0;\n    puVar2[0x24] = 0;\n    *param_4 = (int)puVar2;\n    local_38 = (undefined1 *)0x0;\n    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);\n    if ((char)uVar6 == '\0') {\n      return 0;\n    }\n    *param_5 = 0;\n    param_5[1] = 0;\n    uVar10 = *(undefined4 *)(*param_4 + 0x40);\n    *(undefined4 *)((int)param_6 + 4) = *(undefined4 *)(*param_4 + 0x44);\n    *(undefined4 *)param_6 = uVar10;\n    return uVar6;\n  }\n  pcVar7 = (char *)local_5c;\n  local_5c = (undefined **)(param_1 + 0x2c);\n  uVar5 = FUN_001aa970(pcVar7,param_7[1],0xc70f6907);\n  piVar4 = (int *)FUN_0007d090(param_1 + 0x2c,uVar5 % (uint)param_1[0x2d],param_7,uVar5);\n  if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n    local_64 = *(undefined1 ***)(local_58[0xbc] + 8);\n    if (local_64 == (undefined1 **)0x0) {\n      ppuStack_70 = local_64;\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7);\n    }\n    local_68 = (int *)*param_7;\n    piVar4 = (int *)FUN_001aa8c0(0x4c);\n    local_6c = piVar4 + 2;\n    *piVar4 = (int)local_6c;\n    pcVar7 = (char *)0xffffffff;\n    if (local_68 != (int *)0x0) {\n      sVar8 = strlen((char *)local_68);\n      pcVar7 = (char *)((int)local_68 + sVar8);\n    }\n    ppuStack_70 = (undefined1 **)0x0;\n                    /* try { // try from 00079ee0 to 00079ee4 has its CatchHandler @ 0007a154 */\n    FUN_00056c80(piVar4,local_68,pcVar7);\n    local_68 = piVar4 + 9;\n    piVar4[6] = 0;\n    piVar4[7] = (int)local_68;\n    ppuStack_70 = (undefined1 **)0x0;\n                    /* try { // try from 00079f09 to 00079f0d has its CatchHandler @ 0007a17e */\n    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);\n    *(undefined1 *)(piVar4 + 0xd) = 0;\n    *(undefined1 *)(piVar4 + 0xe) = *(undefined1 *)((int)local_64 + 0x2f5);\n    *(undefined1 *)((int)piVar4 + 0x39) = *(undefined1 *)((int)local_64 + 0x549);\n                    /* try { // try from 00079f2f to 00079f33 has its CatchHandler @ 0007a177 */\n    iVar9 = FUN_000d81b0(local_64);\n    piVar4[0xf] = iVar9;\n    *(undefined1 *)(piVar4 + 0x10) = *(undefined1 *)((int)local_64 + 0x4a2d);\n    puVar3 = local_64[0x1685];\n    piVar4[0x12] = 0;\n    piVar4[0x11] = (int)puVar3;\n    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);\n    *puVar2 = piVar4;\n    puVar2[1] = puVar2 + 3;\n    puVar2[7] = puVar2 + 9;\n    puVar2[0x1a] = puVar2 + 0x18;\n    puVar2[0x1b] = puVar2 + 0x18;\n    puVar2[0x1e] = puVar2 + 0x1d;\n    puVar2[0x1d] = puVar2 + 0x1d;\n    ppuStack_70 = &local_48;\n    puVar2[2] = 0;\n    *(undefined1 *)(puVar2 + 3) = 0;\n    puVar2[8] = 0;\n    *(undefined1 *)(puVar2 + 9) = 0;\n    puVar2[0xd] = 0xffffffff;\n    *(undefined1 *)(puVar2 + 0xe) = 0;\n    puVar2[0xf] = 0;\n    puVar2[0x10] = 0;\n    puVar2[0x11] = 0;\n    *(undefined1 *)(puVar2 + 0x12) = 0;\n    puVar2[0x13] = 0;\n    puVar2[0x14] = 0;\n    puVar2[0x15] = 0;\n    puVar2[0x16] = 0;\n    puVar2[0x18] = 0;\n    puVar2[0x19] = 0;\n    puVar2[0x1c] = 0;\n    puVar2[0x1f] = 0;\n    puVar2[0x20] = 0;\n    *(undefined1 *)(puVar2 + 0x21) = 1;\n    puVar2[0x22] = 0;\n    *(undefined1 *)(puVar2 + 0x23) = 0;\n    puVar2[0x24] = 0;\n    *param_4 = (int)puVar2;\n    local_48 = (undefined1 *)0x0;\n    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);\n    if ((char)uVar6 == '\0') {\n      return uVar6;\n    }\n    uVar6 = FUN_001aa8c0(0xd8);\n                    /* try { // try from 0007a079 to 0007a07d has its CatchHandler @ 0007a162 */\n    FUN_00079850(uVar6,param_7,*param_4,0,param_1[0x33],param_1[1]);\n    FUN_0007abc0(uVar6);\n    local_64 = (undefined1 **)local_30;\n    ppuStack_70 = (undefined1 **)0x0;\n    local_38 = (undefined1 *)local_64;\n    FUN_0007c4c0(&local_38,*param_7,param_7[1] + *param_7);\n    ppuStack_70 = &local_38;\n    local_20 = uVar6;\n                    /* try { // try from 0007a0ba to 0007a0be has its CatchHandler @ 0007a15b */\n    FUN_0007d3c0(local_54,local_5c,0);\n    uVar10 = extraout_ECX;\n    if ((undefined1 **)local_38 != local_64) {\n      FUN_001ac470(local_38);\n      uVar10 = extraout_ECX_00;\n    }\n    pppuVar11 = &ppuStack_70;\n    if (local_50 == '\0') {\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10);\n    }\n  }\n  else {\n    uVar6 = *(undefined4 *)(*piVar4 + 0x1c);\n  }\n  *(int **)((int)pppuVar11 + -8) = param_7;\n  *(longlong **)((int)pppuVar11 + -0xc) = param_6;\n  *(int **)((int)pppuVar11 + -0x10) = param_5;\n  *(int **)((int)pppuVar11 + -0x14) = param_4;\n  *(int *)((int)pppuVar11 + -0x18) = local_40;\n  *(int *)((int)pppuVar11 + -0x1c) = local_44;\n  *(undefined4 *)((int)pppuVar11 + -0x20) = uVar6;\n  *(undefined4 *)((int)pppuVar11 + -0x24) = 0x79c7d;\n  uVar6 = FUN_00079ae0();\n  return uVar6;\n}\n\n" comment (function_definition "undefined4\nFUN_00079ae0(int *param_1,undefined1 *param_2,int param_3,int *param_4,int *param_5,\n            longlong *param_6,int *param_7)\n\n{\n  undefined **ppuVar1;\n  undefined4 *puVar2;\n  undefined1 *puVar3;\n  int *piVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  char *pcVar7;\n  size_t sVar8;\n  int iVar9;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  undefined4 uVar10;\n  undefined1 ***pppuVar11;\n  longlong lVar12;\n  undefined1 **ppuStack_70;\n  int *local_6c;\n  int *local_68;\n  undefined1 **local_64;\n  int local_60;\n  undefined **local_5c;\n  undefined **local_58;\n  undefined1 local_54 [4];\n  char local_50;\n  undefined1 *local_48;\n  int local_44;\n  int local_40;\n  undefined1 *local_38;\n  undefined4 local_34;\n  undefined1 local_30 [16];\n  undefined4 local_20;\n  \n  local_58 = &__DT_PLTGOT;\n  local_60 = param_3;\n  local_64 = (undefined1 **)param_2;\n  lVar12 = FUN_000786a0(param_1,param_2,param_3,0,param_7,&local_44);\n  *param_6 = lVar12;\n  if (lVar12 == -1) {\n    return 0;\n  }\n  *param_4 = param_1[9];\n  iVar9 = param_1[0x2b];\n  *param_5 = (int)((int)local_64 + 0x3c);\n  param_5[1] = local_60 + (uint)((undefined1 *)0xffffffc3 < local_64);\n  if ((char)iVar9 == '\0') {\n    return 1;\n  }\n  local_5c = (undefined **)*param_7;\n  if (*(char *)local_5c != '/') {\n    local_5c = local_58 + -0xb0d4c;\n    if (*(undefined ***)(*param_1 + 8) == local_5c) {\n      puVar2 = (undefined4 *)(param_1[9] + 0x1c);\n    }\n    else {\n      puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n    }\n    local_64 = (undefined1 **)*puVar2;\n    puVar3 = (undefined1 *)FUN_001a99f0(local_64);\n    if (local_64 < puVar3) {\n      if (*(undefined ***)(*param_1 + 8) == local_5c) {\n        piVar4 = (int *)(param_1[9] + 0x1c);\n      }\n      else {\n        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n      }\n      local_38 = local_30;\n      ppuStack_70 = (undefined1 **)0x0;\n      uVar5 = (int)puVar3 - (int)local_64;\n      if ((uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64)) {\n        uVar5 = piVar4[1];\n      }\n      local_64 = (undefined1 **)local_38;\n      FUN_00056c80(&local_38,*piVar4,uVar5 + *piVar4);\n                    /* try { // try from 00079bec to 00079bf0 has its CatchHandler @ 0007a14d */\n      FUN_001b50b0(param_7,0,0,local_38,local_34);\n      if ((undefined1 **)local_38 != local_64) {\n        FUN_001ac470(local_38);\n      }\n    }\n    local_5c = (undefined **)*param_7;\n  }\n  ppuVar1 = local_58;\n  pppuVar11 = (undefined1 ***)&local_6c;\n  if ((int)(uint)(local_44 != 0) <= -local_40) {\n    local_64 = (undefined1 **)FUN_00084ae0(param_1[9]);\n    local_58 = ppuVar1;\n    piVar4 = (int *)FUN_001aa8c0(0x4c);\n    local_68 = piVar4 + 2;\n    *piVar4 = (int)local_68;\n    pcVar7 = (char *)0xffffffff;\n    if (local_5c != (undefined **)0x0) {\n      sVar8 = strlen((char *)local_5c);\n      pcVar7 = (char *)((int)local_5c + sVar8);\n    }\n    ppuStack_70 = (undefined1 **)0x0;\n                    /* try { // try from 00079ce7 to 00079ceb has its CatchHandler @ 0007a169 */\n    FUN_00056c80(piVar4,local_5c,pcVar7);\n    piVar4[6] = 0;\n    piVar4[7] = (int)(piVar4 + 9);\n    ppuStack_70 = (undefined1 **)0x0;\n                    /* try { // try from 00079d0d to 00079d11 has its CatchHandler @ 0007a170 */\n    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);\n    *(undefined1 *)(piVar4 + 0xd) = 0;\n    piVar4[0xe] = (int)*local_64;\n    piVar4[0xf] = (int)local_64[1];\n    piVar4[0x10] = (int)local_64[2];\n    iVar9 = (int)local_64[3];\n    piVar4[0x12] = 0;\n    piVar4[0x11] = iVar9;\n    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);\n    *puVar2 = piVar4;\n    puVar2[1] = puVar2 + 3;\n    puVar2[7] = puVar2 + 9;\n    puVar2[0x1a] = puVar2 + 0x18;\n    puVar2[0x1b] = puVar2 + 0x18;\n    puVar2[0x1e] = puVar2 + 0x1d;\n    puVar2[0x1d] = puVar2 + 0x1d;\n    ppuStack_70 = &local_38;\n    puVar2[2] = 0;\n    *(undefined1 *)(puVar2 + 3) = 0;\n    puVar2[8] = 0;\n    *(undefined1 *)(puVar2 + 9) = 0;\n    puVar2[0xd] = 0xffffffff;\n    *(undefined1 *)(puVar2 + 0xe) = 0;\n    puVar2[0xf] = 0;\n    puVar2[0x10] = 0;\n    puVar2[0x11] = 0;\n    *(undefined1 *)(puVar2 + 0x12) = 0;\n    puVar2[0x13] = 0;\n    puVar2[0x14] = 0;\n    puVar2[0x15] = 0;\n    puVar2[0x16] = 0;\n    puVar2[0x18] = 0;\n    puVar2[0x19] = 0;\n    puVar2[0x1c] = 0;\n    puVar2[0x1f] = 0;\n    puVar2[0x20] = 0;\n    *(undefined1 *)(puVar2 + 0x21) = 1;\n    puVar2[0x22] = 0;\n    *(undefined1 *)(puVar2 + 0x23) = 0;\n    puVar2[0x24] = 0;\n    *param_4 = (int)puVar2;\n    local_38 = (undefined1 *)0x0;\n    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);\n    if ((char)uVar6 == '\0') {\n      return 0;\n    }\n    *param_5 = 0;\n    param_5[1] = 0;\n    uVar10 = *(undefined4 *)(*param_4 + 0x40);\n    *(undefined4 *)((int)param_6 + 4) = *(undefined4 *)(*param_4 + 0x44);\n    *(undefined4 *)param_6 = uVar10;\n    return uVar6;\n  }\n  pcVar7 = (char *)local_5c;\n  local_5c = (undefined **)(param_1 + 0x2c);\n  uVar5 = FUN_001aa970(pcVar7,param_7[1],0xc70f6907);\n  piVar4 = (int *)FUN_0007d090(param_1 + 0x2c,uVar5 % (uint)param_1[0x2d],param_7,uVar5);\n  if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n    local_64 = *(undefined1 ***)(local_58[0xbc] + 8);\n    if (local_64 == (undefined1 **)0x0) {\n      ppuStack_70 = local_64;\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7);\n    }\n    local_68 = (int *)*param_7;\n    piVar4 = (int *)FUN_001aa8c0(0x4c);\n    local_6c = piVar4 + 2;\n    *piVar4 = (int)local_6c;\n    pcVar7 = (char *)0xffffffff;\n    if (local_68 != (int *)0x0) {\n      sVar8 = strlen((char *)local_68);\n      pcVar7 = (char *)((int)local_68 + sVar8);\n    }\n    ppuStack_70 = (undefined1 **)0x0;\n                    /* try { // try from 00079ee0 to 00079ee4 has its CatchHandler @ 0007a154 */\n    FUN_00056c80(piVar4,local_68,pcVar7);\n    local_68 = piVar4 + 9;\n    piVar4[6] = 0;\n    piVar4[7] = (int)local_68;\n    ppuStack_70 = (undefined1 **)0x0;\n                    /* try { // try from 00079f09 to 00079f0d has its CatchHandler @ 0007a17e */\n    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);\n    *(undefined1 *)(piVar4 + 0xd) = 0;\n    *(undefined1 *)(piVar4 + 0xe) = *(undefined1 *)((int)local_64 + 0x2f5);\n    *(undefined1 *)((int)piVar4 + 0x39) = *(undefined1 *)((int)local_64 + 0x549);\n                    /* try { // try from 00079f2f to 00079f33 has its CatchHandler @ 0007a177 */\n    iVar9 = FUN_000d81b0(local_64);\n    piVar4[0xf] = iVar9;\n    *(undefined1 *)(piVar4 + 0x10) = *(undefined1 *)((int)local_64 + 0x4a2d);\n    puVar3 = local_64[0x1685];\n    piVar4[0x12] = 0;\n    piVar4[0x11] = (int)puVar3;\n    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);\n    *puVar2 = piVar4;\n    puVar2[1] = puVar2 + 3;\n    puVar2[7] = puVar2 + 9;\n    puVar2[0x1a] = puVar2 + 0x18;\n    puVar2[0x1b] = puVar2 + 0x18;\n    puVar2[0x1e] = puVar2 + 0x1d;\n    puVar2[0x1d] = puVar2 + 0x1d;\n    ppuStack_70 = &local_48;\n    puVar2[2] = 0;\n    *(undefined1 *)(puVar2 + 3) = 0;\n    puVar2[8] = 0;\n    *(undefined1 *)(puVar2 + 9) = 0;\n    puVar2[0xd] = 0xffffffff;\n    *(undefined1 *)(puVar2 + 0xe) = 0;\n    puVar2[0xf] = 0;\n    puVar2[0x10] = 0;\n    puVar2[0x11] = 0;\n    *(undefined1 *)(puVar2 + 0x12) = 0;\n    puVar2[0x13] = 0;\n    puVar2[0x14] = 0;\n    puVar2[0x15] = 0;\n    puVar2[0x16] = 0;\n    puVar2[0x18] = 0;\n    puVar2[0x19] = 0;\n    puVar2[0x1c] = 0;\n    puVar2[0x1f] = 0;\n    puVar2[0x20] = 0;\n    *(undefined1 *)(puVar2 + 0x21) = 1;\n    puVar2[0x22] = 0;\n    *(undefined1 *)(puVar2 + 0x23) = 0;\n    puVar2[0x24] = 0;\n    *param_4 = (int)puVar2;\n    local_48 = (undefined1 *)0x0;\n    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);\n    if ((char)uVar6 == '\0') {\n      return uVar6;\n    }\n    uVar6 = FUN_001aa8c0(0xd8);\n                    /* try { // try from 0007a079 to 0007a07d has its CatchHandler @ 0007a162 */\n    FUN_00079850(uVar6,param_7,*param_4,0,param_1[0x33],param_1[1]);\n    FUN_0007abc0(uVar6);\n    local_64 = (undefined1 **)local_30;\n    ppuStack_70 = (undefined1 **)0x0;\n    local_38 = (undefined1 *)local_64;\n    FUN_0007c4c0(&local_38,*param_7,param_7[1] + *param_7);\n    ppuStack_70 = &local_38;\n    local_20 = uVar6;\n                    /* try { // try from 0007a0ba to 0007a0be has its CatchHandler @ 0007a15b */\n    FUN_0007d3c0(local_54,local_5c,0);\n    uVar10 = extraout_ECX;\n    if ((undefined1 **)local_38 != local_64) {\n      FUN_001ac470(local_38);\n      uVar10 = extraout_ECX_00;\n    }\n    pppuVar11 = &ppuStack_70;\n    if (local_50 == '\0') {\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10);\n    }\n  }\n  else {\n    uVar6 = *(undefined4 *)(*piVar4 + 0x1c);\n  }\n  *(int **)((int)pppuVar11 + -8) = param_7;\n  *(longlong **)((int)pppuVar11 + -0xc) = param_6;\n  *(int **)((int)pppuVar11 + -0x10) = param_5;\n  *(int **)((int)pppuVar11 + -0x14) = param_4;\n  *(int *)((int)pppuVar11 + -0x18) = local_40;\n  *(int *)((int)pppuVar11 + -0x1c) = local_44;\n  *(undefined4 *)((int)pppuVar11 + -0x20) = uVar6;\n  *(undefined4 *)((int)pppuVar11 + -0x24) = 0x79c7d;\n  uVar6 = FUN_00079ae0();\n  return uVar6;\n}" type_identifier (function_declarator "FUN_00079ae0(int *param_1,undefined1 *param_2,int param_3,int *param_4,int *param_5,\n            longlong *param_6,int *param_7)" identifier (parameter_list "(int *param_1,undefined1 *param_2,int param_3,int *param_4,int *param_5,\n            longlong *param_6,int *param_7)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined1 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "int *param_5" primitive_type (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "longlong *param_6" type_identifier (pointer_declarator "*param_6" * identifier)) , (parameter_declaration "int *param_7" primitive_type (pointer_declarator "*param_7" * identifier)) ))) (compound_statement "{\n  undefined **ppuVar1;\n  undefined4 *puVar2;\n  undefined1 *puVar3;\n  int *piVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  char *pcVar7;\n  size_t sVar8;\n  int iVar9;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  undefined4 uVar10;\n  undefined1 ***pppuVar11;\n  longlong lVar12;\n  undefined1 **ppuStack_70;\n  int *local_6c;\n  int *local_68;\n  undefined1 **local_64;\n  int local_60;\n  undefined **local_5c;\n  undefined **local_58;\n  undefined1 local_54 [4];\n  char local_50;\n  undefined1 *local_48;\n  int local_44;\n  int local_40;\n  undefined1 *local_38;\n  undefined4 local_34;\n  undefined1 local_30 [16];\n  undefined4 local_20;\n  \n  local_58 = &__DT_PLTGOT;\n  local_60 = param_3;\n  local_64 = (undefined1 **)param_2;\n  lVar12 = FUN_000786a0(param_1,param_2,param_3,0,param_7,&local_44);\n  *param_6 = lVar12;\n  if (lVar12 == -1) {\n    return 0;\n  }\n  *param_4 = param_1[9];\n  iVar9 = param_1[0x2b];\n  *param_5 = (int)((int)local_64 + 0x3c);\n  param_5[1] = local_60 + (uint)((undefined1 *)0xffffffc3 < local_64);\n  if ((char)iVar9 == '\0') {\n    return 1;\n  }\n  local_5c = (undefined **)*param_7;\n  if (*(char *)local_5c != '/') {\n    local_5c = local_58 + -0xb0d4c;\n    if (*(undefined ***)(*param_1 + 8) == local_5c) {\n      puVar2 = (undefined4 *)(param_1[9] + 0x1c);\n    }\n    else {\n      puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n    }\n    local_64 = (undefined1 **)*puVar2;\n    puVar3 = (undefined1 *)FUN_001a99f0(local_64);\n    if (local_64 < puVar3) {\n      if (*(undefined ***)(*param_1 + 8) == local_5c) {\n        piVar4 = (int *)(param_1[9] + 0x1c);\n      }\n      else {\n        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n      }\n      local_38 = local_30;\n      ppuStack_70 = (undefined1 **)0x0;\n      uVar5 = (int)puVar3 - (int)local_64;\n      if ((uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64)) {\n        uVar5 = piVar4[1];\n      }\n      local_64 = (undefined1 **)local_38;\n      FUN_00056c80(&local_38,*piVar4,uVar5 + *piVar4);\n                    /* try { // try from 00079bec to 00079bf0 has its CatchHandler @ 0007a14d */\n      FUN_001b50b0(param_7,0,0,local_38,local_34);\n      if ((undefined1 **)local_38 != local_64) {\n        FUN_001ac470(local_38);\n      }\n    }\n    local_5c = (undefined **)*param_7;\n  }\n  ppuVar1 = local_58;\n  pppuVar11 = (undefined1 ***)&local_6c;\n  if ((int)(uint)(local_44 != 0) <= -local_40) {\n    local_64 = (undefined1 **)FUN_00084ae0(param_1[9]);\n    local_58 = ppuVar1;\n    piVar4 = (int *)FUN_001aa8c0(0x4c);\n    local_68 = piVar4 + 2;\n    *piVar4 = (int)local_68;\n    pcVar7 = (char *)0xffffffff;\n    if (local_5c != (undefined **)0x0) {\n      sVar8 = strlen((char *)local_5c);\n      pcVar7 = (char *)((int)local_5c + sVar8);\n    }\n    ppuStack_70 = (undefined1 **)0x0;\n                    /* try { // try from 00079ce7 to 00079ceb has its CatchHandler @ 0007a169 */\n    FUN_00056c80(piVar4,local_5c,pcVar7);\n    piVar4[6] = 0;\n    piVar4[7] = (int)(piVar4 + 9);\n    ppuStack_70 = (undefined1 **)0x0;\n                    /* try { // try from 00079d0d to 00079d11 has its CatchHandler @ 0007a170 */\n    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);\n    *(undefined1 *)(piVar4 + 0xd) = 0;\n    piVar4[0xe] = (int)*local_64;\n    piVar4[0xf] = (int)local_64[1];\n    piVar4[0x10] = (int)local_64[2];\n    iVar9 = (int)local_64[3];\n    piVar4[0x12] = 0;\n    piVar4[0x11] = iVar9;\n    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);\n    *puVar2 = piVar4;\n    puVar2[1] = puVar2 + 3;\n    puVar2[7] = puVar2 + 9;\n    puVar2[0x1a] = puVar2 + 0x18;\n    puVar2[0x1b] = puVar2 + 0x18;\n    puVar2[0x1e] = puVar2 + 0x1d;\n    puVar2[0x1d] = puVar2 + 0x1d;\n    ppuStack_70 = &local_38;\n    puVar2[2] = 0;\n    *(undefined1 *)(puVar2 + 3) = 0;\n    puVar2[8] = 0;\n    *(undefined1 *)(puVar2 + 9) = 0;\n    puVar2[0xd] = 0xffffffff;\n    *(undefined1 *)(puVar2 + 0xe) = 0;\n    puVar2[0xf] = 0;\n    puVar2[0x10] = 0;\n    puVar2[0x11] = 0;\n    *(undefined1 *)(puVar2 + 0x12) = 0;\n    puVar2[0x13] = 0;\n    puVar2[0x14] = 0;\n    puVar2[0x15] = 0;\n    puVar2[0x16] = 0;\n    puVar2[0x18] = 0;\n    puVar2[0x19] = 0;\n    puVar2[0x1c] = 0;\n    puVar2[0x1f] = 0;\n    puVar2[0x20] = 0;\n    *(undefined1 *)(puVar2 + 0x21) = 1;\n    puVar2[0x22] = 0;\n    *(undefined1 *)(puVar2 + 0x23) = 0;\n    puVar2[0x24] = 0;\n    *param_4 = (int)puVar2;\n    local_38 = (undefined1 *)0x0;\n    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);\n    if ((char)uVar6 == '\0') {\n      return 0;\n    }\n    *param_5 = 0;\n    param_5[1] = 0;\n    uVar10 = *(undefined4 *)(*param_4 + 0x40);\n    *(undefined4 *)((int)param_6 + 4) = *(undefined4 *)(*param_4 + 0x44);\n    *(undefined4 *)param_6 = uVar10;\n    return uVar6;\n  }\n  pcVar7 = (char *)local_5c;\n  local_5c = (undefined **)(param_1 + 0x2c);\n  uVar5 = FUN_001aa970(pcVar7,param_7[1],0xc70f6907);\n  piVar4 = (int *)FUN_0007d090(param_1 + 0x2c,uVar5 % (uint)param_1[0x2d],param_7,uVar5);\n  if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n    local_64 = *(undefined1 ***)(local_58[0xbc] + 8);\n    if (local_64 == (undefined1 **)0x0) {\n      ppuStack_70 = local_64;\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7);\n    }\n    local_68 = (int *)*param_7;\n    piVar4 = (int *)FUN_001aa8c0(0x4c);\n    local_6c = piVar4 + 2;\n    *piVar4 = (int)local_6c;\n    pcVar7 = (char *)0xffffffff;\n    if (local_68 != (int *)0x0) {\n      sVar8 = strlen((char *)local_68);\n      pcVar7 = (char *)((int)local_68 + sVar8);\n    }\n    ppuStack_70 = (undefined1 **)0x0;\n                    /* try { // try from 00079ee0 to 00079ee4 has its CatchHandler @ 0007a154 */\n    FUN_00056c80(piVar4,local_68,pcVar7);\n    local_68 = piVar4 + 9;\n    piVar4[6] = 0;\n    piVar4[7] = (int)local_68;\n    ppuStack_70 = (undefined1 **)0x0;\n                    /* try { // try from 00079f09 to 00079f0d has its CatchHandler @ 0007a17e */\n    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);\n    *(undefined1 *)(piVar4 + 0xd) = 0;\n    *(undefined1 *)(piVar4 + 0xe) = *(undefined1 *)((int)local_64 + 0x2f5);\n    *(undefined1 *)((int)piVar4 + 0x39) = *(undefined1 *)((int)local_64 + 0x549);\n                    /* try { // try from 00079f2f to 00079f33 has its CatchHandler @ 0007a177 */\n    iVar9 = FUN_000d81b0(local_64);\n    piVar4[0xf] = iVar9;\n    *(undefined1 *)(piVar4 + 0x10) = *(undefined1 *)((int)local_64 + 0x4a2d);\n    puVar3 = local_64[0x1685];\n    piVar4[0x12] = 0;\n    piVar4[0x11] = (int)puVar3;\n    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);\n    *puVar2 = piVar4;\n    puVar2[1] = puVar2 + 3;\n    puVar2[7] = puVar2 + 9;\n    puVar2[0x1a] = puVar2 + 0x18;\n    puVar2[0x1b] = puVar2 + 0x18;\n    puVar2[0x1e] = puVar2 + 0x1d;\n    puVar2[0x1d] = puVar2 + 0x1d;\n    ppuStack_70 = &local_48;\n    puVar2[2] = 0;\n    *(undefined1 *)(puVar2 + 3) = 0;\n    puVar2[8] = 0;\n    *(undefined1 *)(puVar2 + 9) = 0;\n    puVar2[0xd] = 0xffffffff;\n    *(undefined1 *)(puVar2 + 0xe) = 0;\n    puVar2[0xf] = 0;\n    puVar2[0x10] = 0;\n    puVar2[0x11] = 0;\n    *(undefined1 *)(puVar2 + 0x12) = 0;\n    puVar2[0x13] = 0;\n    puVar2[0x14] = 0;\n    puVar2[0x15] = 0;\n    puVar2[0x16] = 0;\n    puVar2[0x18] = 0;\n    puVar2[0x19] = 0;\n    puVar2[0x1c] = 0;\n    puVar2[0x1f] = 0;\n    puVar2[0x20] = 0;\n    *(undefined1 *)(puVar2 + 0x21) = 1;\n    puVar2[0x22] = 0;\n    *(undefined1 *)(puVar2 + 0x23) = 0;\n    puVar2[0x24] = 0;\n    *param_4 = (int)puVar2;\n    local_48 = (undefined1 *)0x0;\n    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);\n    if ((char)uVar6 == '\0') {\n      return uVar6;\n    }\n    uVar6 = FUN_001aa8c0(0xd8);\n                    /* try { // try from 0007a079 to 0007a07d has its CatchHandler @ 0007a162 */\n    FUN_00079850(uVar6,param_7,*param_4,0,param_1[0x33],param_1[1]);\n    FUN_0007abc0(uVar6);\n    local_64 = (undefined1 **)local_30;\n    ppuStack_70 = (undefined1 **)0x0;\n    local_38 = (undefined1 *)local_64;\n    FUN_0007c4c0(&local_38,*param_7,param_7[1] + *param_7);\n    ppuStack_70 = &local_38;\n    local_20 = uVar6;\n                    /* try { // try from 0007a0ba to 0007a0be has its CatchHandler @ 0007a15b */\n    FUN_0007d3c0(local_54,local_5c,0);\n    uVar10 = extraout_ECX;\n    if ((undefined1 **)local_38 != local_64) {\n      FUN_001ac470(local_38);\n      uVar10 = extraout_ECX_00;\n    }\n    pppuVar11 = &ppuStack_70;\n    if (local_50 == '\0') {\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10);\n    }\n  }\n  else {\n    uVar6 = *(undefined4 *)(*piVar4 + 0x1c);\n  }\n  *(int **)((int)pppuVar11 + -8) = param_7;\n  *(longlong **)((int)pppuVar11 + -0xc) = param_6;\n  *(int **)((int)pppuVar11 + -0x10) = param_5;\n  *(int **)((int)pppuVar11 + -0x14) = param_4;\n  *(int *)((int)pppuVar11 + -0x18) = local_40;\n  *(int *)((int)pppuVar11 + -0x1c) = local_44;\n  *(undefined4 *)((int)pppuVar11 + -0x20) = uVar6;\n  *(undefined4 *)((int)pppuVar11 + -0x24) = 0x79c7d;\n  uVar6 = FUN_00079ae0();\n  return uVar6;\n}" { (declaration "undefined **ppuVar1;" type_identifier (pointer_declarator "**ppuVar1" * (pointer_declarator "*ppuVar1" * identifier)) ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined1 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "size_t sVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_00;" type_identifier identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "undefined1 ***pppuVar11;" type_identifier (pointer_declarator "***pppuVar11" * (pointer_declarator "**pppuVar11" * (pointer_declarator "*pppuVar11" * identifier))) ;) (declaration "longlong lVar12;" type_identifier identifier ;) (declaration "undefined1 **ppuStack_70;" type_identifier (pointer_declarator "**ppuStack_70" * (pointer_declarator "*ppuStack_70" * identifier)) ;) (declaration "int *local_6c;" primitive_type (pointer_declarator "*local_6c" * identifier) ;) (declaration "int *local_68;" primitive_type (pointer_declarator "*local_68" * identifier) ;) (declaration "undefined1 **local_64;" type_identifier (pointer_declarator "**local_64" * (pointer_declarator "*local_64" * identifier)) ;) (declaration "int local_60;" primitive_type identifier ;) (declaration "undefined **local_5c;" type_identifier (pointer_declarator "**local_5c" * (pointer_declarator "*local_5c" * identifier)) ;) (declaration "undefined **local_58;" type_identifier (pointer_declarator "**local_58" * (pointer_declarator "*local_58" * identifier)) ;) (declaration "undefined1 local_54 [4];" type_identifier (array_declarator "local_54 [4]" identifier [ number_literal ]) ;) (declaration "char local_50;" primitive_type identifier ;) (declaration "undefined1 *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "undefined1 *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined1 local_30 [16];" type_identifier (array_declarator "local_30 [16]" identifier [ number_literal ]) ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (expression_statement "local_58 = &__DT_PLTGOT;" (assignment_expression "local_58 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "local_60 = param_3;" (assignment_expression "local_60 = param_3" identifier = identifier) ;) (expression_statement "local_64 = (undefined1 **)param_2;" (assignment_expression "local_64 = (undefined1 **)param_2" identifier = (cast_expression "(undefined1 **)param_2" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "lVar12 = FUN_000786a0(param_1,param_2,param_3,0,param_7,&local_44);" (assignment_expression "lVar12 = FUN_000786a0(param_1,param_2,param_3,0,param_7,&local_44)" identifier = (call_expression "FUN_000786a0(param_1,param_2,param_3,0,param_7,&local_44)" identifier (argument_list "(param_1,param_2,param_3,0,param_7,&local_44)" ( identifier , identifier , identifier , number_literal , identifier , (pointer_expression "&local_44" & identifier) )))) ;) (expression_statement "*param_6 = lVar12;" (assignment_expression "*param_6 = lVar12" (pointer_expression "*param_6" * identifier) = identifier) ;) (if_statement "if (lVar12 == -1) {\n    return 0;\n  }" if (parenthesized_expression "(lVar12 == -1)" ( (binary_expression "lVar12 == -1" identifier == number_literal) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "*param_4 = param_1[9];" (assignment_expression "*param_4 = param_1[9]" (pointer_expression "*param_4" * identifier) = (subscript_expression "param_1[9]" identifier [ number_literal ])) ;) (expression_statement "iVar9 = param_1[0x2b];" (assignment_expression "iVar9 = param_1[0x2b]" identifier = (subscript_expression "param_1[0x2b]" identifier [ number_literal ])) ;) (expression_statement "*param_5 = (int)((int)local_64 + 0x3c);" (assignment_expression "*param_5 = (int)((int)local_64 + 0x3c)" (pointer_expression "*param_5" * identifier) = (cast_expression "(int)((int)local_64 + 0x3c)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)local_64 + 0x3c)" ( (binary_expression "(int)local_64 + 0x3c" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "param_5[1] = local_60 + (uint)((undefined1 *)0xffffffc3 < local_64);" (assignment_expression "param_5[1] = local_60 + (uint)((undefined1 *)0xffffffc3 < local_64)" (subscript_expression "param_5[1]" identifier [ number_literal ]) = (binary_expression "local_60 + (uint)((undefined1 *)0xffffffc3 < local_64)" identifier + (call_expression "(uint)((undefined1 *)0xffffffc3 < local_64)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined1 *)0xffffffc3 < local_64)" ( (binary_expression "(undefined1 *)0xffffffc3 < local_64" (cast_expression "(undefined1 *)0xffffffc3" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) ))))) ;) (if_statement "if ((char)iVar9 == '\0') {\n    return 1;\n  }" if (parenthesized_expression "((char)iVar9 == '\0')" ( (binary_expression "(char)iVar9 == '\0'" (cast_expression "(char)iVar9" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return 1;\n  }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "local_5c = (undefined **)*param_7;" (assignment_expression "local_5c = (undefined **)*param_7" identifier = (cast_expression "(undefined **)*param_7" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*param_7" * identifier))) ;) (if_statement "if (*(char *)local_5c != '/') {\n    local_5c = local_58 + -0xb0d4c;\n    if (*(undefined ***)(*param_1 + 8) == local_5c) {\n      puVar2 = (undefined4 *)(param_1[9] + 0x1c);\n    }\n    else {\n      puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n    }\n    local_64 = (undefined1 **)*puVar2;\n    puVar3 = (undefined1 *)FUN_001a99f0(local_64);\n    if (local_64 < puVar3) {\n      if (*(undefined ***)(*param_1 + 8) == local_5c) {\n        piVar4 = (int *)(param_1[9] + 0x1c);\n      }\n      else {\n        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n      }\n      local_38 = local_30;\n      ppuStack_70 = (undefined1 **)0x0;\n      uVar5 = (int)puVar3 - (int)local_64;\n      if ((uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64)) {\n        uVar5 = piVar4[1];\n      }\n      local_64 = (undefined1 **)local_38;\n      FUN_00056c80(&local_38,*piVar4,uVar5 + *piVar4);\n                    /* try { // try from 00079bec to 00079bf0 has its CatchHandler @ 0007a14d */\n      FUN_001b50b0(param_7,0,0,local_38,local_34);\n      if ((undefined1 **)local_38 != local_64) {\n        FUN_001ac470(local_38);\n      }\n    }\n    local_5c = (undefined **)*param_7;\n  }" if (parenthesized_expression "(*(char *)local_5c != '/')" ( (binary_expression "*(char *)local_5c != '/'" (pointer_expression "*(char *)local_5c" * (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != (char_literal "'/'" ' character ')) )) (compound_statement "{\n    local_5c = local_58 + -0xb0d4c;\n    if (*(undefined ***)(*param_1 + 8) == local_5c) {\n      puVar2 = (undefined4 *)(param_1[9] + 0x1c);\n    }\n    else {\n      puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n    }\n    local_64 = (undefined1 **)*puVar2;\n    puVar3 = (undefined1 *)FUN_001a99f0(local_64);\n    if (local_64 < puVar3) {\n      if (*(undefined ***)(*param_1 + 8) == local_5c) {\n        piVar4 = (int *)(param_1[9] + 0x1c);\n      }\n      else {\n        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n      }\n      local_38 = local_30;\n      ppuStack_70 = (undefined1 **)0x0;\n      uVar5 = (int)puVar3 - (int)local_64;\n      if ((uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64)) {\n        uVar5 = piVar4[1];\n      }\n      local_64 = (undefined1 **)local_38;\n      FUN_00056c80(&local_38,*piVar4,uVar5 + *piVar4);\n                    /* try { // try from 00079bec to 00079bf0 has its CatchHandler @ 0007a14d */\n      FUN_001b50b0(param_7,0,0,local_38,local_34);\n      if ((undefined1 **)local_38 != local_64) {\n        FUN_001ac470(local_38);\n      }\n    }\n    local_5c = (undefined **)*param_7;\n  }" { (expression_statement "local_5c = local_58 + -0xb0d4c;" (assignment_expression "local_5c = local_58 + -0xb0d4c" identifier = (binary_expression "local_58 + -0xb0d4c" identifier + number_literal)) ;) (if_statement "if (*(undefined ***)(*param_1 + 8) == local_5c) {\n      puVar2 = (undefined4 *)(param_1[9] + 0x1c);\n    }\n    else {\n      puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n    }" if (parenthesized_expression "(*(undefined ***)(*param_1 + 8) == local_5c)" ( (binary_expression "*(undefined ***)(*param_1 + 8) == local_5c" (pointer_expression "*(undefined ***)(*param_1 + 8)" * (cast_expression "(undefined ***)(*param_1 + 8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n      puVar2 = (undefined4 *)(param_1[9] + 0x1c);\n    }" { (expression_statement "puVar2 = (undefined4 *)(param_1[9] + 0x1c);" (assignment_expression "puVar2 = (undefined4 *)(param_1[9] + 0x1c)" identifier = (cast_expression "(undefined4 *)(param_1[9] + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[9] + 0x1c)" ( (binary_expression "param_1[9] + 0x1c" (subscript_expression "param_1[9]" identifier [ number_literal ]) + number_literal) )))) ;) }) (else_clause "else {\n      puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n    }" else (compound_statement "{\n      puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n    }" { (expression_statement "puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);" (assignment_expression "puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1)" identifier = (cast_expression "(undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)*(undefined ***)(*param_1 + 8))(param_1)" (parenthesized_expression "(*(code *)*(undefined ***)(*param_1 + 8))" ( (pointer_expression "*(code *)*(undefined ***)(*param_1 + 8)" * (cast_expression "(code *)*(undefined ***)(*param_1 + 8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*(undefined ***)(*param_1 + 8)" * (cast_expression "(undefined ***)(*param_1 + 8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) )))))) )) (argument_list "(param_1)" ( identifier ))))) ;) }))) (expression_statement "local_64 = (undefined1 **)*puVar2;" (assignment_expression "local_64 = (undefined1 **)*puVar2" identifier = (cast_expression "(undefined1 **)*puVar2" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*puVar2" * identifier))) ;) (expression_statement "puVar3 = (undefined1 *)FUN_001a99f0(local_64);" (assignment_expression "puVar3 = (undefined1 *)FUN_001a99f0(local_64)" identifier = (cast_expression "(undefined1 *)FUN_001a99f0(local_64)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001a99f0(local_64)" identifier (argument_list "(local_64)" ( identifier ))))) ;) (if_statement "if (local_64 < puVar3) {\n      if (*(undefined ***)(*param_1 + 8) == local_5c) {\n        piVar4 = (int *)(param_1[9] + 0x1c);\n      }\n      else {\n        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n      }\n      local_38 = local_30;\n      ppuStack_70 = (undefined1 **)0x0;\n      uVar5 = (int)puVar3 - (int)local_64;\n      if ((uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64)) {\n        uVar5 = piVar4[1];\n      }\n      local_64 = (undefined1 **)local_38;\n      FUN_00056c80(&local_38,*piVar4,uVar5 + *piVar4);\n                    /* try { // try from 00079bec to 00079bf0 has its CatchHandler @ 0007a14d */\n      FUN_001b50b0(param_7,0,0,local_38,local_34);\n      if ((undefined1 **)local_38 != local_64) {\n        FUN_001ac470(local_38);\n      }\n    }" if (parenthesized_expression "(local_64 < puVar3)" ( (binary_expression "local_64 < puVar3" identifier < identifier) )) (compound_statement "{\n      if (*(undefined ***)(*param_1 + 8) == local_5c) {\n        piVar4 = (int *)(param_1[9] + 0x1c);\n      }\n      else {\n        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n      }\n      local_38 = local_30;\n      ppuStack_70 = (undefined1 **)0x0;\n      uVar5 = (int)puVar3 - (int)local_64;\n      if ((uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64)) {\n        uVar5 = piVar4[1];\n      }\n      local_64 = (undefined1 **)local_38;\n      FUN_00056c80(&local_38,*piVar4,uVar5 + *piVar4);\n                    /* try { // try from 00079bec to 00079bf0 has its CatchHandler @ 0007a14d */\n      FUN_001b50b0(param_7,0,0,local_38,local_34);\n      if ((undefined1 **)local_38 != local_64) {\n        FUN_001ac470(local_38);\n      }\n    }" { (if_statement "if (*(undefined ***)(*param_1 + 8) == local_5c) {\n        piVar4 = (int *)(param_1[9] + 0x1c);\n      }\n      else {\n        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n      }" if (parenthesized_expression "(*(undefined ***)(*param_1 + 8) == local_5c)" ( (binary_expression "*(undefined ***)(*param_1 + 8) == local_5c" (pointer_expression "*(undefined ***)(*param_1 + 8)" * (cast_expression "(undefined ***)(*param_1 + 8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n        piVar4 = (int *)(param_1[9] + 0x1c);\n      }" { (expression_statement "piVar4 = (int *)(param_1[9] + 0x1c);" (assignment_expression "piVar4 = (int *)(param_1[9] + 0x1c)" identifier = (cast_expression "(int *)(param_1[9] + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[9] + 0x1c)" ( (binary_expression "param_1[9] + 0x1c" (subscript_expression "param_1[9]" identifier [ number_literal ]) + number_literal) )))) ;) }) (else_clause "else {\n        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n      }" else (compound_statement "{\n        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n      }" { (expression_statement "piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);" (assignment_expression "piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1)" identifier = (cast_expression "(int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)*(undefined ***)(*param_1 + 8))(param_1)" (parenthesized_expression "(*(code *)*(undefined ***)(*param_1 + 8))" ( (pointer_expression "*(code *)*(undefined ***)(*param_1 + 8)" * (cast_expression "(code *)*(undefined ***)(*param_1 + 8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*(undefined ***)(*param_1 + 8)" * (cast_expression "(undefined ***)(*param_1 + 8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) )))))) )) (argument_list "(param_1)" ( identifier ))))) ;) }))) (expression_statement "local_38 = local_30;" (assignment_expression "local_38 = local_30" identifier = identifier) ;) (expression_statement "ppuStack_70 = (undefined1 **)0x0;" (assignment_expression "ppuStack_70 = (undefined1 **)0x0" identifier = (cast_expression "(undefined1 **)0x0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "uVar5 = (int)puVar3 - (int)local_64;" (assignment_expression "uVar5 = (int)puVar3 - (int)local_64" identifier = (binary_expression "(int)puVar3 - (int)local_64" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64)) {\n        uVar5 = piVar4[1];\n      }" if (parenthesized_expression "((uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64))" ( (binary_expression "(uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64)" (cast_expression "(uint)piVar4[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar4[1]" identifier [ number_literal ])) < (call_expression "(uint)((int)puVar3 - (int)local_64)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)puVar3 - (int)local_64)" ( (binary_expression "(int)puVar3 - (int)local_64" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) (compound_statement "{\n        uVar5 = piVar4[1];\n      }" { (expression_statement "uVar5 = piVar4[1];" (assignment_expression "uVar5 = piVar4[1]" identifier = (subscript_expression "piVar4[1]" identifier [ number_literal ])) ;) })) (expression_statement "local_64 = (undefined1 **)local_38;" (assignment_expression "local_64 = (undefined1 **)local_38" identifier = (cast_expression "(undefined1 **)local_38" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "FUN_00056c80(&local_38,*piVar4,uVar5 + *piVar4);" (call_expression "FUN_00056c80(&local_38,*piVar4,uVar5 + *piVar4)" identifier (argument_list "(&local_38,*piVar4,uVar5 + *piVar4)" ( (pointer_expression "&local_38" & identifier) , (pointer_expression "*piVar4" * identifier) , (binary_expression "uVar5 + *piVar4" identifier + (pointer_expression "*piVar4" * identifier)) ))) ;) comment (expression_statement "FUN_001b50b0(param_7,0,0,local_38,local_34);" (call_expression "FUN_001b50b0(param_7,0,0,local_38,local_34)" identifier (argument_list "(param_7,0,0,local_38,local_34)" ( identifier , number_literal , number_literal , identifier , identifier ))) ;) (if_statement "if ((undefined1 **)local_38 != local_64) {\n        FUN_001ac470(local_38);\n      }" if (parenthesized_expression "((undefined1 **)local_38 != local_64)" ( (binary_expression "(undefined1 **)local_38 != local_64" (cast_expression "(undefined1 **)local_38" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) != identifier) )) (compound_statement "{\n        FUN_001ac470(local_38);\n      }" { (expression_statement "FUN_001ac470(local_38);" (call_expression "FUN_001ac470(local_38)" identifier (argument_list "(local_38)" ( identifier ))) ;) })) })) (expression_statement "local_5c = (undefined **)*param_7;" (assignment_expression "local_5c = (undefined **)*param_7" identifier = (cast_expression "(undefined **)*param_7" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*param_7" * identifier))) ;) })) (expression_statement "ppuVar1 = local_58;" (assignment_expression "ppuVar1 = local_58" identifier = identifier) ;) (expression_statement "pppuVar11 = (undefined1 ***)&local_6c;" (assignment_expression "pppuVar11 = (undefined1 ***)&local_6c" identifier = (cast_expression "(undefined1 ***)&local_6c" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&local_6c" & identifier))) ;) (if_statement "if ((int)(uint)(local_44 != 0) <= -local_40) {\n    local_64 = (undefined1 **)FUN_00084ae0(param_1[9]);\n    local_58 = ppuVar1;\n    piVar4 = (int *)FUN_001aa8c0(0x4c);\n    local_68 = piVar4 + 2;\n    *piVar4 = (int)local_68;\n    pcVar7 = (char *)0xffffffff;\n    if (local_5c != (undefined **)0x0) {\n      sVar8 = strlen((char *)local_5c);\n      pcVar7 = (char *)((int)local_5c + sVar8);\n    }\n    ppuStack_70 = (undefined1 **)0x0;\n                    /* try { // try from 00079ce7 to 00079ceb has its CatchHandler @ 0007a169 */\n    FUN_00056c80(piVar4,local_5c,pcVar7);\n    piVar4[6] = 0;\n    piVar4[7] = (int)(piVar4 + 9);\n    ppuStack_70 = (undefined1 **)0x0;\n                    /* try { // try from 00079d0d to 00079d11 has its CatchHandler @ 0007a170 */\n    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);\n    *(undefined1 *)(piVar4 + 0xd) = 0;\n    piVar4[0xe] = (int)*local_64;\n    piVar4[0xf] = (int)local_64[1];\n    piVar4[0x10] = (int)local_64[2];\n    iVar9 = (int)local_64[3];\n    piVar4[0x12] = 0;\n    piVar4[0x11] = iVar9;\n    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);\n    *puVar2 = piVar4;\n    puVar2[1] = puVar2 + 3;\n    puVar2[7] = puVar2 + 9;\n    puVar2[0x1a] = puVar2 + 0x18;\n    puVar2[0x1b] = puVar2 + 0x18;\n    puVar2[0x1e] = puVar2 + 0x1d;\n    puVar2[0x1d] = puVar2 + 0x1d;\n    ppuStack_70 = &local_38;\n    puVar2[2] = 0;\n    *(undefined1 *)(puVar2 + 3) = 0;\n    puVar2[8] = 0;\n    *(undefined1 *)(puVar2 + 9) = 0;\n    puVar2[0xd] = 0xffffffff;\n    *(undefined1 *)(puVar2 + 0xe) = 0;\n    puVar2[0xf] = 0;\n    puVar2[0x10] = 0;\n    puVar2[0x11] = 0;\n    *(undefined1 *)(puVar2 + 0x12) = 0;\n    puVar2[0x13] = 0;\n    puVar2[0x14] = 0;\n    puVar2[0x15] = 0;\n    puVar2[0x16] = 0;\n    puVar2[0x18] = 0;\n    puVar2[0x19] = 0;\n    puVar2[0x1c] = 0;\n    puVar2[0x1f] = 0;\n    puVar2[0x20] = 0;\n    *(undefined1 *)(puVar2 + 0x21) = 1;\n    puVar2[0x22] = 0;\n    *(undefined1 *)(puVar2 + 0x23) = 0;\n    puVar2[0x24] = 0;\n    *param_4 = (int)puVar2;\n    local_38 = (undefined1 *)0x0;\n    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);\n    if ((char)uVar6 == '\0') {\n      return 0;\n    }\n    *param_5 = 0;\n    param_5[1] = 0;\n    uVar10 = *(undefined4 *)(*param_4 + 0x40);\n    *(undefined4 *)((int)param_6 + 4) = *(undefined4 *)(*param_4 + 0x44);\n    *(undefined4 *)param_6 = uVar10;\n    return uVar6;\n  }" if (parenthesized_expression "((int)(uint)(local_44 != 0) <= -local_40)" ( (binary_expression "(int)(uint)(local_44 != 0) <= -local_40" (cast_expression "(int)(uint)(local_44 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(local_44 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_44 != 0)" ( (binary_expression "local_44 != 0" identifier != number_literal) )))) <= (unary_expression "-local_40" - identifier)) )) (compound_statement "{\n    local_64 = (undefined1 **)FUN_00084ae0(param_1[9]);\n    local_58 = ppuVar1;\n    piVar4 = (int *)FUN_001aa8c0(0x4c);\n    local_68 = piVar4 + 2;\n    *piVar4 = (int)local_68;\n    pcVar7 = (char *)0xffffffff;\n    if (local_5c != (undefined **)0x0) {\n      sVar8 = strlen((char *)local_5c);\n      pcVar7 = (char *)((int)local_5c + sVar8);\n    }\n    ppuStack_70 = (undefined1 **)0x0;\n                    /* try { // try from 00079ce7 to 00079ceb has its CatchHandler @ 0007a169 */\n    FUN_00056c80(piVar4,local_5c,pcVar7);\n    piVar4[6] = 0;\n    piVar4[7] = (int)(piVar4 + 9);\n    ppuStack_70 = (undefined1 **)0x0;\n                    /* try { // try from 00079d0d to 00079d11 has its CatchHandler @ 0007a170 */\n    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);\n    *(undefined1 *)(piVar4 + 0xd) = 0;\n    piVar4[0xe] = (int)*local_64;\n    piVar4[0xf] = (int)local_64[1];\n    piVar4[0x10] = (int)local_64[2];\n    iVar9 = (int)local_64[3];\n    piVar4[0x12] = 0;\n    piVar4[0x11] = iVar9;\n    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);\n    *puVar2 = piVar4;\n    puVar2[1] = puVar2 + 3;\n    puVar2[7] = puVar2 + 9;\n    puVar2[0x1a] = puVar2 + 0x18;\n    puVar2[0x1b] = puVar2 + 0x18;\n    puVar2[0x1e] = puVar2 + 0x1d;\n    puVar2[0x1d] = puVar2 + 0x1d;\n    ppuStack_70 = &local_38;\n    puVar2[2] = 0;\n    *(undefined1 *)(puVar2 + 3) = 0;\n    puVar2[8] = 0;\n    *(undefined1 *)(puVar2 + 9) = 0;\n    puVar2[0xd] = 0xffffffff;\n    *(undefined1 *)(puVar2 + 0xe) = 0;\n    puVar2[0xf] = 0;\n    puVar2[0x10] = 0;\n    puVar2[0x11] = 0;\n    *(undefined1 *)(puVar2 + 0x12) = 0;\n    puVar2[0x13] = 0;\n    puVar2[0x14] = 0;\n    puVar2[0x15] = 0;\n    puVar2[0x16] = 0;\n    puVar2[0x18] = 0;\n    puVar2[0x19] = 0;\n    puVar2[0x1c] = 0;\n    puVar2[0x1f] = 0;\n    puVar2[0x20] = 0;\n    *(undefined1 *)(puVar2 + 0x21) = 1;\n    puVar2[0x22] = 0;\n    *(undefined1 *)(puVar2 + 0x23) = 0;\n    puVar2[0x24] = 0;\n    *param_4 = (int)puVar2;\n    local_38 = (undefined1 *)0x0;\n    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);\n    if ((char)uVar6 == '\0') {\n      return 0;\n    }\n    *param_5 = 0;\n    param_5[1] = 0;\n    uVar10 = *(undefined4 *)(*param_4 + 0x40);\n    *(undefined4 *)((int)param_6 + 4) = *(undefined4 *)(*param_4 + 0x44);\n    *(undefined4 *)param_6 = uVar10;\n    return uVar6;\n  }" { (expression_statement "local_64 = (undefined1 **)FUN_00084ae0(param_1[9]);" (assignment_expression "local_64 = (undefined1 **)FUN_00084ae0(param_1[9])" identifier = (cast_expression "(undefined1 **)FUN_00084ae0(param_1[9])" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "FUN_00084ae0(param_1[9])" identifier (argument_list "(param_1[9])" ( (subscript_expression "param_1[9]" identifier [ number_literal ]) ))))) ;) (expression_statement "local_58 = ppuVar1;" (assignment_expression "local_58 = ppuVar1" identifier = identifier) ;) (expression_statement "piVar4 = (int *)FUN_001aa8c0(0x4c);" (assignment_expression "piVar4 = (int *)FUN_001aa8c0(0x4c)" identifier = (cast_expression "(int *)FUN_001aa8c0(0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001aa8c0(0x4c)" identifier (argument_list "(0x4c)" ( number_literal ))))) ;) (expression_statement "local_68 = piVar4 + 2;" (assignment_expression "local_68 = piVar4 + 2" identifier = (binary_expression "piVar4 + 2" identifier + number_literal)) ;) (expression_statement "*piVar4 = (int)local_68;" (assignment_expression "*piVar4 = (int)local_68" (pointer_expression "*piVar4" * identifier) = (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pcVar7 = (char *)0xffffffff;" (assignment_expression "pcVar7 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_5c != (undefined **)0x0) {\n      sVar8 = strlen((char *)local_5c);\n      pcVar7 = (char *)((int)local_5c + sVar8);\n    }" if (parenthesized_expression "(local_5c != (undefined **)0x0)" ( (binary_expression "local_5c != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n      sVar8 = strlen((char *)local_5c);\n      pcVar7 = (char *)((int)local_5c + sVar8);\n    }" { (expression_statement "sVar8 = strlen((char *)local_5c);" (assignment_expression "sVar8 = strlen((char *)local_5c)" identifier = (call_expression "strlen((char *)local_5c)" identifier (argument_list "((char *)local_5c)" ( (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "pcVar7 = (char *)((int)local_5c + sVar8);" (assignment_expression "pcVar7 = (char *)((int)local_5c + sVar8)" identifier = (cast_expression "(char *)((int)local_5c + sVar8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_5c + sVar8)" ( (binary_expression "(int)local_5c + sVar8" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) })) (expression_statement "ppuStack_70 = (undefined1 **)0x0;" (assignment_expression "ppuStack_70 = (undefined1 **)0x0" identifier = (cast_expression "(undefined1 **)0x0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) comment (expression_statement "FUN_00056c80(piVar4,local_5c,pcVar7);" (call_expression "FUN_00056c80(piVar4,local_5c,pcVar7)" identifier (argument_list "(piVar4,local_5c,pcVar7)" ( identifier , identifier , identifier ))) ;) (expression_statement "piVar4[6] = 0;" (assignment_expression "piVar4[6] = 0" (subscript_expression "piVar4[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[7] = (int)(piVar4 + 9);" (assignment_expression "piVar4[7] = (int)(piVar4 + 9)" (subscript_expression "piVar4[7]" identifier [ number_literal ]) = (cast_expression "(int)(piVar4 + 9)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar4 + 9)" ( (binary_expression "piVar4 + 9" identifier + number_literal) )))) ;) (expression_statement "ppuStack_70 = (undefined1 **)0x0;" (assignment_expression "ppuStack_70 = (undefined1 **)0x0" identifier = (cast_expression "(undefined1 **)0x0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) comment (expression_statement "FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);" (call_expression "FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a)" identifier (argument_list "(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a)" ( (binary_expression "piVar4 + 7" identifier + number_literal) , (binary_expression "(int)local_58 + -0xd834a" (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , (binary_expression "(int)local_58 + -0xd834a" (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ;) (expression_statement "*(undefined1 *)(piVar4 + 0xd) = 0;" (assignment_expression "*(undefined1 *)(piVar4 + 0xd) = 0" (pointer_expression "*(undefined1 *)(piVar4 + 0xd)" * (cast_expression "(undefined1 *)(piVar4 + 0xd)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 0xd)" ( (binary_expression "piVar4 + 0xd" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar4[0xe] = (int)*local_64;" (assignment_expression "piVar4[0xe] = (int)*local_64" (subscript_expression "piVar4[0xe]" identifier [ number_literal ]) = (cast_expression "(int)*local_64" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*local_64" * identifier))) ;) (expression_statement "piVar4[0xf] = (int)local_64[1];" (assignment_expression "piVar4[0xf] = (int)local_64[1]" (subscript_expression "piVar4[0xf]" identifier [ number_literal ]) = (cast_expression "(int)local_64[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_64[1]" identifier [ number_literal ]))) ;) (expression_statement "piVar4[0x10] = (int)local_64[2];" (assignment_expression "piVar4[0x10] = (int)local_64[2]" (subscript_expression "piVar4[0x10]" identifier [ number_literal ]) = (cast_expression "(int)local_64[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_64[2]" identifier [ number_literal ]))) ;) (expression_statement "iVar9 = (int)local_64[3];" (assignment_expression "iVar9 = (int)local_64[3]" identifier = (cast_expression "(int)local_64[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_64[3]" identifier [ number_literal ]))) ;) (expression_statement "piVar4[0x12] = 0;" (assignment_expression "piVar4[0x12] = 0" (subscript_expression "piVar4[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x11] = iVar9;" (assignment_expression "piVar4[0x11] = iVar9" (subscript_expression "piVar4[0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2 = (undefined4 *)FUN_001aa8c0(0x94);" (assignment_expression "puVar2 = (undefined4 *)FUN_001aa8c0(0x94)" identifier = (cast_expression "(undefined4 *)FUN_001aa8c0(0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001aa8c0(0x94)" identifier (argument_list "(0x94)" ( number_literal ))))) ;) (expression_statement "*puVar2 = piVar4;" (assignment_expression "*puVar2 = piVar4" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "puVar2[1] = puVar2 + 3;" (assignment_expression "puVar2[1] = puVar2 + 3" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = (binary_expression "puVar2 + 3" identifier + number_literal)) ;) (expression_statement "puVar2[7] = puVar2 + 9;" (assignment_expression "puVar2[7] = puVar2 + 9" (subscript_expression "puVar2[7]" identifier [ number_literal ]) = (binary_expression "puVar2 + 9" identifier + number_literal)) ;) (expression_statement "puVar2[0x1a] = puVar2 + 0x18;" (assignment_expression "puVar2[0x1a] = puVar2 + 0x18" (subscript_expression "puVar2[0x1a]" identifier [ number_literal ]) = (binary_expression "puVar2 + 0x18" identifier + number_literal)) ;) (expression_statement "puVar2[0x1b] = puVar2 + 0x18;" (assignment_expression "puVar2[0x1b] = puVar2 + 0x18" (subscript_expression "puVar2[0x1b]" identifier [ number_literal ]) = (binary_expression "puVar2 + 0x18" identifier + number_literal)) ;) (expression_statement "puVar2[0x1e] = puVar2 + 0x1d;" (assignment_expression "puVar2[0x1e] = puVar2 + 0x1d" (subscript_expression "puVar2[0x1e]" identifier [ number_literal ]) = (binary_expression "puVar2 + 0x1d" identifier + number_literal)) ;) (expression_statement "puVar2[0x1d] = puVar2 + 0x1d;" (assignment_expression "puVar2[0x1d] = puVar2 + 0x1d" (subscript_expression "puVar2[0x1d]" identifier [ number_literal ]) = (binary_expression "puVar2 + 0x1d" identifier + number_literal)) ;) (expression_statement "ppuStack_70 = &local_38;" (assignment_expression "ppuStack_70 = &local_38" identifier = (pointer_expression "&local_38" & identifier)) ;) (expression_statement "puVar2[2] = 0;" (assignment_expression "puVar2[2] = 0" (subscript_expression "puVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar2 + 3) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 3) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 3)" * (cast_expression "(undefined1 *)(puVar2 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 3)" ( (binary_expression "puVar2 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2[8] = 0;" (assignment_expression "puVar2[8] = 0" (subscript_expression "puVar2[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar2 + 9) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 9) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 9)" * (cast_expression "(undefined1 *)(puVar2 + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 9)" ( (binary_expression "puVar2 + 9" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2[0xd] = 0xffffffff;" (assignment_expression "puVar2[0xd] = 0xffffffff" (subscript_expression "puVar2[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar2 + 0xe) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 0xe) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 0xe)" * (cast_expression "(undefined1 *)(puVar2 + 0xe)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0xe)" ( (binary_expression "puVar2 + 0xe" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2[0xf] = 0;" (assignment_expression "puVar2[0xf] = 0" (subscript_expression "puVar2[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x10] = 0;" (assignment_expression "puVar2[0x10] = 0" (subscript_expression "puVar2[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x11] = 0;" (assignment_expression "puVar2[0x11] = 0" (subscript_expression "puVar2[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar2 + 0x12) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 0x12) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 0x12)" * (cast_expression "(undefined1 *)(puVar2 + 0x12)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x12)" ( (binary_expression "puVar2 + 0x12" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2[0x13] = 0;" (assignment_expression "puVar2[0x13] = 0" (subscript_expression "puVar2[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x14] = 0;" (assignment_expression "puVar2[0x14] = 0" (subscript_expression "puVar2[0x14]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x15] = 0;" (assignment_expression "puVar2[0x15] = 0" (subscript_expression "puVar2[0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x16] = 0;" (assignment_expression "puVar2[0x16] = 0" (subscript_expression "puVar2[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x18] = 0;" (assignment_expression "puVar2[0x18] = 0" (subscript_expression "puVar2[0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x19] = 0;" (assignment_expression "puVar2[0x19] = 0" (subscript_expression "puVar2[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x1c] = 0;" (assignment_expression "puVar2[0x1c] = 0" (subscript_expression "puVar2[0x1c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x1f] = 0;" (assignment_expression "puVar2[0x1f] = 0" (subscript_expression "puVar2[0x1f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x20] = 0;" (assignment_expression "puVar2[0x20] = 0" (subscript_expression "puVar2[0x20]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar2 + 0x21) = 1;" (assignment_expression "*(undefined1 *)(puVar2 + 0x21) = 1" (pointer_expression "*(undefined1 *)(puVar2 + 0x21)" * (cast_expression "(undefined1 *)(puVar2 + 0x21)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x21)" ( (binary_expression "puVar2 + 0x21" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2[0x22] = 0;" (assignment_expression "puVar2[0x22] = 0" (subscript_expression "puVar2[0x22]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar2 + 0x23) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 0x23) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 0x23)" * (cast_expression "(undefined1 *)(puVar2 + 0x23)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x23)" ( (binary_expression "puVar2 + 0x23" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2[0x24] = 0;" (assignment_expression "puVar2[0x24] = 0" (subscript_expression "puVar2[0x24]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*param_4 = (int)puVar2;" (assignment_expression "*param_4 = (int)puVar2" (pointer_expression "*param_4" * identifier) = (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_38 = (undefined1 *)0x0;" (assignment_expression "local_38 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);" (assignment_expression "uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1])" identifier = (call_expression "FUN_000867f0(puVar2,param_1[0x33],param_1[1])" identifier (argument_list "(puVar2,param_1[0x33],param_1[1])" ( identifier , (subscript_expression "param_1[0x33]" identifier [ number_literal ]) , (subscript_expression "param_1[1]" identifier [ number_literal ]) )))) ;) (if_statement "if ((char)uVar6 == '\0') {\n      return 0;\n    }" if (parenthesized_expression "((char)uVar6 == '\0')" ( (binary_expression "(char)uVar6 == '\0'" (cast_expression "(char)uVar6" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "*param_5 = 0;" (assignment_expression "*param_5 = 0" (pointer_expression "*param_5" * identifier) = number_literal) ;) (expression_statement "param_5[1] = 0;" (assignment_expression "param_5[1] = 0" (subscript_expression "param_5[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar10 = *(undefined4 *)(*param_4 + 0x40);" (assignment_expression "uVar10 = *(undefined4 *)(*param_4 + 0x40)" identifier = (pointer_expression "*(undefined4 *)(*param_4 + 0x40)" * (cast_expression "(undefined4 *)(*param_4 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_4 + 0x40)" ( (binary_expression "*param_4 + 0x40" (pointer_expression "*param_4" * identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)param_6 + 4) = *(undefined4 *)(*param_4 + 0x44);" (assignment_expression "*(undefined4 *)((int)param_6 + 4) = *(undefined4 *)(*param_4 + 0x44)" (pointer_expression "*(undefined4 *)((int)param_6 + 4)" * (cast_expression "(undefined4 *)((int)param_6 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_6 + 4)" ( (binary_expression "(int)param_6 + 4" (cast_expression "(int)param_6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(*param_4 + 0x44)" * (cast_expression "(undefined4 *)(*param_4 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_4 + 0x44)" ( (binary_expression "*param_4 + 0x44" (pointer_expression "*param_4" * identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)param_6 = uVar10;" (assignment_expression "*(undefined4 *)param_6 = uVar10" (pointer_expression "*(undefined4 *)param_6" * (cast_expression "(undefined4 *)param_6" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (return_statement "return uVar6;" return identifier ;) })) (expression_statement "pcVar7 = (char *)local_5c;" (assignment_expression "pcVar7 = (char *)local_5c" identifier = (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_5c = (undefined **)(param_1 + 0x2c);" (assignment_expression "local_5c = (undefined **)(param_1 + 0x2c)" identifier = (cast_expression "(undefined **)(param_1 + 0x2c)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) ;) (expression_statement "uVar5 = FUN_001aa970(pcVar7,param_7[1],0xc70f6907);" (assignment_expression "uVar5 = FUN_001aa970(pcVar7,param_7[1],0xc70f6907)" identifier = (call_expression "FUN_001aa970(pcVar7,param_7[1],0xc70f6907)" identifier (argument_list "(pcVar7,param_7[1],0xc70f6907)" ( identifier , (subscript_expression "param_7[1]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "piVar4 = (int *)FUN_0007d090(param_1 + 0x2c,uVar5 % (uint)param_1[0x2d],param_7,uVar5);" (assignment_expression "piVar4 = (int *)FUN_0007d090(param_1 + 0x2c,uVar5 % (uint)param_1[0x2d],param_7,uVar5)" identifier = (cast_expression "(int *)FUN_0007d090(param_1 + 0x2c,uVar5 % (uint)param_1[0x2d],param_7,uVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0007d090(param_1 + 0x2c,uVar5 % (uint)param_1[0x2d],param_7,uVar5)" identifier (argument_list "(param_1 + 0x2c,uVar5 % (uint)param_1[0x2d],param_7,uVar5)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) , (binary_expression "uVar5 % (uint)param_1[0x2d]" identifier % (cast_expression "(uint)param_1[0x2d]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x2d]" identifier [ number_literal ]))) , identifier , identifier ))))) ;) (if_statement "if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n    local_64 = *(undefined1 ***)(local_58[0xbc] + 8);\n    if (local_64 == (undefined1 **)0x0) {\n      ppuStack_70 = local_64;\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7);\n    }\n    local_68 = (int *)*param_7;\n    piVar4 = (int *)FUN_001aa8c0(0x4c);\n    local_6c = piVar4 + 2;\n    *piVar4 = (int)local_6c;\n    pcVar7 = (char *)0xffffffff;\n    if (local_68 != (int *)0x0) {\n      sVar8 = strlen((char *)local_68);\n      pcVar7 = (char *)((int)local_68 + sVar8);\n    }\n    ppuStack_70 = (undefined1 **)0x0;\n                    /* try { // try from 00079ee0 to 00079ee4 has its CatchHandler @ 0007a154 */\n    FUN_00056c80(piVar4,local_68,pcVar7);\n    local_68 = piVar4 + 9;\n    piVar4[6] = 0;\n    piVar4[7] = (int)local_68;\n    ppuStack_70 = (undefined1 **)0x0;\n                    /* try { // try from 00079f09 to 00079f0d has its CatchHandler @ 0007a17e */\n    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);\n    *(undefined1 *)(piVar4 + 0xd) = 0;\n    *(undefined1 *)(piVar4 + 0xe) = *(undefined1 *)((int)local_64 + 0x2f5);\n    *(undefined1 *)((int)piVar4 + 0x39) = *(undefined1 *)((int)local_64 + 0x549);\n                    /* try { // try from 00079f2f to 00079f33 has its CatchHandler @ 0007a177 */\n    iVar9 = FUN_000d81b0(local_64);\n    piVar4[0xf] = iVar9;\n    *(undefined1 *)(piVar4 + 0x10) = *(undefined1 *)((int)local_64 + 0x4a2d);\n    puVar3 = local_64[0x1685];\n    piVar4[0x12] = 0;\n    piVar4[0x11] = (int)puVar3;\n    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);\n    *puVar2 = piVar4;\n    puVar2[1] = puVar2 + 3;\n    puVar2[7] = puVar2 + 9;\n    puVar2[0x1a] = puVar2 + 0x18;\n    puVar2[0x1b] = puVar2 + 0x18;\n    puVar2[0x1e] = puVar2 + 0x1d;\n    puVar2[0x1d] = puVar2 + 0x1d;\n    ppuStack_70 = &local_48;\n    puVar2[2] = 0;\n    *(undefined1 *)(puVar2 + 3) = 0;\n    puVar2[8] = 0;\n    *(undefined1 *)(puVar2 + 9) = 0;\n    puVar2[0xd] = 0xffffffff;\n    *(undefined1 *)(puVar2 + 0xe) = 0;\n    puVar2[0xf] = 0;\n    puVar2[0x10] = 0;\n    puVar2[0x11] = 0;\n    *(undefined1 *)(puVar2 + 0x12) = 0;\n    puVar2[0x13] = 0;\n    puVar2[0x14] = 0;\n    puVar2[0x15] = 0;\n    puVar2[0x16] = 0;\n    puVar2[0x18] = 0;\n    puVar2[0x19] = 0;\n    puVar2[0x1c] = 0;\n    puVar2[0x1f] = 0;\n    puVar2[0x20] = 0;\n    *(undefined1 *)(puVar2 + 0x21) = 1;\n    puVar2[0x22] = 0;\n    *(undefined1 *)(puVar2 + 0x23) = 0;\n    puVar2[0x24] = 0;\n    *param_4 = (int)puVar2;\n    local_48 = (undefined1 *)0x0;\n    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);\n    if ((char)uVar6 == '\0') {\n      return uVar6;\n    }\n    uVar6 = FUN_001aa8c0(0xd8);\n                    /* try { // try from 0007a079 to 0007a07d has its CatchHandler @ 0007a162 */\n    FUN_00079850(uVar6,param_7,*param_4,0,param_1[0x33],param_1[1]);\n    FUN_0007abc0(uVar6);\n    local_64 = (undefined1 **)local_30;\n    ppuStack_70 = (undefined1 **)0x0;\n    local_38 = (undefined1 *)local_64;\n    FUN_0007c4c0(&local_38,*param_7,param_7[1] + *param_7);\n    ppuStack_70 = &local_38;\n    local_20 = uVar6;\n                    /* try { // try from 0007a0ba to 0007a0be has its CatchHandler @ 0007a15b */\n    FUN_0007d3c0(local_54,local_5c,0);\n    uVar10 = extraout_ECX;\n    if ((undefined1 **)local_38 != local_64) {\n      FUN_001ac470(local_38);\n      uVar10 = extraout_ECX_00;\n    }\n    pppuVar11 = &ppuStack_70;\n    if (local_50 == '\0') {\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10);\n    }\n  }\n  else {\n    uVar6 = *(undefined4 *)(*piVar4 + 0x1c);\n  }" if (parenthesized_expression "((piVar4 == (int *)0x0) || (*piVar4 == 0))" ( (binary_expression "(piVar4 == (int *)0x0) || (*piVar4 == 0)" (parenthesized_expression "(piVar4 == (int *)0x0)" ( (binary_expression "piVar4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*piVar4 == 0)" ( (binary_expression "*piVar4 == 0" (pointer_expression "*piVar4" * identifier) == number_literal) ))) )) (compound_statement "{\n    local_64 = *(undefined1 ***)(local_58[0xbc] + 8);\n    if (local_64 == (undefined1 **)0x0) {\n      ppuStack_70 = local_64;\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7);\n    }\n    local_68 = (int *)*param_7;\n    piVar4 = (int *)FUN_001aa8c0(0x4c);\n    local_6c = piVar4 + 2;\n    *piVar4 = (int)local_6c;\n    pcVar7 = (char *)0xffffffff;\n    if (local_68 != (int *)0x0) {\n      sVar8 = strlen((char *)local_68);\n      pcVar7 = (char *)((int)local_68 + sVar8);\n    }\n    ppuStack_70 = (undefined1 **)0x0;\n                    /* try { // try from 00079ee0 to 00079ee4 has its CatchHandler @ 0007a154 */\n    FUN_00056c80(piVar4,local_68,pcVar7);\n    local_68 = piVar4 + 9;\n    piVar4[6] = 0;\n    piVar4[7] = (int)local_68;\n    ppuStack_70 = (undefined1 **)0x0;\n                    /* try { // try from 00079f09 to 00079f0d has its CatchHandler @ 0007a17e */\n    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);\n    *(undefined1 *)(piVar4 + 0xd) = 0;\n    *(undefined1 *)(piVar4 + 0xe) = *(undefined1 *)((int)local_64 + 0x2f5);\n    *(undefined1 *)((int)piVar4 + 0x39) = *(undefined1 *)((int)local_64 + 0x549);\n                    /* try { // try from 00079f2f to 00079f33 has its CatchHandler @ 0007a177 */\n    iVar9 = FUN_000d81b0(local_64);\n    piVar4[0xf] = iVar9;\n    *(undefined1 *)(piVar4 + 0x10) = *(undefined1 *)((int)local_64 + 0x4a2d);\n    puVar3 = local_64[0x1685];\n    piVar4[0x12] = 0;\n    piVar4[0x11] = (int)puVar3;\n    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);\n    *puVar2 = piVar4;\n    puVar2[1] = puVar2 + 3;\n    puVar2[7] = puVar2 + 9;\n    puVar2[0x1a] = puVar2 + 0x18;\n    puVar2[0x1b] = puVar2 + 0x18;\n    puVar2[0x1e] = puVar2 + 0x1d;\n    puVar2[0x1d] = puVar2 + 0x1d;\n    ppuStack_70 = &local_48;\n    puVar2[2] = 0;\n    *(undefined1 *)(puVar2 + 3) = 0;\n    puVar2[8] = 0;\n    *(undefined1 *)(puVar2 + 9) = 0;\n    puVar2[0xd] = 0xffffffff;\n    *(undefined1 *)(puVar2 + 0xe) = 0;\n    puVar2[0xf] = 0;\n    puVar2[0x10] = 0;\n    puVar2[0x11] = 0;\n    *(undefined1 *)(puVar2 + 0x12) = 0;\n    puVar2[0x13] = 0;\n    puVar2[0x14] = 0;\n    puVar2[0x15] = 0;\n    puVar2[0x16] = 0;\n    puVar2[0x18] = 0;\n    puVar2[0x19] = 0;\n    puVar2[0x1c] = 0;\n    puVar2[0x1f] = 0;\n    puVar2[0x20] = 0;\n    *(undefined1 *)(puVar2 + 0x21) = 1;\n    puVar2[0x22] = 0;\n    *(undefined1 *)(puVar2 + 0x23) = 0;\n    puVar2[0x24] = 0;\n    *param_4 = (int)puVar2;\n    local_48 = (undefined1 *)0x0;\n    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);\n    if ((char)uVar6 == '\0') {\n      return uVar6;\n    }\n    uVar6 = FUN_001aa8c0(0xd8);\n                    /* try { // try from 0007a079 to 0007a07d has its CatchHandler @ 0007a162 */\n    FUN_00079850(uVar6,param_7,*param_4,0,param_1[0x33],param_1[1]);\n    FUN_0007abc0(uVar6);\n    local_64 = (undefined1 **)local_30;\n    ppuStack_70 = (undefined1 **)0x0;\n    local_38 = (undefined1 *)local_64;\n    FUN_0007c4c0(&local_38,*param_7,param_7[1] + *param_7);\n    ppuStack_70 = &local_38;\n    local_20 = uVar6;\n                    /* try { // try from 0007a0ba to 0007a0be has its CatchHandler @ 0007a15b */\n    FUN_0007d3c0(local_54,local_5c,0);\n    uVar10 = extraout_ECX;\n    if ((undefined1 **)local_38 != local_64) {\n      FUN_001ac470(local_38);\n      uVar10 = extraout_ECX_00;\n    }\n    pppuVar11 = &ppuStack_70;\n    if (local_50 == '\0') {\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10);\n    }\n  }" { (expression_statement "local_64 = *(undefined1 ***)(local_58[0xbc] + 8);" (assignment_expression "local_64 = *(undefined1 ***)(local_58[0xbc] + 8)" identifier = (pointer_expression "*(undefined1 ***)(local_58[0xbc] + 8)" * (cast_expression "(undefined1 ***)(local_58[0xbc] + 8)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(local_58[0xbc] + 8)" ( (binary_expression "local_58[0xbc] + 8" (subscript_expression "local_58[0xbc]" identifier [ number_literal ]) + number_literal) ))))) ;) (if_statement "if (local_64 == (undefined1 **)0x0) {\n      ppuStack_70 = local_64;\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7);\n    }" if (parenthesized_expression "(local_64 == (undefined1 **)0x0)" ( (binary_expression "local_64 == (undefined1 **)0x0" identifier == (cast_expression "(undefined1 **)0x0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n      ppuStack_70 = local_64;\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7);\n    }" { (expression_statement "ppuStack_70 = local_64;" (assignment_expression "ppuStack_70 = local_64" identifier = identifier) ;) comment (expression_statement "FUN_0008b620((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7);" (call_expression "FUN_0008b620((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7)" identifier (argument_list "((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7)" ( (binary_expression "(int)local_58 + -0xf8d93" (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal , (binary_expression "local_58 + -0x3b3a7" identifier + number_literal) ))) ;) })) (expression_statement "local_68 = (int *)*param_7;" (assignment_expression "local_68 = (int *)*param_7" identifier = (cast_expression "(int *)*param_7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_7" * identifier))) ;) (expression_statement "piVar4 = (int *)FUN_001aa8c0(0x4c);" (assignment_expression "piVar4 = (int *)FUN_001aa8c0(0x4c)" identifier = (cast_expression "(int *)FUN_001aa8c0(0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001aa8c0(0x4c)" identifier (argument_list "(0x4c)" ( number_literal ))))) ;) (expression_statement "local_6c = piVar4 + 2;" (assignment_expression "local_6c = piVar4 + 2" identifier = (binary_expression "piVar4 + 2" identifier + number_literal)) ;) (expression_statement "*piVar4 = (int)local_6c;" (assignment_expression "*piVar4 = (int)local_6c" (pointer_expression "*piVar4" * identifier) = (cast_expression "(int)local_6c" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pcVar7 = (char *)0xffffffff;" (assignment_expression "pcVar7 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_68 != (int *)0x0) {\n      sVar8 = strlen((char *)local_68);\n      pcVar7 = (char *)((int)local_68 + sVar8);\n    }" if (parenthesized_expression "(local_68 != (int *)0x0)" ( (binary_expression "local_68 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      sVar8 = strlen((char *)local_68);\n      pcVar7 = (char *)((int)local_68 + sVar8);\n    }" { (expression_statement "sVar8 = strlen((char *)local_68);" (assignment_expression "sVar8 = strlen((char *)local_68)" identifier = (call_expression "strlen((char *)local_68)" identifier (argument_list "((char *)local_68)" ( (cast_expression "(char *)local_68" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "pcVar7 = (char *)((int)local_68 + sVar8);" (assignment_expression "pcVar7 = (char *)((int)local_68 + sVar8)" identifier = (cast_expression "(char *)((int)local_68 + sVar8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_68 + sVar8)" ( (binary_expression "(int)local_68 + sVar8" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) })) (expression_statement "ppuStack_70 = (undefined1 **)0x0;" (assignment_expression "ppuStack_70 = (undefined1 **)0x0" identifier = (cast_expression "(undefined1 **)0x0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) comment (expression_statement "FUN_00056c80(piVar4,local_68,pcVar7);" (call_expression "FUN_00056c80(piVar4,local_68,pcVar7)" identifier (argument_list "(piVar4,local_68,pcVar7)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_68 = piVar4 + 9;" (assignment_expression "local_68 = piVar4 + 9" identifier = (binary_expression "piVar4 + 9" identifier + number_literal)) ;) (expression_statement "piVar4[6] = 0;" (assignment_expression "piVar4[6] = 0" (subscript_expression "piVar4[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[7] = (int)local_68;" (assignment_expression "piVar4[7] = (int)local_68" (subscript_expression "piVar4[7]" identifier [ number_literal ]) = (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "ppuStack_70 = (undefined1 **)0x0;" (assignment_expression "ppuStack_70 = (undefined1 **)0x0" identifier = (cast_expression "(undefined1 **)0x0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) comment (expression_statement "FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);" (call_expression "FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a)" identifier (argument_list "(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a)" ( (binary_expression "piVar4 + 7" identifier + number_literal) , (binary_expression "(int)local_58 + -0xd834a" (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , (binary_expression "(int)local_58 + -0xd834a" (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ;) (expression_statement "*(undefined1 *)(piVar4 + 0xd) = 0;" (assignment_expression "*(undefined1 *)(piVar4 + 0xd) = 0" (pointer_expression "*(undefined1 *)(piVar4 + 0xd)" * (cast_expression "(undefined1 *)(piVar4 + 0xd)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 0xd)" ( (binary_expression "piVar4 + 0xd" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar4 + 0xe) = *(undefined1 *)((int)local_64 + 0x2f5);" (assignment_expression "*(undefined1 *)(piVar4 + 0xe) = *(undefined1 *)((int)local_64 + 0x2f5)" (pointer_expression "*(undefined1 *)(piVar4 + 0xe)" * (cast_expression "(undefined1 *)(piVar4 + 0xe)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 0xe)" ( (binary_expression "piVar4 + 0xe" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)((int)local_64 + 0x2f5)" * (cast_expression "(undefined1 *)((int)local_64 + 0x2f5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_64 + 0x2f5)" ( (binary_expression "(int)local_64 + 0x2f5" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined1 *)((int)piVar4 + 0x39) = *(undefined1 *)((int)local_64 + 0x549);" (assignment_expression "*(undefined1 *)((int)piVar4 + 0x39) = *(undefined1 *)((int)local_64 + 0x549)" (pointer_expression "*(undefined1 *)((int)piVar4 + 0x39)" * (cast_expression "(undefined1 *)((int)piVar4 + 0x39)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar4 + 0x39)" ( (binary_expression "(int)piVar4 + 0x39" (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined1 *)((int)local_64 + 0x549)" * (cast_expression "(undefined1 *)((int)local_64 + 0x549)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_64 + 0x549)" ( (binary_expression "(int)local_64 + 0x549" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) comment (expression_statement "iVar9 = FUN_000d81b0(local_64);" (assignment_expression "iVar9 = FUN_000d81b0(local_64)" identifier = (call_expression "FUN_000d81b0(local_64)" identifier (argument_list "(local_64)" ( identifier )))) ;) (expression_statement "piVar4[0xf] = iVar9;" (assignment_expression "piVar4[0xf] = iVar9" (subscript_expression "piVar4[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined1 *)(piVar4 + 0x10) = *(undefined1 *)((int)local_64 + 0x4a2d);" (assignment_expression "*(undefined1 *)(piVar4 + 0x10) = *(undefined1 *)((int)local_64 + 0x4a2d)" (pointer_expression "*(undefined1 *)(piVar4 + 0x10)" * (cast_expression "(undefined1 *)(piVar4 + 0x10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 0x10)" ( (binary_expression "piVar4 + 0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)((int)local_64 + 0x4a2d)" * (cast_expression "(undefined1 *)((int)local_64 + 0x4a2d)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_64 + 0x4a2d)" ( (binary_expression "(int)local_64 + 0x4a2d" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar3 = local_64[0x1685];" (assignment_expression "puVar3 = local_64[0x1685]" identifier = (subscript_expression "local_64[0x1685]" identifier [ number_literal ])) ;) (expression_statement "piVar4[0x12] = 0;" (assignment_expression "piVar4[0x12] = 0" (subscript_expression "piVar4[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x11] = (int)puVar3;" (assignment_expression "piVar4[0x11] = (int)puVar3" (subscript_expression "piVar4[0x11]" identifier [ number_literal ]) = (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "puVar2 = (undefined4 *)FUN_001aa8c0(0x94);" (assignment_expression "puVar2 = (undefined4 *)FUN_001aa8c0(0x94)" identifier = (cast_expression "(undefined4 *)FUN_001aa8c0(0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001aa8c0(0x94)" identifier (argument_list "(0x94)" ( number_literal ))))) ;) (expression_statement "*puVar2 = piVar4;" (assignment_expression "*puVar2 = piVar4" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "puVar2[1] = puVar2 + 3;" (assignment_expression "puVar2[1] = puVar2 + 3" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = (binary_expression "puVar2 + 3" identifier + number_literal)) ;) (expression_statement "puVar2[7] = puVar2 + 9;" (assignment_expression "puVar2[7] = puVar2 + 9" (subscript_expression "puVar2[7]" identifier [ number_literal ]) = (binary_expression "puVar2 + 9" identifier + number_literal)) ;) (expression_statement "puVar2[0x1a] = puVar2 + 0x18;" (assignment_expression "puVar2[0x1a] = puVar2 + 0x18" (subscript_expression "puVar2[0x1a]" identifier [ number_literal ]) = (binary_expression "puVar2 + 0x18" identifier + number_literal)) ;) (expression_statement "puVar2[0x1b] = puVar2 + 0x18;" (assignment_expression "puVar2[0x1b] = puVar2 + 0x18" (subscript_expression "puVar2[0x1b]" identifier [ number_literal ]) = (binary_expression "puVar2 + 0x18" identifier + number_literal)) ;) (expression_statement "puVar2[0x1e] = puVar2 + 0x1d;" (assignment_expression "puVar2[0x1e] = puVar2 + 0x1d" (subscript_expression "puVar2[0x1e]" identifier [ number_literal ]) = (binary_expression "puVar2 + 0x1d" identifier + number_literal)) ;) (expression_statement "puVar2[0x1d] = puVar2 + 0x1d;" (assignment_expression "puVar2[0x1d] = puVar2 + 0x1d" (subscript_expression "puVar2[0x1d]" identifier [ number_literal ]) = (binary_expression "puVar2 + 0x1d" identifier + number_literal)) ;) (expression_statement "ppuStack_70 = &local_48;" (assignment_expression "ppuStack_70 = &local_48" identifier = (pointer_expression "&local_48" & identifier)) ;) (expression_statement "puVar2[2] = 0;" (assignment_expression "puVar2[2] = 0" (subscript_expression "puVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar2 + 3) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 3) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 3)" * (cast_expression "(undefined1 *)(puVar2 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 3)" ( (binary_expression "puVar2 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2[8] = 0;" (assignment_expression "puVar2[8] = 0" (subscript_expression "puVar2[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar2 + 9) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 9) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 9)" * (cast_expression "(undefined1 *)(puVar2 + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 9)" ( (binary_expression "puVar2 + 9" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2[0xd] = 0xffffffff;" (assignment_expression "puVar2[0xd] = 0xffffffff" (subscript_expression "puVar2[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar2 + 0xe) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 0xe) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 0xe)" * (cast_expression "(undefined1 *)(puVar2 + 0xe)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0xe)" ( (binary_expression "puVar2 + 0xe" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2[0xf] = 0;" (assignment_expression "puVar2[0xf] = 0" (subscript_expression "puVar2[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x10] = 0;" (assignment_expression "puVar2[0x10] = 0" (subscript_expression "puVar2[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x11] = 0;" (assignment_expression "puVar2[0x11] = 0" (subscript_expression "puVar2[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar2 + 0x12) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 0x12) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 0x12)" * (cast_expression "(undefined1 *)(puVar2 + 0x12)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x12)" ( (binary_expression "puVar2 + 0x12" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2[0x13] = 0;" (assignment_expression "puVar2[0x13] = 0" (subscript_expression "puVar2[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x14] = 0;" (assignment_expression "puVar2[0x14] = 0" (subscript_expression "puVar2[0x14]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x15] = 0;" (assignment_expression "puVar2[0x15] = 0" (subscript_expression "puVar2[0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x16] = 0;" (assignment_expression "puVar2[0x16] = 0" (subscript_expression "puVar2[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x18] = 0;" (assignment_expression "puVar2[0x18] = 0" (subscript_expression "puVar2[0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x19] = 0;" (assignment_expression "puVar2[0x19] = 0" (subscript_expression "puVar2[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x1c] = 0;" (assignment_expression "puVar2[0x1c] = 0" (subscript_expression "puVar2[0x1c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x1f] = 0;" (assignment_expression "puVar2[0x1f] = 0" (subscript_expression "puVar2[0x1f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x20] = 0;" (assignment_expression "puVar2[0x20] = 0" (subscript_expression "puVar2[0x20]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar2 + 0x21) = 1;" (assignment_expression "*(undefined1 *)(puVar2 + 0x21) = 1" (pointer_expression "*(undefined1 *)(puVar2 + 0x21)" * (cast_expression "(undefined1 *)(puVar2 + 0x21)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x21)" ( (binary_expression "puVar2 + 0x21" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2[0x22] = 0;" (assignment_expression "puVar2[0x22] = 0" (subscript_expression "puVar2[0x22]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar2 + 0x23) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 0x23) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 0x23)" * (cast_expression "(undefined1 *)(puVar2 + 0x23)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x23)" ( (binary_expression "puVar2 + 0x23" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2[0x24] = 0;" (assignment_expression "puVar2[0x24] = 0" (subscript_expression "puVar2[0x24]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*param_4 = (int)puVar2;" (assignment_expression "*param_4 = (int)puVar2" (pointer_expression "*param_4" * identifier) = (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_48 = (undefined1 *)0x0;" (assignment_expression "local_48 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);" (assignment_expression "uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1])" identifier = (call_expression "FUN_000867f0(puVar2,param_1[0x33],param_1[1])" identifier (argument_list "(puVar2,param_1[0x33],param_1[1])" ( identifier , (subscript_expression "param_1[0x33]" identifier [ number_literal ]) , (subscript_expression "param_1[1]" identifier [ number_literal ]) )))) ;) (if_statement "if ((char)uVar6 == '\0') {\n      return uVar6;\n    }" if (parenthesized_expression "((char)uVar6 == '\0')" ( (binary_expression "(char)uVar6 == '\0'" (cast_expression "(char)uVar6" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      return uVar6;\n    }" { (return_statement "return uVar6;" return identifier ;) })) (expression_statement "uVar6 = FUN_001aa8c0(0xd8);" (assignment_expression "uVar6 = FUN_001aa8c0(0xd8)" identifier = (call_expression "FUN_001aa8c0(0xd8)" identifier (argument_list "(0xd8)" ( number_literal )))) ;) comment (expression_statement "FUN_00079850(uVar6,param_7,*param_4,0,param_1[0x33],param_1[1]);" (call_expression "FUN_00079850(uVar6,param_7,*param_4,0,param_1[0x33],param_1[1])" identifier (argument_list "(uVar6,param_7,*param_4,0,param_1[0x33],param_1[1])" ( identifier , identifier , (pointer_expression "*param_4" * identifier) , number_literal , (subscript_expression "param_1[0x33]" identifier [ number_literal ]) , (subscript_expression "param_1[1]" identifier [ number_literal ]) ))) ;) (expression_statement "FUN_0007abc0(uVar6);" (call_expression "FUN_0007abc0(uVar6)" identifier (argument_list "(uVar6)" ( identifier ))) ;) (expression_statement "local_64 = (undefined1 **)local_30;" (assignment_expression "local_64 = (undefined1 **)local_30" identifier = (cast_expression "(undefined1 **)local_30" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "ppuStack_70 = (undefined1 **)0x0;" (assignment_expression "ppuStack_70 = (undefined1 **)0x0" identifier = (cast_expression "(undefined1 **)0x0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_38 = (undefined1 *)local_64;" (assignment_expression "local_38 = (undefined1 *)local_64" identifier = (cast_expression "(undefined1 *)local_64" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "FUN_0007c4c0(&local_38,*param_7,param_7[1] + *param_7);" (call_expression "FUN_0007c4c0(&local_38,*param_7,param_7[1] + *param_7)" identifier (argument_list "(&local_38,*param_7,param_7[1] + *param_7)" ( (pointer_expression "&local_38" & identifier) , (pointer_expression "*param_7" * identifier) , (binary_expression "param_7[1] + *param_7" (subscript_expression "param_7[1]" identifier [ number_literal ]) + (pointer_expression "*param_7" * identifier)) ))) ;) (expression_statement "ppuStack_70 = &local_38;" (assignment_expression "ppuStack_70 = &local_38" identifier = (pointer_expression "&local_38" & identifier)) ;) (expression_statement "local_20 = uVar6;" (assignment_expression "local_20 = uVar6" identifier = identifier) ;) comment (expression_statement "FUN_0007d3c0(local_54,local_5c,0);" (call_expression "FUN_0007d3c0(local_54,local_5c,0)" identifier (argument_list "(local_54,local_5c,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "uVar10 = extraout_ECX;" (assignment_expression "uVar10 = extraout_ECX" identifier = identifier) ;) (if_statement "if ((undefined1 **)local_38 != local_64) {\n      FUN_001ac470(local_38);\n      uVar10 = extraout_ECX_00;\n    }" if (parenthesized_expression "((undefined1 **)local_38 != local_64)" ( (binary_expression "(undefined1 **)local_38 != local_64" (cast_expression "(undefined1 **)local_38" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) != identifier) )) (compound_statement "{\n      FUN_001ac470(local_38);\n      uVar10 = extraout_ECX_00;\n    }" { (expression_statement "FUN_001ac470(local_38);" (call_expression "FUN_001ac470(local_38)" identifier (argument_list "(local_38)" ( identifier ))) ;) (expression_statement "uVar10 = extraout_ECX_00;" (assignment_expression "uVar10 = extraout_ECX_00" identifier = identifier) ;) })) (expression_statement "pppuVar11 = &ppuStack_70;" (assignment_expression "pppuVar11 = &ppuStack_70" identifier = (pointer_expression "&ppuStack_70" & identifier)) ;) (if_statement "if (local_50 == '\0') {\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10);\n    }" if (parenthesized_expression "(local_50 == '\0')" ( (binary_expression "local_50 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10);\n    }" { comment (expression_statement "FUN_0008b620((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10);" (call_expression "FUN_0008b620((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10)" identifier (argument_list "((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10)" ( (binary_expression "(int)local_58 + -0xed22f" (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal , (binary_expression "local_58 + -0x3b3b4" identifier + number_literal) , identifier ))) ;) })) }) (else_clause "else {\n    uVar6 = *(undefined4 *)(*piVar4 + 0x1c);\n  }" else (compound_statement "{\n    uVar6 = *(undefined4 *)(*piVar4 + 0x1c);\n  }" { (expression_statement "uVar6 = *(undefined4 *)(*piVar4 + 0x1c);" (assignment_expression "uVar6 = *(undefined4 *)(*piVar4 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)(*piVar4 + 0x1c)" * (cast_expression "(undefined4 *)(*piVar4 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar4 + 0x1c)" ( (binary_expression "*piVar4 + 0x1c" (pointer_expression "*piVar4" * identifier) + number_literal) ))))) ;) }))) (expression_statement "*(int **)((int)pppuVar11 + -8) = param_7;" (assignment_expression "*(int **)((int)pppuVar11 + -8) = param_7" (pointer_expression "*(int **)((int)pppuVar11 + -8)" * (cast_expression "(int **)((int)pppuVar11 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar11 + -8)" ( (binary_expression "(int)pppuVar11 + -8" (cast_expression "(int)pppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(longlong **)((int)pppuVar11 + -0xc) = param_6;" (assignment_expression "*(longlong **)((int)pppuVar11 + -0xc) = param_6" (pointer_expression "*(longlong **)((int)pppuVar11 + -0xc)" * (cast_expression "(longlong **)((int)pppuVar11 + -0xc)" ( (type_descriptor "longlong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar11 + -0xc)" ( (binary_expression "(int)pppuVar11 + -0xc" (cast_expression "(int)pppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int **)((int)pppuVar11 + -0x10) = param_5;" (assignment_expression "*(int **)((int)pppuVar11 + -0x10) = param_5" (pointer_expression "*(int **)((int)pppuVar11 + -0x10)" * (cast_expression "(int **)((int)pppuVar11 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar11 + -0x10)" ( (binary_expression "(int)pppuVar11 + -0x10" (cast_expression "(int)pppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int **)((int)pppuVar11 + -0x14) = param_4;" (assignment_expression "*(int **)((int)pppuVar11 + -0x14) = param_4" (pointer_expression "*(int **)((int)pppuVar11 + -0x14)" * (cast_expression "(int **)((int)pppuVar11 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar11 + -0x14)" ( (binary_expression "(int)pppuVar11 + -0x14" (cast_expression "(int)pppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)pppuVar11 + -0x18) = local_40;" (assignment_expression "*(int *)((int)pppuVar11 + -0x18) = local_40" (pointer_expression "*(int *)((int)pppuVar11 + -0x18)" * (cast_expression "(int *)((int)pppuVar11 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar11 + -0x18)" ( (binary_expression "(int)pppuVar11 + -0x18" (cast_expression "(int)pppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)pppuVar11 + -0x1c) = local_44;" (assignment_expression "*(int *)((int)pppuVar11 + -0x1c) = local_44" (pointer_expression "*(int *)((int)pppuVar11 + -0x1c)" * (cast_expression "(int *)((int)pppuVar11 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar11 + -0x1c)" ( (binary_expression "(int)pppuVar11 + -0x1c" (cast_expression "(int)pppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)pppuVar11 + -0x20) = uVar6;" (assignment_expression "*(undefined4 *)((int)pppuVar11 + -0x20) = uVar6" (pointer_expression "*(undefined4 *)((int)pppuVar11 + -0x20)" * (cast_expression "(undefined4 *)((int)pppuVar11 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar11 + -0x20)" ( (binary_expression "(int)pppuVar11 + -0x20" (cast_expression "(int)pppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)pppuVar11 + -0x24) = 0x79c7d;" (assignment_expression "*(undefined4 *)((int)pppuVar11 + -0x24) = 0x79c7d" (pointer_expression "*(undefined4 *)((int)pppuVar11 + -0x24)" * (cast_expression "(undefined4 *)((int)pppuVar11 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar11 + -0x24)" ( (binary_expression "(int)pppuVar11 + -0x24" (cast_expression "(int)pppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar6 = FUN_00079ae0();" (assignment_expression "uVar6 = FUN_00079ae0()" identifier = (call_expression "FUN_00079ae0()" identifier (argument_list "()" ( )))) ;) (return_statement "return uVar6;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n/* DWARF original prototype: bool get_file_and_offset(Archive * this, off_t off, Input_file * *\n   input_file, off_t * memoff, off_t * memsize, string * member_name) */\n\nbool __thiscall\ngold::Archive::get_file_and_offset\n          (Archive *this,off_t off,Input_file **input_file,off_t *memoff,off_t *memsize,\n          string *member_name)\n\n{\n  _Rb_tree_header *p_Var1;\n  Saved_views *pSVar2;\n  _func_int_varargs *p_Var3;\n  General_options *this_00;\n  Incremental_disposition IVar4;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar5;\n  undefined2 uVar6;\n  undefined3 uVar7;\n  bool bVar8;\n  char *pcVar9;\n  uint uVar10;\n  __node_base *p_Var11;\n  Position_dependent_options *pPVar12;\n  Input_file_argument *pIVar13;\n  char *pcVar14;\n  size_t sVar15;\n  Object_format OVar16;\n  Input_file *pIVar17;\n  int iVar18;\n  Archive *this_01;\n  File_read *pFVar19;\n  uint uVar20;\n  off_t oVar21;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar22;\n  pointer pcVar23;\n  char local_50;\n  int dummy_1;\n  off_t nested_off;\n  int dummy;\n  uint local_34;\n  undefined1 local_30 [16];\n  Archive *local_20;\n  \n  oVar21 = read_header(this,off,false,member_name,&nested_off);\n  *memsize = oVar21;\n  if (oVar21 == -1) {\n    return false;\n  }\n  *input_file = this->input_file_;\n  bVar8 = this->is_thin_archive_;\n  *memoff = off + 0x3c;\n  if (bVar8 == false) {\n    return true;\n  }\n  pcVar14 = (member_name->_M_dataplus)._M_p;\n  if (*pcVar14 != '/') {\n    p_Var3 = (this->super_Library_base)._vptr_Library_base[2];\n    if (p_Var3 == do_filename) {\n      pFVar19 = &this->input_file_->file_;\n    }\n    else {\n      pFVar19 = (File_read *)(*p_Var3)(this);\n    }\n    pcVar14 = (pFVar19->name_)._M_dataplus._M_p;\n    pcVar9 = lbasename(pcVar14);\n    if (pcVar14 < pcVar9) {\n      p_Var3 = (this->super_Library_base)._vptr_Library_base[2];\n      if (p_Var3 == do_filename) {\n        pFVar19 = &this->input_file_->file_;\n      }\n      else {\n        pFVar19 = (File_read *)(*p_Var3)(this);\n      }\n      pcVar23 = (pFVar19->name_)._M_dataplus._M_p;\n      uVar10 = (pFVar19->name_)._M_string_length;\n      uVar20 = (int)pcVar9 - (int)pcVar14;\n      if (uVar10 < (uint)((int)pcVar9 - (int)pcVar14)) {\n        uVar20 = uVar10;\n      }\n      dummy = (int)local_30;\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>\n                ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy,pcVar23\n                 ,pcVar23 + uVar20,0);\n                    /* try { // try from 00079bec to 00079bf0 has its CatchHandler @ 0007a14d */\n      std::string::_M_replace((string *)member_name,0,0,(char *)dummy,local_34);\n      if ((undefined1 *)dummy != local_30) {\n        operator_delete((void *)dummy);\n      }\n    }\n    pcVar14 = (member_name->_M_dataplus)._M_p;\n  }\n  if ((int)(uint)((int)nested_off != 0) <= -nested_off._4_4_) {\n    pPVar12 = Input_file::options(this->input_file_);\n    pIVar13 = (Input_file_argument *)operator_new(0x4c);\n    (pIVar13->name_)._M_dataplus._M_p = (pointer)&(pIVar13->name_).field_2;\n    pcVar9 = (char *)0xffffffff;\n    if (pcVar14 != (char *)0x0) {\n      sVar15 = strlen(pcVar14);\n      pcVar9 = pcVar14 + sVar15;\n    }\n                    /* try { // try from 00079ce7 to 00079ceb has its CatchHandler @ 0007a169 */\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>\n              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)pIVar13,pcVar14,\n               pcVar9,0);\n    pIVar13->type_ = INPUT_FILE_TYPE_FILE;\n    (pIVar13->extra_search_path_)._M_dataplus._M_p = (pointer)&(pIVar13->extra_search_path_).field_2\n    ;\n                    /* try { // try from 00079d0d to 00079d11 has its CatchHandler @ 0007a170 */\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&pIVar13->extra_search_path_,"","",0);\n    pIVar13->just_symbols_ = false;\n    bVar8 = pPVar12->Bdynamic_;\n    uVar6 = *(undefined2 *)&pPVar12->field_0x2;\n    (pIVar13->options_).as_needed_ = pPVar12->as_needed_;\n    (pIVar13->options_).Bdynamic_ = bVar8;\n    *(undefined2 *)&(pIVar13->options_).field_0x2 = uVar6;\n    (pIVar13->options_).format_enum_ = pPVar12->format_enum_;\n    uVar7 = *(undefined3 *)&pPVar12->field_0x9;\n    (pIVar13->options_).whole_archive_ = pPVar12->whole_archive_;\n    *(undefined3 *)&(pIVar13->options_).field_0x9 = uVar7;\n    IVar4 = pPVar12->incremental_disposition_;\n    pIVar13->arg_serial_ = 0;\n    (pIVar13->options_).incremental_disposition_ = IVar4;\n    pIVar17 = (Input_file *)operator_new(0x94);\n    pIVar17->input_argument_ = pIVar13;\n    (pIVar17->found_name_)._M_dataplus._M_p = (pointer)&(pIVar17->found_name_).field_2;\n    (pIVar17->file_).name_._M_dataplus._M_p = (pointer)&(pIVar17->file_).name_.field_2;\n    p_Var1 = &(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left =\n         &p_Var1->_M_header;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_right =\n         &p_Var1->_M_header;\n    pSVar2 = &(pIVar17->file_).saved_views_;\n    (pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_prev = (_List_node_base *)pSVar2;\n    (pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_next = (_List_node_base *)pSVar2;\n    (pIVar17->found_name_)._M_string_length = 0;\n    (pIVar17->found_name_).field_2._M_local_buf[0] = '\0';\n    (pIVar17->file_).name_._M_string_length = 0;\n    (pIVar17->file_).name_.field_2._M_local_buf[0] = '\0';\n    (pIVar17->file_).descriptor_ = -1;\n    (pIVar17->file_).is_descriptor_opened_ = false;\n    (pIVar17->file_).object_count_ = 0;\n    *(undefined4 *)&(pIVar17->file_).size_ = 0;\n    *(undefined4 *)((int)&(pIVar17->file_).size_ + 4) = 0;\n    (pIVar17->file_).token_.is_blocker_ = false;\n    (pIVar17->file_).token_.blockers_ = 0;\n    (pIVar17->file_).token_.writer_ = (Task *)0x0;\n    (pIVar17->file_).token_.waiting_.head_ = (Task *)0x0;\n    (pIVar17->file_).token_.waiting_.tail_ = (Task *)0x0;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;\n    (pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n    _M_node._M_size = 0;\n    (pIVar17->file_).mapped_bytes_ = 0;\n    (pIVar17->file_).released_ = true;\n    (pIVar17->file_).whole_file_view_ = (View *)0x0;\n    pIVar17->is_in_sysroot_ = false;\n    pIVar17->format_ = FORMAT_NONE;\n    *input_file = pIVar17;\n    dummy = 0;\n    iVar18 = Input_file::open(pIVar17,(char *)this->dirpath_,(int)(this->super_Library_base).task_,\n                              &dummy);\n    if (SUB41(iVar18,0) == false) {\n      return false;\n    }\n    *(undefined4 *)memoff = 0;\n    *(undefined4 *)((int)memoff + 4) = 0;\n    oVar21 = ((*input_file)->file_).size_;\n    *(undefined4 *)((int)memsize + 4) = *(undefined4 *)((int)&((*input_file)->file_).size_ + 4);\n    *(int *)memsize = (int)oVar21;\n    return SUB41(iVar18,0);\n  }\n  uVar10 = std::_Hash_bytes(pcVar14,member_name->_M_string_length,0xc70f6907);\n  p_Var11 = std::\n            _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_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,_false,_true>_>\n            ::_M_find_before_node\n                      ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_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,_false,_true>_>\n                        *)&this->nested_archives_,\n                       uVar10 % (this->nested_archives_)._M_h._M_bucket_count,member_name,uVar10);\n  if ((p_Var11 == (__node_base *)0x0) || (p_Var11->_M_nxt == (_Hash_node_base *)0x0)) {\n    this_00 = parameters->options_;\n    if (this_00 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n    pcVar23 = (member_name->_M_dataplus)._M_p;\n    pIVar13 = (Input_file_argument *)operator_new(0x4c);\n    paVar22 = &(pIVar13->name_).field_2;\n    (pIVar13->name_)._M_dataplus._M_p = (pointer)paVar22;\n    pcVar14 = (char *)0xffffffff;\n    if (pcVar23 != (char *)0x0) {\n      sVar15 = strlen(pcVar23);\n      pcVar14 = pcVar23 + sVar15;\n    }\n                    /* try { // try from 00079ee0 to 00079ee4 has its CatchHandler @ 0007a154 */\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>\n              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)pIVar13,pcVar23,\n               pcVar14,0,paVar22);\n    paVar5 = &(pIVar13->extra_search_path_).field_2;\n    pIVar13->type_ = INPUT_FILE_TYPE_FILE;\n    (pIVar13->extra_search_path_)._M_dataplus._M_p = (pointer)paVar5;\n                    /* try { // try from 00079f09 to 00079f0d has its CatchHandler @ 0007a17e */\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&pIVar13->extra_search_path_,"","",0,paVar22,paVar5);\n    pIVar13->just_symbols_ = false;\n    (pIVar13->options_).as_needed_ = (this_00->as_needed_).value;\n    (pIVar13->options_).Bdynamic_ = (this_00->Bdynamic_).value;\n                    /* try { // try from 00079f2f to 00079f33 has its CatchHandler @ 0007a177 */\n    OVar16 = General_options::format_enum(this_00);\n    (pIVar13->options_).format_enum_ = OVar16;\n    (pIVar13->options_).whole_archive_ = (this_00->whole_archive_).value;\n    IVar4 = this_00->incremental_disposition_;\n    pIVar13->arg_serial_ = 0;\n    (pIVar13->options_).incremental_disposition_ = IVar4;\n    pIVar17 = (Input_file *)operator_new(0x94);\n    pIVar17->input_argument_ = pIVar13;\n    (pIVar17->found_name_)._M_dataplus._M_p = (pointer)&(pIVar17->found_name_).field_2;\n    (pIVar17->file_).name_._M_dataplus._M_p = (pointer)&(pIVar17->file_).name_.field_2;\n    p_Var1 = &(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left =\n         &p_Var1->_M_header;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_right =\n         &p_Var1->_M_header;\n    pSVar2 = &(pIVar17->file_).saved_views_;\n    (pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_prev = (_List_node_base *)pSVar2;\n    (pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_next = (_List_node_base *)pSVar2;\n    (pIVar17->found_name_)._M_string_length = 0;\n    (pIVar17->found_name_).field_2._M_local_buf[0] = '\0';\n    (pIVar17->file_).name_._M_string_length = 0;\n    (pIVar17->file_).name_.field_2._M_local_buf[0] = '\0';\n    (pIVar17->file_).descriptor_ = -1;\n    (pIVar17->file_).is_descriptor_opened_ = false;\n    (pIVar17->file_).object_count_ = 0;\n    *(undefined4 *)&(pIVar17->file_).size_ = 0;\n    *(undefined4 *)((int)&(pIVar17->file_).size_ + 4) = 0;\n    (pIVar17->file_).token_.is_blocker_ = false;\n    (pIVar17->file_).token_.blockers_ = 0;\n    (pIVar17->file_).token_.writer_ = (Task *)0x0;\n    (pIVar17->file_).token_.waiting_.head_ = (Task *)0x0;\n    (pIVar17->file_).token_.waiting_.tail_ = (Task *)0x0;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;\n    (pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n    _M_node._M_size = 0;\n    (pIVar17->file_).mapped_bytes_ = 0;\n    (pIVar17->file_).released_ = true;\n    (pIVar17->file_).whole_file_view_ = (View *)0x0;\n    pIVar17->is_in_sysroot_ = false;\n    pIVar17->format_ = FORMAT_NONE;\n    *input_file = pIVar17;\n    dummy_1 = 0;\n    iVar18 = Input_file::open(pIVar17,(char *)this->dirpath_,(int)(this->super_Library_base).task_,\n                              &dummy_1);\n    if ((char)iVar18 == '\0') {\n      return false;\n    }\n    this_01 = (Archive *)operator_new(0xd8);\n                    /* try { // try from 0007a079 to 0007a07d has its CatchHandler @ 0007a162 */\n    Archive(this_01,member_name,*input_file,false,this->dirpath_,(this->super_Library_base).task_);\n    setup(this_01);\n    pcVar23 = (member_name->_M_dataplus)._M_p;\n    dummy = (int)local_30;\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy,\n                        pcVar23,pcVar23 + member_name->_M_string_length,0);\n    local_20 = this_01;\n                    /* try { // try from 0007a0ba to 0007a0be has its CatchHandler @ 0007a15b */\n    std::\n    _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_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,_false,_true>_>\n    ::\n    _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>\n              ((_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffac,&this->nested_archives_,0,\n               (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy);\n    if ((undefined1 *)dummy != local_30) {\n      operator_delete((void *)dummy);\n    }\n    if (local_50 == '\0') {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/archive.cc",0x288,"get_file_and_offset");\n    }\n  }\n  else {\n    this_01 = (Archive *)p_Var11->_M_nxt[7]._M_nxt;\n  }\n  bVar8 = get_file_and_offset(this_01,CONCAT44(nested_off._4_4_,(int)nested_off),input_file,memoff,\n                              memsize,member_name);\n  return bVar8;\n}\n\n" comment comment comment comment (function_definition "bool __thiscall\ngold::Archive::get_file_and_offset\n          (Archive *this,off_t off,Input_file **input_file,off_t *memoff,off_t *memsize,\n          string *member_name)\n\n{\n  _Rb_tree_header *p_Var1;\n  Saved_views *pSVar2;\n  _func_int_varargs *p_Var3;\n  General_options *this_00;\n  Incremental_disposition IVar4;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar5;\n  undefined2 uVar6;\n  undefined3 uVar7;\n  bool bVar8;\n  char *pcVar9;\n  uint uVar10;\n  __node_base *p_Var11;\n  Position_dependent_options *pPVar12;\n  Input_file_argument *pIVar13;\n  char *pcVar14;\n  size_t sVar15;\n  Object_format OVar16;\n  Input_file *pIVar17;\n  int iVar18;\n  Archive *this_01;\n  File_read *pFVar19;\n  uint uVar20;\n  off_t oVar21;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar22;\n  pointer pcVar23;\n  char local_50;\n  int dummy_1;\n  off_t nested_off;\n  int dummy;\n  uint local_34;\n  undefined1 local_30 [16];\n  Archive *local_20;\n  \n  oVar21 = read_header(this,off,false,member_name,&nested_off);\n  *memsize = oVar21;\n  if (oVar21 == -1) {\n    return false;\n  }\n  *input_file = this->input_file_;\n  bVar8 = this->is_thin_archive_;\n  *memoff = off + 0x3c;\n  if (bVar8 == false) {\n    return true;\n  }\n  pcVar14 = (member_name->_M_dataplus)._M_p;\n  if (*pcVar14 != '/') {\n    p_Var3 = (this->super_Library_base)._vptr_Library_base[2];\n    if (p_Var3 == do_filename) {\n      pFVar19 = &this->input_file_->file_;\n    }\n    else {\n      pFVar19 = (File_read *)(*p_Var3)(this);\n    }\n    pcVar14 = (pFVar19->name_)._M_dataplus._M_p;\n    pcVar9 = lbasename(pcVar14);\n    if (pcVar14 < pcVar9) {\n      p_Var3 = (this->super_Library_base)._vptr_Library_base[2];\n      if (p_Var3 == do_filename) {\n        pFVar19 = &this->input_file_->file_;\n      }\n      else {\n        pFVar19 = (File_read *)(*p_Var3)(this);\n      }\n      pcVar23 = (pFVar19->name_)._M_dataplus._M_p;\n      uVar10 = (pFVar19->name_)._M_string_length;\n      uVar20 = (int)pcVar9 - (int)pcVar14;\n      if (uVar10 < (uint)((int)pcVar9 - (int)pcVar14)) {\n        uVar20 = uVar10;\n      }\n      dummy = (int)local_30;\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>\n                ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy,pcVar23\n                 ,pcVar23 + uVar20,0);\n                    /* try { // try from 00079bec to 00079bf0 has its CatchHandler @ 0007a14d */\n      std::string::_M_replace((string *)member_name,0,0,(char *)dummy,local_34);\n      if ((undefined1 *)dummy != local_30) {\n        operator_delete((void *)dummy);\n      }\n    }\n    pcVar14 = (member_name->_M_dataplus)._M_p;\n  }\n  if ((int)(uint)((int)nested_off != 0) <= -nested_off._4_4_) {\n    pPVar12 = Input_file::options(this->input_file_);\n    pIVar13 = (Input_file_argument *)operator_new(0x4c);\n    (pIVar13->name_)._M_dataplus._M_p = (pointer)&(pIVar13->name_).field_2;\n    pcVar9 = (char *)0xffffffff;\n    if (pcVar14 != (char *)0x0) {\n      sVar15 = strlen(pcVar14);\n      pcVar9 = pcVar14 + sVar15;\n    }\n                    /* try { // try from 00079ce7 to 00079ceb has its CatchHandler @ 0007a169 */\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>\n              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)pIVar13,pcVar14,\n               pcVar9,0);\n    pIVar13->type_ = INPUT_FILE_TYPE_FILE;\n    (pIVar13->extra_search_path_)._M_dataplus._M_p = (pointer)&(pIVar13->extra_search_path_).field_2\n    ;\n                    /* try { // try from 00079d0d to 00079d11 has its CatchHandler @ 0007a170 */\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&pIVar13->extra_search_path_,"","",0);\n    pIVar13->just_symbols_ = false;\n    bVar8 = pPVar12->Bdynamic_;\n    uVar6 = *(undefined2 *)&pPVar12->field_0x2;\n    (pIVar13->options_).as_needed_ = pPVar12->as_needed_;\n    (pIVar13->options_).Bdynamic_ = bVar8;\n    *(undefined2 *)&(pIVar13->options_).field_0x2 = uVar6;\n    (pIVar13->options_).format_enum_ = pPVar12->format_enum_;\n    uVar7 = *(undefined3 *)&pPVar12->field_0x9;\n    (pIVar13->options_).whole_archive_ = pPVar12->whole_archive_;\n    *(undefined3 *)&(pIVar13->options_).field_0x9 = uVar7;\n    IVar4 = pPVar12->incremental_disposition_;\n    pIVar13->arg_serial_ = 0;\n    (pIVar13->options_).incremental_disposition_ = IVar4;\n    pIVar17 = (Input_file *)operator_new(0x94);\n    pIVar17->input_argument_ = pIVar13;\n    (pIVar17->found_name_)._M_dataplus._M_p = (pointer)&(pIVar17->found_name_).field_2;\n    (pIVar17->file_).name_._M_dataplus._M_p = (pointer)&(pIVar17->file_).name_.field_2;\n    p_Var1 = &(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left =\n         &p_Var1->_M_header;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_right =\n         &p_Var1->_M_header;\n    pSVar2 = &(pIVar17->file_).saved_views_;\n    (pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_prev = (_List_node_base *)pSVar2;\n    (pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_next = (_List_node_base *)pSVar2;\n    (pIVar17->found_name_)._M_string_length = 0;\n    (pIVar17->found_name_).field_2._M_local_buf[0] = '\0';\n    (pIVar17->file_).name_._M_string_length = 0;\n    (pIVar17->file_).name_.field_2._M_local_buf[0] = '\0';\n    (pIVar17->file_).descriptor_ = -1;\n    (pIVar17->file_).is_descriptor_opened_ = false;\n    (pIVar17->file_).object_count_ = 0;\n    *(undefined4 *)&(pIVar17->file_).size_ = 0;\n    *(undefined4 *)((int)&(pIVar17->file_).size_ + 4) = 0;\n    (pIVar17->file_).token_.is_blocker_ = false;\n    (pIVar17->file_).token_.blockers_ = 0;\n    (pIVar17->file_).token_.writer_ = (Task *)0x0;\n    (pIVar17->file_).token_.waiting_.head_ = (Task *)0x0;\n    (pIVar17->file_).token_.waiting_.tail_ = (Task *)0x0;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;\n    (pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n    _M_node._M_size = 0;\n    (pIVar17->file_).mapped_bytes_ = 0;\n    (pIVar17->file_).released_ = true;\n    (pIVar17->file_).whole_file_view_ = (View *)0x0;\n    pIVar17->is_in_sysroot_ = false;\n    pIVar17->format_ = FORMAT_NONE;\n    *input_file = pIVar17;\n    dummy = 0;\n    iVar18 = Input_file::open(pIVar17,(char *)this->dirpath_,(int)(this->super_Library_base).task_,\n                              &dummy);\n    if (SUB41(iVar18,0) == false) {\n      return false;\n    }\n    *(undefined4 *)memoff = 0;\n    *(undefined4 *)((int)memoff + 4) = 0;\n    oVar21 = ((*input_file)->file_).size_;\n    *(undefined4 *)((int)memsize + 4) = *(undefined4 *)((int)&((*input_file)->file_).size_ + 4);\n    *(int *)memsize = (int)oVar21;\n    return SUB41(iVar18,0);\n  }\n  uVar10 = std::_Hash_bytes(pcVar14,member_name->_M_string_length,0xc70f6907);\n  p_Var11 = std::\n            _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_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,_false,_true>_>\n            ::_M_find_before_node\n                      ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_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,_false,_true>_>\n                        *)&this->nested_archives_,\n                       uVar10 % (this->nested_archives_)._M_h._M_bucket_count,member_name,uVar10);\n  if ((p_Var11 == (__node_base *)0x0) || (p_Var11->_M_nxt == (_Hash_node_base *)0x0)) {\n    this_00 = parameters->options_;\n    if (this_00 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n    pcVar23 = (member_name->_M_dataplus)._M_p;\n    pIVar13 = (Input_file_argument *)operator_new(0x4c);\n    paVar22 = &(pIVar13->name_).field_2;\n    (pIVar13->name_)._M_dataplus._M_p = (pointer)paVar22;\n    pcVar14 = (char *)0xffffffff;\n    if (pcVar23 != (char *)0x0) {\n      sVar15 = strlen(pcVar23);\n      pcVar14 = pcVar23 + sVar15;\n    }\n                    /* try { // try from 00079ee0 to 00079ee4 has its CatchHandler @ 0007a154 */\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>\n              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)pIVar13,pcVar23,\n               pcVar14,0,paVar22);\n    paVar5 = &(pIVar13->extra_search_path_).field_2;\n    pIVar13->type_ = INPUT_FILE_TYPE_FILE;\n    (pIVar13->extra_search_path_)._M_dataplus._M_p = (pointer)paVar5;\n                    /* try { // try from 00079f09 to 00079f0d has its CatchHandler @ 0007a17e */\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&pIVar13->extra_search_path_,"","",0,paVar22,paVar5);\n    pIVar13->just_symbols_ = false;\n    (pIVar13->options_).as_needed_ = (this_00->as_needed_).value;\n    (pIVar13->options_).Bdynamic_ = (this_00->Bdynamic_).value;\n                    /* try { // try from 00079f2f to 00079f33 has its CatchHandler @ 0007a177 */\n    OVar16 = General_options::format_enum(this_00);\n    (pIVar13->options_).format_enum_ = OVar16;\n    (pIVar13->options_).whole_archive_ = (this_00->whole_archive_).value;\n    IVar4 = this_00->incremental_disposition_;\n    pIVar13->arg_serial_ = 0;\n    (pIVar13->options_).incremental_disposition_ = IVar4;\n    pIVar17 = (Input_file *)operator_new(0x94);\n    pIVar17->input_argument_ = pIVar13;\n    (pIVar17->found_name_)._M_dataplus._M_p = (pointer)&(pIVar17->found_name_).field_2;\n    (pIVar17->file_).name_._M_dataplus._M_p = (pointer)&(pIVar17->file_).name_.field_2;\n    p_Var1 = &(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left =\n         &p_Var1->_M_header;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_right =\n         &p_Var1->_M_header;\n    pSVar2 = &(pIVar17->file_).saved_views_;\n    (pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_prev = (_List_node_base *)pSVar2;\n    (pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_next = (_List_node_base *)pSVar2;\n    (pIVar17->found_name_)._M_string_length = 0;\n    (pIVar17->found_name_).field_2._M_local_buf[0] = '\0';\n    (pIVar17->file_).name_._M_string_length = 0;\n    (pIVar17->file_).name_.field_2._M_local_buf[0] = '\0';\n    (pIVar17->file_).descriptor_ = -1;\n    (pIVar17->file_).is_descriptor_opened_ = false;\n    (pIVar17->file_).object_count_ = 0;\n    *(undefined4 *)&(pIVar17->file_).size_ = 0;\n    *(undefined4 *)((int)&(pIVar17->file_).size_ + 4) = 0;\n    (pIVar17->file_).token_.is_blocker_ = false;\n    (pIVar17->file_).token_.blockers_ = 0;\n    (pIVar17->file_).token_.writer_ = (Task *)0x0;\n    (pIVar17->file_).token_.waiting_.head_ = (Task *)0x0;\n    (pIVar17->file_).token_.waiting_.tail_ = (Task *)0x0;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;\n    (pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n    _M_node._M_size = 0;\n    (pIVar17->file_).mapped_bytes_ = 0;\n    (pIVar17->file_).released_ = true;\n    (pIVar17->file_).whole_file_view_ = (View *)0x0;\n    pIVar17->is_in_sysroot_ = false;\n    pIVar17->format_ = FORMAT_NONE;\n    *input_file = pIVar17;\n    dummy_1 = 0;\n    iVar18 = Input_file::open(pIVar17,(char *)this->dirpath_,(int)(this->super_Library_base).task_,\n                              &dummy_1);\n    if ((char)iVar18 == '\0') {\n      return false;\n    }\n    this_01 = (Archive *)operator_new(0xd8);\n                    /* try { // try from 0007a079 to 0007a07d has its CatchHandler @ 0007a162 */\n    Archive(this_01,member_name,*input_file,false,this->dirpath_,(this->super_Library_base).task_);\n    setup(this_01);\n    pcVar23 = (member_name->_M_dataplus)._M_p;\n    dummy = (int)local_30;\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy,\n                        pcVar23,pcVar23 + member_name->_M_string_length,0);\n    local_20 = this_01;\n                    /* try { // try from 0007a0ba to 0007a0be has its CatchHandler @ 0007a15b */\n    std::\n    _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_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,_false,_true>_>\n    ::\n    _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>\n              ((_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffac,&this->nested_archives_,0,\n               (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy);\n    if ((undefined1 *)dummy != local_30) {\n      operator_delete((void *)dummy);\n    }\n    if (local_50 == '\0') {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/archive.cc",0x288,"get_file_and_offset");\n    }\n  }\n  else {\n    this_01 = (Archive *)p_Var11->_M_nxt[7]._M_nxt;\n  }\n  bVar8 = get_file_and_offset(this_01,CONCAT44(nested_off._4_4_,(int)nested_off),input_file,memoff,\n                              memsize,member_name);\n  return bVar8;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Archive::" identifier : : identifier : :) (function_declarator "get_file_and_offset\n          (Archive *this,off_t off,Input_file **input_file,off_t *memoff,off_t *memsize,\n          string *member_name)" identifier (parameter_list "(Archive *this,off_t off,Input_file **input_file,off_t *memoff,off_t *memsize,\n          string *member_name)" ( (parameter_declaration "Archive *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "off_t off" type_identifier identifier) , (parameter_declaration "Input_file **input_file" type_identifier (pointer_declarator "**input_file" * (pointer_declarator "*input_file" * identifier))) , (parameter_declaration "off_t *memoff" type_identifier (pointer_declarator "*memoff" * identifier)) , (parameter_declaration "off_t *memsize" type_identifier (pointer_declarator "*memsize" * identifier)) , (parameter_declaration "string *member_name" type_identifier (pointer_declarator "*member_name" * identifier)) ))) (compound_statement "{\n  _Rb_tree_header *p_Var1;\n  Saved_views *pSVar2;\n  _func_int_varargs *p_Var3;\n  General_options *this_00;\n  Incremental_disposition IVar4;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar5;\n  undefined2 uVar6;\n  undefined3 uVar7;\n  bool bVar8;\n  char *pcVar9;\n  uint uVar10;\n  __node_base *p_Var11;\n  Position_dependent_options *pPVar12;\n  Input_file_argument *pIVar13;\n  char *pcVar14;\n  size_t sVar15;\n  Object_format OVar16;\n  Input_file *pIVar17;\n  int iVar18;\n  Archive *this_01;\n  File_read *pFVar19;\n  uint uVar20;\n  off_t oVar21;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar22;\n  pointer pcVar23;\n  char local_50;\n  int dummy_1;\n  off_t nested_off;\n  int dummy;\n  uint local_34;\n  undefined1 local_30 [16];\n  Archive *local_20;\n  \n  oVar21 = read_header(this,off,false,member_name,&nested_off);\n  *memsize = oVar21;\n  if (oVar21 == -1) {\n    return false;\n  }\n  *input_file = this->input_file_;\n  bVar8 = this->is_thin_archive_;\n  *memoff = off + 0x3c;\n  if (bVar8 == false) {\n    return true;\n  }\n  pcVar14 = (member_name->_M_dataplus)._M_p;\n  if (*pcVar14 != '/') {\n    p_Var3 = (this->super_Library_base)._vptr_Library_base[2];\n    if (p_Var3 == do_filename) {\n      pFVar19 = &this->input_file_->file_;\n    }\n    else {\n      pFVar19 = (File_read *)(*p_Var3)(this);\n    }\n    pcVar14 = (pFVar19->name_)._M_dataplus._M_p;\n    pcVar9 = lbasename(pcVar14);\n    if (pcVar14 < pcVar9) {\n      p_Var3 = (this->super_Library_base)._vptr_Library_base[2];\n      if (p_Var3 == do_filename) {\n        pFVar19 = &this->input_file_->file_;\n      }\n      else {\n        pFVar19 = (File_read *)(*p_Var3)(this);\n      }\n      pcVar23 = (pFVar19->name_)._M_dataplus._M_p;\n      uVar10 = (pFVar19->name_)._M_string_length;\n      uVar20 = (int)pcVar9 - (int)pcVar14;\n      if (uVar10 < (uint)((int)pcVar9 - (int)pcVar14)) {\n        uVar20 = uVar10;\n      }\n      dummy = (int)local_30;\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>\n                ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy,pcVar23\n                 ,pcVar23 + uVar20,0);\n                    /* try { // try from 00079bec to 00079bf0 has its CatchHandler @ 0007a14d */\n      std::string::_M_replace((string *)member_name,0,0,(char *)dummy,local_34);\n      if ((undefined1 *)dummy != local_30) {\n        operator_delete((void *)dummy);\n      }\n    }\n    pcVar14 = (member_name->_M_dataplus)._M_p;\n  }\n  if ((int)(uint)((int)nested_off != 0) <= -nested_off._4_4_) {\n    pPVar12 = Input_file::options(this->input_file_);\n    pIVar13 = (Input_file_argument *)operator_new(0x4c);\n    (pIVar13->name_)._M_dataplus._M_p = (pointer)&(pIVar13->name_).field_2;\n    pcVar9 = (char *)0xffffffff;\n    if (pcVar14 != (char *)0x0) {\n      sVar15 = strlen(pcVar14);\n      pcVar9 = pcVar14 + sVar15;\n    }\n                    /* try { // try from 00079ce7 to 00079ceb has its CatchHandler @ 0007a169 */\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>\n              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)pIVar13,pcVar14,\n               pcVar9,0);\n    pIVar13->type_ = INPUT_FILE_TYPE_FILE;\n    (pIVar13->extra_search_path_)._M_dataplus._M_p = (pointer)&(pIVar13->extra_search_path_).field_2\n    ;\n                    /* try { // try from 00079d0d to 00079d11 has its CatchHandler @ 0007a170 */\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&pIVar13->extra_search_path_,"","",0);\n    pIVar13->just_symbols_ = false;\n    bVar8 = pPVar12->Bdynamic_;\n    uVar6 = *(undefined2 *)&pPVar12->field_0x2;\n    (pIVar13->options_).as_needed_ = pPVar12->as_needed_;\n    (pIVar13->options_).Bdynamic_ = bVar8;\n    *(undefined2 *)&(pIVar13->options_).field_0x2 = uVar6;\n    (pIVar13->options_).format_enum_ = pPVar12->format_enum_;\n    uVar7 = *(undefined3 *)&pPVar12->field_0x9;\n    (pIVar13->options_).whole_archive_ = pPVar12->whole_archive_;\n    *(undefined3 *)&(pIVar13->options_).field_0x9 = uVar7;\n    IVar4 = pPVar12->incremental_disposition_;\n    pIVar13->arg_serial_ = 0;\n    (pIVar13->options_).incremental_disposition_ = IVar4;\n    pIVar17 = (Input_file *)operator_new(0x94);\n    pIVar17->input_argument_ = pIVar13;\n    (pIVar17->found_name_)._M_dataplus._M_p = (pointer)&(pIVar17->found_name_).field_2;\n    (pIVar17->file_).name_._M_dataplus._M_p = (pointer)&(pIVar17->file_).name_.field_2;\n    p_Var1 = &(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left =\n         &p_Var1->_M_header;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_right =\n         &p_Var1->_M_header;\n    pSVar2 = &(pIVar17->file_).saved_views_;\n    (pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_prev = (_List_node_base *)pSVar2;\n    (pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_next = (_List_node_base *)pSVar2;\n    (pIVar17->found_name_)._M_string_length = 0;\n    (pIVar17->found_name_).field_2._M_local_buf[0] = '\0';\n    (pIVar17->file_).name_._M_string_length = 0;\n    (pIVar17->file_).name_.field_2._M_local_buf[0] = '\0';\n    (pIVar17->file_).descriptor_ = -1;\n    (pIVar17->file_).is_descriptor_opened_ = false;\n    (pIVar17->file_).object_count_ = 0;\n    *(undefined4 *)&(pIVar17->file_).size_ = 0;\n    *(undefined4 *)((int)&(pIVar17->file_).size_ + 4) = 0;\n    (pIVar17->file_).token_.is_blocker_ = false;\n    (pIVar17->file_).token_.blockers_ = 0;\n    (pIVar17->file_).token_.writer_ = (Task *)0x0;\n    (pIVar17->file_).token_.waiting_.head_ = (Task *)0x0;\n    (pIVar17->file_).token_.waiting_.tail_ = (Task *)0x0;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;\n    (pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n    _M_node._M_size = 0;\n    (pIVar17->file_).mapped_bytes_ = 0;\n    (pIVar17->file_).released_ = true;\n    (pIVar17->file_).whole_file_view_ = (View *)0x0;\n    pIVar17->is_in_sysroot_ = false;\n    pIVar17->format_ = FORMAT_NONE;\n    *input_file = pIVar17;\n    dummy = 0;\n    iVar18 = Input_file::open(pIVar17,(char *)this->dirpath_,(int)(this->super_Library_base).task_,\n                              &dummy);\n    if (SUB41(iVar18,0) == false) {\n      return false;\n    }\n    *(undefined4 *)memoff = 0;\n    *(undefined4 *)((int)memoff + 4) = 0;\n    oVar21 = ((*input_file)->file_).size_;\n    *(undefined4 *)((int)memsize + 4) = *(undefined4 *)((int)&((*input_file)->file_).size_ + 4);\n    *(int *)memsize = (int)oVar21;\n    return SUB41(iVar18,0);\n  }\n  uVar10 = std::_Hash_bytes(pcVar14,member_name->_M_string_length,0xc70f6907);\n  p_Var11 = std::\n            _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_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,_false,_true>_>\n            ::_M_find_before_node\n                      ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_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,_false,_true>_>\n                        *)&this->nested_archives_,\n                       uVar10 % (this->nested_archives_)._M_h._M_bucket_count,member_name,uVar10);\n  if ((p_Var11 == (__node_base *)0x0) || (p_Var11->_M_nxt == (_Hash_node_base *)0x0)) {\n    this_00 = parameters->options_;\n    if (this_00 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n    pcVar23 = (member_name->_M_dataplus)._M_p;\n    pIVar13 = (Input_file_argument *)operator_new(0x4c);\n    paVar22 = &(pIVar13->name_).field_2;\n    (pIVar13->name_)._M_dataplus._M_p = (pointer)paVar22;\n    pcVar14 = (char *)0xffffffff;\n    if (pcVar23 != (char *)0x0) {\n      sVar15 = strlen(pcVar23);\n      pcVar14 = pcVar23 + sVar15;\n    }\n                    /* try { // try from 00079ee0 to 00079ee4 has its CatchHandler @ 0007a154 */\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>\n              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)pIVar13,pcVar23,\n               pcVar14,0,paVar22);\n    paVar5 = &(pIVar13->extra_search_path_).field_2;\n    pIVar13->type_ = INPUT_FILE_TYPE_FILE;\n    (pIVar13->extra_search_path_)._M_dataplus._M_p = (pointer)paVar5;\n                    /* try { // try from 00079f09 to 00079f0d has its CatchHandler @ 0007a17e */\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&pIVar13->extra_search_path_,"","",0,paVar22,paVar5);\n    pIVar13->just_symbols_ = false;\n    (pIVar13->options_).as_needed_ = (this_00->as_needed_).value;\n    (pIVar13->options_).Bdynamic_ = (this_00->Bdynamic_).value;\n                    /* try { // try from 00079f2f to 00079f33 has its CatchHandler @ 0007a177 */\n    OVar16 = General_options::format_enum(this_00);\n    (pIVar13->options_).format_enum_ = OVar16;\n    (pIVar13->options_).whole_archive_ = (this_00->whole_archive_).value;\n    IVar4 = this_00->incremental_disposition_;\n    pIVar13->arg_serial_ = 0;\n    (pIVar13->options_).incremental_disposition_ = IVar4;\n    pIVar17 = (Input_file *)operator_new(0x94);\n    pIVar17->input_argument_ = pIVar13;\n    (pIVar17->found_name_)._M_dataplus._M_p = (pointer)&(pIVar17->found_name_).field_2;\n    (pIVar17->file_).name_._M_dataplus._M_p = (pointer)&(pIVar17->file_).name_.field_2;\n    p_Var1 = &(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left =\n         &p_Var1->_M_header;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_right =\n         &p_Var1->_M_header;\n    pSVar2 = &(pIVar17->file_).saved_views_;\n    (pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_prev = (_List_node_base *)pSVar2;\n    (pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_next = (_List_node_base *)pSVar2;\n    (pIVar17->found_name_)._M_string_length = 0;\n    (pIVar17->found_name_).field_2._M_local_buf[0] = '\0';\n    (pIVar17->file_).name_._M_string_length = 0;\n    (pIVar17->file_).name_.field_2._M_local_buf[0] = '\0';\n    (pIVar17->file_).descriptor_ = -1;\n    (pIVar17->file_).is_descriptor_opened_ = false;\n    (pIVar17->file_).object_count_ = 0;\n    *(undefined4 *)&(pIVar17->file_).size_ = 0;\n    *(undefined4 *)((int)&(pIVar17->file_).size_ + 4) = 0;\n    (pIVar17->file_).token_.is_blocker_ = false;\n    (pIVar17->file_).token_.blockers_ = 0;\n    (pIVar17->file_).token_.writer_ = (Task *)0x0;\n    (pIVar17->file_).token_.waiting_.head_ = (Task *)0x0;\n    (pIVar17->file_).token_.waiting_.tail_ = (Task *)0x0;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;\n    (pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n    _M_node._M_size = 0;\n    (pIVar17->file_).mapped_bytes_ = 0;\n    (pIVar17->file_).released_ = true;\n    (pIVar17->file_).whole_file_view_ = (View *)0x0;\n    pIVar17->is_in_sysroot_ = false;\n    pIVar17->format_ = FORMAT_NONE;\n    *input_file = pIVar17;\n    dummy_1 = 0;\n    iVar18 = Input_file::open(pIVar17,(char *)this->dirpath_,(int)(this->super_Library_base).task_,\n                              &dummy_1);\n    if ((char)iVar18 == '\0') {\n      return false;\n    }\n    this_01 = (Archive *)operator_new(0xd8);\n                    /* try { // try from 0007a079 to 0007a07d has its CatchHandler @ 0007a162 */\n    Archive(this_01,member_name,*input_file,false,this->dirpath_,(this->super_Library_base).task_);\n    setup(this_01);\n    pcVar23 = (member_name->_M_dataplus)._M_p;\n    dummy = (int)local_30;\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy,\n                        pcVar23,pcVar23 + member_name->_M_string_length,0);\n    local_20 = this_01;\n                    /* try { // try from 0007a0ba to 0007a0be has its CatchHandler @ 0007a15b */\n    std::\n    _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_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,_false,_true>_>\n    ::\n    _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>\n              ((_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffac,&this->nested_archives_,0,\n               (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy);\n    if ((undefined1 *)dummy != local_30) {\n      operator_delete((void *)dummy);\n    }\n    if (local_50 == '\0') {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/archive.cc",0x288,"get_file_and_offset");\n    }\n  }\n  else {\n    this_01 = (Archive *)p_Var11->_M_nxt[7]._M_nxt;\n  }\n  bVar8 = get_file_and_offset(this_01,CONCAT44(nested_off._4_4_,(int)nested_off),input_file,memoff,\n                              memsize,member_name);\n  return bVar8;\n}" { (declaration "_Rb_tree_header *p_Var1;" type_identifier (pointer_declarator "*p_Var1" * identifier) ;) (declaration "Saved_views *pSVar2;" type_identifier (pointer_declarator "*pSVar2" * identifier) ;) (declaration "_func_int_varargs *p_Var3;" type_identifier (pointer_declarator "*p_Var3" * identifier) ;) (declaration "General_options *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "Incremental_disposition IVar4;" type_identifier 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  *paVar5;" (binary_expression "allocator<char>_>_9\n  *paVar5" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n  *paVar5" identifier * identifier)) ;) (declaration "undefined2 uVar6;" type_identifier identifier ;) (declaration "undefined3 uVar7;" type_identifier identifier ;) (declaration "bool bVar8;" primitive_type identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "__node_base *p_Var11;" type_identifier (pointer_declarator "*p_Var11" * identifier) ;) (declaration "Position_dependent_options *pPVar12;" type_identifier (pointer_declarator "*pPVar12" * identifier) ;) (declaration "Input_file_argument *pIVar13;" type_identifier (pointer_declarator "*pIVar13" * identifier) ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "size_t sVar15;" primitive_type identifier ;) (declaration "Object_format OVar16;" type_identifier identifier ;) (declaration "Input_file *pIVar17;" type_identifier (pointer_declarator "*pIVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "Archive *this_01;" type_identifier (pointer_declarator "*this_01" * identifier) ;) (declaration "File_read *pFVar19;" type_identifier (pointer_declarator "*pFVar19" * identifier) ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "off_t oVar21;" type_identifier 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  *paVar22;" (binary_expression "allocator<char>_>_9\n  *paVar22" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n  *paVar22" identifier * identifier)) ;) (declaration "pointer pcVar23;" type_identifier identifier ;) (declaration "char local_50;" primitive_type identifier ;) (declaration "int dummy_1;" primitive_type identifier ;) (declaration "off_t nested_off;" type_identifier identifier ;) (declaration "int dummy;" primitive_type identifier ;) (declaration "uint local_34;" type_identifier identifier ;) (declaration "undefined1 local_30 [16];" type_identifier (array_declarator "local_30 [16]" identifier [ number_literal ]) ;) (declaration "Archive *local_20;" type_identifier (pointer_declarator "*local_20" * identifier) ;) (expression_statement "oVar21 = read_header(this,off,false,member_name,&nested_off);" (assignment_expression "oVar21 = read_header(this,off,false,member_name,&nested_off)" identifier = (call_expression "read_header(this,off,false,member_name,&nested_off)" identifier (argument_list "(this,off,false,member_name,&nested_off)" ( identifier , identifier , false , identifier , (pointer_expression "&nested_off" & identifier) )))) ;) (expression_statement "*memsize = oVar21;" (assignment_expression "*memsize = oVar21" (pointer_expression "*memsize" * identifier) = identifier) ;) (if_statement "if (oVar21 == -1) {\n    return false;\n  }" if (parenthesized_expression "(oVar21 == -1)" ( (binary_expression "oVar21 == -1" identifier == number_literal) )) (compound_statement "{\n    return false;\n  }" { (return_statement "return false;" return false ;) })) (expression_statement "*input_file = this->input_file_;" (assignment_expression "*input_file = this->input_file_" (pointer_expression "*input_file" * identifier) = (field_expression "this->input_file_" identifier -> field_identifier)) ;) (expression_statement "bVar8 = this->is_thin_archive_;" (assignment_expression "bVar8 = this->is_thin_archive_" identifier = (field_expression "this->is_thin_archive_" identifier -> field_identifier)) ;) (expression_statement "*memoff = off + 0x3c;" (assignment_expression "*memoff = off + 0x3c" (pointer_expression "*memoff" * identifier) = (binary_expression "off + 0x3c" identifier + number_literal)) ;) (if_statement "if (bVar8 == false) {\n    return true;\n  }" if (parenthesized_expression "(bVar8 == false)" ( (binary_expression "bVar8 == false" identifier == false) )) (compound_statement "{\n    return true;\n  }" { (return_statement "return true;" return true ;) })) (expression_statement "pcVar14 = (member_name->_M_dataplus)._M_p;" (assignment_expression "pcVar14 = (member_name->_M_dataplus)._M_p" identifier = (field_expression "(member_name->_M_dataplus)._M_p" (parenthesized_expression "(member_name->_M_dataplus)" ( (field_expression "member_name->_M_dataplus" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (*pcVar14 != '/') {\n    p_Var3 = (this->super_Library_base)._vptr_Library_base[2];\n    if (p_Var3 == do_filename) {\n      pFVar19 = &this->input_file_->file_;\n    }\n    else {\n      pFVar19 = (File_read *)(*p_Var3)(this);\n    }\n    pcVar14 = (pFVar19->name_)._M_dataplus._M_p;\n    pcVar9 = lbasename(pcVar14);\n    if (pcVar14 < pcVar9) {\n      p_Var3 = (this->super_Library_base)._vptr_Library_base[2];\n      if (p_Var3 == do_filename) {\n        pFVar19 = &this->input_file_->file_;\n      }\n      else {\n        pFVar19 = (File_read *)(*p_Var3)(this);\n      }\n      pcVar23 = (pFVar19->name_)._M_dataplus._M_p;\n      uVar10 = (pFVar19->name_)._M_string_length;\n      uVar20 = (int)pcVar9 - (int)pcVar14;\n      if (uVar10 < (uint)((int)pcVar9 - (int)pcVar14)) {\n        uVar20 = uVar10;\n      }\n      dummy = (int)local_30;\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>\n                ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy,pcVar23\n                 ,pcVar23 + uVar20,0);\n                    /* try { // try from 00079bec to 00079bf0 has its CatchHandler @ 0007a14d */\n      std::string::_M_replace((string *)member_name,0,0,(char *)dummy,local_34);\n      if ((undefined1 *)dummy != local_30) {\n        operator_delete((void *)dummy);\n      }\n    }\n    pcVar14 = (member_name->_M_dataplus)._M_p;\n  }" if (parenthesized_expression "(*pcVar14 != '/')" ( (binary_expression "*pcVar14 != '/'" (pointer_expression "*pcVar14" * identifier) != (char_literal "'/'" ' character ')) )) (compound_statement "{\n    p_Var3 = (this->super_Library_base)._vptr_Library_base[2];\n    if (p_Var3 == do_filename) {\n      pFVar19 = &this->input_file_->file_;\n    }\n    else {\n      pFVar19 = (File_read *)(*p_Var3)(this);\n    }\n    pcVar14 = (pFVar19->name_)._M_dataplus._M_p;\n    pcVar9 = lbasename(pcVar14);\n    if (pcVar14 < pcVar9) {\n      p_Var3 = (this->super_Library_base)._vptr_Library_base[2];\n      if (p_Var3 == do_filename) {\n        pFVar19 = &this->input_file_->file_;\n      }\n      else {\n        pFVar19 = (File_read *)(*p_Var3)(this);\n      }\n      pcVar23 = (pFVar19->name_)._M_dataplus._M_p;\n      uVar10 = (pFVar19->name_)._M_string_length;\n      uVar20 = (int)pcVar9 - (int)pcVar14;\n      if (uVar10 < (uint)((int)pcVar9 - (int)pcVar14)) {\n        uVar20 = uVar10;\n      }\n      dummy = (int)local_30;\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>\n                ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy,pcVar23\n                 ,pcVar23 + uVar20,0);\n                    /* try { // try from 00079bec to 00079bf0 has its CatchHandler @ 0007a14d */\n      std::string::_M_replace((string *)member_name,0,0,(char *)dummy,local_34);\n      if ((undefined1 *)dummy != local_30) {\n        operator_delete((void *)dummy);\n      }\n    }\n    pcVar14 = (member_name->_M_dataplus)._M_p;\n  }" { (expression_statement "p_Var3 = (this->super_Library_base)._vptr_Library_base[2];" (assignment_expression "p_Var3 = (this->super_Library_base)._vptr_Library_base[2]" identifier = (subscript_expression "(this->super_Library_base)._vptr_Library_base[2]" (field_expression "(this->super_Library_base)._vptr_Library_base" (parenthesized_expression "(this->super_Library_base)" ( (field_expression "this->super_Library_base" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var3 == do_filename) {\n      pFVar19 = &this->input_file_->file_;\n    }\n    else {\n      pFVar19 = (File_read *)(*p_Var3)(this);\n    }" if (parenthesized_expression "(p_Var3 == do_filename)" ( (binary_expression "p_Var3 == do_filename" identifier == identifier) )) (compound_statement "{\n      pFVar19 = &this->input_file_->file_;\n    }" { (expression_statement "pFVar19 = &this->input_file_->file_;" (assignment_expression "pFVar19 = &this->input_file_->file_" identifier = (pointer_expression "&this->input_file_->file_" & (field_expression "this->input_file_->file_" (field_expression "this->input_file_" identifier -> field_identifier) -> field_identifier))) ;) }) (else_clause "else {\n      pFVar19 = (File_read *)(*p_Var3)(this);\n    }" else (compound_statement "{\n      pFVar19 = (File_read *)(*p_Var3)(this);\n    }" { (expression_statement "pFVar19 = (File_read *)(*p_Var3)(this);" (assignment_expression "pFVar19 = (File_read *)(*p_Var3)(this)" identifier = (cast_expression "(File_read *)(*p_Var3)(this)" ( (type_descriptor "File_read *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*p_Var3)(this)" (parenthesized_expression "(*p_Var3)" ( (pointer_expression "*p_Var3" * identifier) )) (argument_list "(this)" ( identifier ))))) ;) }))) (expression_statement "pcVar14 = (pFVar19->name_)._M_dataplus._M_p;" (assignment_expression "pcVar14 = (pFVar19->name_)._M_dataplus._M_p" identifier = (field_expression "(pFVar19->name_)._M_dataplus._M_p" (field_expression "(pFVar19->name_)._M_dataplus" (parenthesized_expression "(pFVar19->name_)" ( (field_expression "pFVar19->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "pcVar9 = lbasename(pcVar14);" (assignment_expression "pcVar9 = lbasename(pcVar14)" identifier = (call_expression "lbasename(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier )))) ;) (if_statement "if (pcVar14 < pcVar9) {\n      p_Var3 = (this->super_Library_base)._vptr_Library_base[2];\n      if (p_Var3 == do_filename) {\n        pFVar19 = &this->input_file_->file_;\n      }\n      else {\n        pFVar19 = (File_read *)(*p_Var3)(this);\n      }\n      pcVar23 = (pFVar19->name_)._M_dataplus._M_p;\n      uVar10 = (pFVar19->name_)._M_string_length;\n      uVar20 = (int)pcVar9 - (int)pcVar14;\n      if (uVar10 < (uint)((int)pcVar9 - (int)pcVar14)) {\n        uVar20 = uVar10;\n      }\n      dummy = (int)local_30;\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>\n                ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy,pcVar23\n                 ,pcVar23 + uVar20,0);\n                    /* try { // try from 00079bec to 00079bf0 has its CatchHandler @ 0007a14d */\n      std::string::_M_replace((string *)member_name,0,0,(char *)dummy,local_34);\n      if ((undefined1 *)dummy != local_30) {\n        operator_delete((void *)dummy);\n      }\n    }" if (parenthesized_expression "(pcVar14 < pcVar9)" ( (binary_expression "pcVar14 < pcVar9" identifier < identifier) )) (compound_statement "{\n      p_Var3 = (this->super_Library_base)._vptr_Library_base[2];\n      if (p_Var3 == do_filename) {\n        pFVar19 = &this->input_file_->file_;\n      }\n      else {\n        pFVar19 = (File_read *)(*p_Var3)(this);\n      }\n      pcVar23 = (pFVar19->name_)._M_dataplus._M_p;\n      uVar10 = (pFVar19->name_)._M_string_length;\n      uVar20 = (int)pcVar9 - (int)pcVar14;\n      if (uVar10 < (uint)((int)pcVar9 - (int)pcVar14)) {\n        uVar20 = uVar10;\n      }\n      dummy = (int)local_30;\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>\n                ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy,pcVar23\n                 ,pcVar23 + uVar20,0);\n                    /* try { // try from 00079bec to 00079bf0 has its CatchHandler @ 0007a14d */\n      std::string::_M_replace((string *)member_name,0,0,(char *)dummy,local_34);\n      if ((undefined1 *)dummy != local_30) {\n        operator_delete((void *)dummy);\n      }\n    }" { (expression_statement "p_Var3 = (this->super_Library_base)._vptr_Library_base[2];" (assignment_expression "p_Var3 = (this->super_Library_base)._vptr_Library_base[2]" identifier = (subscript_expression "(this->super_Library_base)._vptr_Library_base[2]" (field_expression "(this->super_Library_base)._vptr_Library_base" (parenthesized_expression "(this->super_Library_base)" ( (field_expression "this->super_Library_base" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var3 == do_filename) {\n        pFVar19 = &this->input_file_->file_;\n      }\n      else {\n        pFVar19 = (File_read *)(*p_Var3)(this);\n      }" if (parenthesized_expression "(p_Var3 == do_filename)" ( (binary_expression "p_Var3 == do_filename" identifier == identifier) )) (compound_statement "{\n        pFVar19 = &this->input_file_->file_;\n      }" { (expression_statement "pFVar19 = &this->input_file_->file_;" (assignment_expression "pFVar19 = &this->input_file_->file_" identifier = (pointer_expression "&this->input_file_->file_" & (field_expression "this->input_file_->file_" (field_expression "this->input_file_" identifier -> field_identifier) -> field_identifier))) ;) }) (else_clause "else {\n        pFVar19 = (File_read *)(*p_Var3)(this);\n      }" else (compound_statement "{\n        pFVar19 = (File_read *)(*p_Var3)(this);\n      }" { (expression_statement "pFVar19 = (File_read *)(*p_Var3)(this);" (assignment_expression "pFVar19 = (File_read *)(*p_Var3)(this)" identifier = (cast_expression "(File_read *)(*p_Var3)(this)" ( (type_descriptor "File_read *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*p_Var3)(this)" (parenthesized_expression "(*p_Var3)" ( (pointer_expression "*p_Var3" * identifier) )) (argument_list "(this)" ( identifier ))))) ;) }))) (expression_statement "pcVar23 = (pFVar19->name_)._M_dataplus._M_p;" (assignment_expression "pcVar23 = (pFVar19->name_)._M_dataplus._M_p" identifier = (field_expression "(pFVar19->name_)._M_dataplus._M_p" (field_expression "(pFVar19->name_)._M_dataplus" (parenthesized_expression "(pFVar19->name_)" ( (field_expression "pFVar19->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "uVar10 = (pFVar19->name_)._M_string_length;" (assignment_expression "uVar10 = (pFVar19->name_)._M_string_length" identifier = (field_expression "(pFVar19->name_)._M_string_length" (parenthesized_expression "(pFVar19->name_)" ( (field_expression "pFVar19->name_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar20 = (int)pcVar9 - (int)pcVar14;" (assignment_expression "uVar20 = (int)pcVar9 - (int)pcVar14" identifier = (binary_expression "(int)pcVar9 - (int)pcVar14" (cast_expression "(int)pcVar9" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar14" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (uVar10 < (uint)((int)pcVar9 - (int)pcVar14)) {\n        uVar20 = uVar10;\n      }" if (parenthesized_expression "(uVar10 < (uint)((int)pcVar9 - (int)pcVar14))" ( (binary_expression "uVar10 < (uint)((int)pcVar9 - (int)pcVar14)" identifier < (call_expression "(uint)((int)pcVar9 - (int)pcVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pcVar9 - (int)pcVar14)" ( (binary_expression "(int)pcVar9 - (int)pcVar14" (cast_expression "(int)pcVar9" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) (compound_statement "{\n        uVar20 = uVar10;\n      }" { (expression_statement "uVar20 = uVar10;" (assignment_expression "uVar20 = uVar10" identifier = identifier) ;) })) (expression_statement "dummy = (int)local_30;" (assignment_expression "dummy = (int)local_30" identifier = (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>\n                ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy,pcVar23\n                 ,pcVar23 + uVar20,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*>\n                ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy,pcVar23\n                 ,pcVar23 + uVar20,0);" (binary_expression "_M_construct<char_const*>\n                ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy,pcVar23\n                 ,pcVar23 + uVar20,0)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy,pcVar23\n                 ,pcVar23 + uVar20,0)" ( (comma_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy,pcVar23\n                 ,pcVar23 + uVar20,0" (binary_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy" (parenthesized_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)" ( (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) : :) (binary_expression "allocator<char>_> *" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*" * identifier)) )) & identifier) , (comma_expression "pcVar23\n                 ,pcVar23 + uVar20,0" identifier , (comma_expression "pcVar23 + uVar20,0" (binary_expression "pcVar23 + uVar20" identifier + identifier) , number_literal))) ))) ;)) comment (labeled_statement "std::string::_M_replace((string *)member_name,0,0,(char *)dummy,local_34);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_replace((string *)member_name,0,0,(char *)dummy,local_34);" statement_identifier : (ERROR ":" :) (expression_statement "_M_replace((string *)member_name,0,0,(char *)dummy,local_34);" (call_expression "_M_replace((string *)member_name,0,0,(char *)dummy,local_34)" identifier (argument_list "((string *)member_name,0,0,(char *)dummy,local_34)" ( (cast_expression "(string *)member_name" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , number_literal , number_literal , (cast_expression "(char *)dummy" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;))) (if_statement "if ((undefined1 *)dummy != local_30) {\n        operator_delete((void *)dummy);\n      }" if (parenthesized_expression "((undefined1 *)dummy != local_30)" ( (binary_expression "(undefined1 *)dummy != local_30" (cast_expression "(undefined1 *)dummy" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) (compound_statement "{\n        operator_delete((void *)dummy);\n      }" { (expression_statement "operator_delete((void *)dummy);" (call_expression "operator_delete((void *)dummy)" identifier (argument_list "((void *)dummy)" ( (cast_expression "(void *)dummy" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) })) })) (expression_statement "pcVar14 = (member_name->_M_dataplus)._M_p;" (assignment_expression "pcVar14 = (member_name->_M_dataplus)._M_p" identifier = (field_expression "(member_name->_M_dataplus)._M_p" (parenthesized_expression "(member_name->_M_dataplus)" ( (field_expression "member_name->_M_dataplus" identifier -> field_identifier) )) . field_identifier)) ;) })) (if_statement "if ((int)(uint)((int)nested_off != 0) <= -nested_off._4_4_) {\n    pPVar12 = Input_file::options(this->input_file_);\n    pIVar13 = (Input_file_argument *)operator_new(0x4c);\n    (pIVar13->name_)._M_dataplus._M_p = (pointer)&(pIVar13->name_).field_2;\n    pcVar9 = (char *)0xffffffff;\n    if (pcVar14 != (char *)0x0) {\n      sVar15 = strlen(pcVar14);\n      pcVar9 = pcVar14 + sVar15;\n    }\n                    /* try { // try from 00079ce7 to 00079ceb has its CatchHandler @ 0007a169 */\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>\n              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)pIVar13,pcVar14,\n               pcVar9,0);\n    pIVar13->type_ = INPUT_FILE_TYPE_FILE;\n    (pIVar13->extra_search_path_)._M_dataplus._M_p = (pointer)&(pIVar13->extra_search_path_).field_2\n    ;\n                    /* try { // try from 00079d0d to 00079d11 has its CatchHandler @ 0007a170 */\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&pIVar13->extra_search_path_,"","",0);\n    pIVar13->just_symbols_ = false;\n    bVar8 = pPVar12->Bdynamic_;\n    uVar6 = *(undefined2 *)&pPVar12->field_0x2;\n    (pIVar13->options_).as_needed_ = pPVar12->as_needed_;\n    (pIVar13->options_).Bdynamic_ = bVar8;\n    *(undefined2 *)&(pIVar13->options_).field_0x2 = uVar6;\n    (pIVar13->options_).format_enum_ = pPVar12->format_enum_;\n    uVar7 = *(undefined3 *)&pPVar12->field_0x9;\n    (pIVar13->options_).whole_archive_ = pPVar12->whole_archive_;\n    *(undefined3 *)&(pIVar13->options_).field_0x9 = uVar7;\n    IVar4 = pPVar12->incremental_disposition_;\n    pIVar13->arg_serial_ = 0;\n    (pIVar13->options_).incremental_disposition_ = IVar4;\n    pIVar17 = (Input_file *)operator_new(0x94);\n    pIVar17->input_argument_ = pIVar13;\n    (pIVar17->found_name_)._M_dataplus._M_p = (pointer)&(pIVar17->found_name_).field_2;\n    (pIVar17->file_).name_._M_dataplus._M_p = (pointer)&(pIVar17->file_).name_.field_2;\n    p_Var1 = &(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left =\n         &p_Var1->_M_header;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_right =\n         &p_Var1->_M_header;\n    pSVar2 = &(pIVar17->file_).saved_views_;\n    (pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_prev = (_List_node_base *)pSVar2;\n    (pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_next = (_List_node_base *)pSVar2;\n    (pIVar17->found_name_)._M_string_length = 0;\n    (pIVar17->found_name_).field_2._M_local_buf[0] = '\0';\n    (pIVar17->file_).name_._M_string_length = 0;\n    (pIVar17->file_).name_.field_2._M_local_buf[0] = '\0';\n    (pIVar17->file_).descriptor_ = -1;\n    (pIVar17->file_).is_descriptor_opened_ = false;\n    (pIVar17->file_).object_count_ = 0;\n    *(undefined4 *)&(pIVar17->file_).size_ = 0;\n    *(undefined4 *)((int)&(pIVar17->file_).size_ + 4) = 0;\n    (pIVar17->file_).token_.is_blocker_ = false;\n    (pIVar17->file_).token_.blockers_ = 0;\n    (pIVar17->file_).token_.writer_ = (Task *)0x0;\n    (pIVar17->file_).token_.waiting_.head_ = (Task *)0x0;\n    (pIVar17->file_).token_.waiting_.tail_ = (Task *)0x0;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;\n    (pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n    _M_node._M_size = 0;\n    (pIVar17->file_).mapped_bytes_ = 0;\n    (pIVar17->file_).released_ = true;\n    (pIVar17->file_).whole_file_view_ = (View *)0x0;\n    pIVar17->is_in_sysroot_ = false;\n    pIVar17->format_ = FORMAT_NONE;\n    *input_file = pIVar17;\n    dummy = 0;\n    iVar18 = Input_file::open(pIVar17,(char *)this->dirpath_,(int)(this->super_Library_base).task_,\n                              &dummy);\n    if (SUB41(iVar18,0) == false) {\n      return false;\n    }\n    *(undefined4 *)memoff = 0;\n    *(undefined4 *)((int)memoff + 4) = 0;\n    oVar21 = ((*input_file)->file_).size_;\n    *(undefined4 *)((int)memsize + 4) = *(undefined4 *)((int)&((*input_file)->file_).size_ + 4);\n    *(int *)memsize = (int)oVar21;\n    return SUB41(iVar18,0);\n  }" if (parenthesized_expression "((int)(uint)((int)nested_off != 0) <= -nested_off._4_4_)" ( (binary_expression "(int)(uint)((int)nested_off != 0) <= -nested_off._4_4_" (cast_expression "(int)(uint)((int)nested_off != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)((int)nested_off != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)nested_off != 0)" ( (binary_expression "(int)nested_off != 0" (cast_expression "(int)nested_off" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) )))) <= (unary_expression "-nested_off._4_4_" - (field_expression "nested_off._4_4_" identifier . field_identifier))) )) (compound_statement "{\n    pPVar12 = Input_file::options(this->input_file_);\n    pIVar13 = (Input_file_argument *)operator_new(0x4c);\n    (pIVar13->name_)._M_dataplus._M_p = (pointer)&(pIVar13->name_).field_2;\n    pcVar9 = (char *)0xffffffff;\n    if (pcVar14 != (char *)0x0) {\n      sVar15 = strlen(pcVar14);\n      pcVar9 = pcVar14 + sVar15;\n    }\n                    /* try { // try from 00079ce7 to 00079ceb has its CatchHandler @ 0007a169 */\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>\n              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)pIVar13,pcVar14,\n               pcVar9,0);\n    pIVar13->type_ = INPUT_FILE_TYPE_FILE;\n    (pIVar13->extra_search_path_)._M_dataplus._M_p = (pointer)&(pIVar13->extra_search_path_).field_2\n    ;\n                    /* try { // try from 00079d0d to 00079d11 has its CatchHandler @ 0007a170 */\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&pIVar13->extra_search_path_,"","",0);\n    pIVar13->just_symbols_ = false;\n    bVar8 = pPVar12->Bdynamic_;\n    uVar6 = *(undefined2 *)&pPVar12->field_0x2;\n    (pIVar13->options_).as_needed_ = pPVar12->as_needed_;\n    (pIVar13->options_).Bdynamic_ = bVar8;\n    *(undefined2 *)&(pIVar13->options_).field_0x2 = uVar6;\n    (pIVar13->options_).format_enum_ = pPVar12->format_enum_;\n    uVar7 = *(undefined3 *)&pPVar12->field_0x9;\n    (pIVar13->options_).whole_archive_ = pPVar12->whole_archive_;\n    *(undefined3 *)&(pIVar13->options_).field_0x9 = uVar7;\n    IVar4 = pPVar12->incremental_disposition_;\n    pIVar13->arg_serial_ = 0;\n    (pIVar13->options_).incremental_disposition_ = IVar4;\n    pIVar17 = (Input_file *)operator_new(0x94);\n    pIVar17->input_argument_ = pIVar13;\n    (pIVar17->found_name_)._M_dataplus._M_p = (pointer)&(pIVar17->found_name_).field_2;\n    (pIVar17->file_).name_._M_dataplus._M_p = (pointer)&(pIVar17->file_).name_.field_2;\n    p_Var1 = &(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left =\n         &p_Var1->_M_header;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_right =\n         &p_Var1->_M_header;\n    pSVar2 = &(pIVar17->file_).saved_views_;\n    (pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_prev = (_List_node_base *)pSVar2;\n    (pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_next = (_List_node_base *)pSVar2;\n    (pIVar17->found_name_)._M_string_length = 0;\n    (pIVar17->found_name_).field_2._M_local_buf[0] = '\0';\n    (pIVar17->file_).name_._M_string_length = 0;\n    (pIVar17->file_).name_.field_2._M_local_buf[0] = '\0';\n    (pIVar17->file_).descriptor_ = -1;\n    (pIVar17->file_).is_descriptor_opened_ = false;\n    (pIVar17->file_).object_count_ = 0;\n    *(undefined4 *)&(pIVar17->file_).size_ = 0;\n    *(undefined4 *)((int)&(pIVar17->file_).size_ + 4) = 0;\n    (pIVar17->file_).token_.is_blocker_ = false;\n    (pIVar17->file_).token_.blockers_ = 0;\n    (pIVar17->file_).token_.writer_ = (Task *)0x0;\n    (pIVar17->file_).token_.waiting_.head_ = (Task *)0x0;\n    (pIVar17->file_).token_.waiting_.tail_ = (Task *)0x0;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;\n    (pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n    _M_node._M_size = 0;\n    (pIVar17->file_).mapped_bytes_ = 0;\n    (pIVar17->file_).released_ = true;\n    (pIVar17->file_).whole_file_view_ = (View *)0x0;\n    pIVar17->is_in_sysroot_ = false;\n    pIVar17->format_ = FORMAT_NONE;\n    *input_file = pIVar17;\n    dummy = 0;\n    iVar18 = Input_file::open(pIVar17,(char *)this->dirpath_,(int)(this->super_Library_base).task_,\n                              &dummy);\n    if (SUB41(iVar18,0) == false) {\n      return false;\n    }\n    *(undefined4 *)memoff = 0;\n    *(undefined4 *)((int)memoff + 4) = 0;\n    oVar21 = ((*input_file)->file_).size_;\n    *(undefined4 *)((int)memsize + 4) = *(undefined4 *)((int)&((*input_file)->file_).size_ + 4);\n    *(int *)memsize = (int)oVar21;\n    return SUB41(iVar18,0);\n  }" { (ERROR "pPVar12 = Input_file::" (assignment_expression "pPVar12 = Input_file" identifier = identifier) : :) (expression_statement "options(this->input_file_);" (call_expression "options(this->input_file_)" identifier (argument_list "(this->input_file_)" ( (field_expression "this->input_file_" identifier -> field_identifier) ))) ;) (expression_statement "pIVar13 = (Input_file_argument *)operator_new(0x4c);" (assignment_expression "pIVar13 = (Input_file_argument *)operator_new(0x4c)" identifier = (cast_expression "(Input_file_argument *)operator_new(0x4c)" ( (type_descriptor "Input_file_argument *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x4c)" identifier (argument_list "(0x4c)" ( number_literal ))))) ;) (expression_statement "(pIVar13->name_)._M_dataplus._M_p = (pointer)&(pIVar13->name_).field_2;" (assignment_expression "(pIVar13->name_)._M_dataplus._M_p = (pointer)&(pIVar13->name_).field_2" (field_expression "(pIVar13->name_)._M_dataplus._M_p" (field_expression "(pIVar13->name_)._M_dataplus" (parenthesized_expression "(pIVar13->name_)" ( (field_expression "pIVar13->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "(pointer)&(pIVar13->name_).field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "(pIVar13->name_).field_2" (parenthesized_expression "(pIVar13->name_)" ( (field_expression "pIVar13->name_" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "pcVar9 = (char *)0xffffffff;" (assignment_expression "pcVar9 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (pcVar14 != (char *)0x0) {\n      sVar15 = strlen(pcVar14);\n      pcVar9 = pcVar14 + sVar15;\n    }" if (parenthesized_expression "(pcVar14 != (char *)0x0)" ( (binary_expression "pcVar14 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      sVar15 = strlen(pcVar14);\n      pcVar9 = pcVar14 + sVar15;\n    }" { (expression_statement "sVar15 = strlen(pcVar14);" (assignment_expression "sVar15 = strlen(pcVar14)" identifier = (call_expression "strlen(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier )))) ;) (expression_statement "pcVar9 = pcVar14 + sVar15;" (assignment_expression "pcVar9 = pcVar14 + sVar15" identifier = (binary_expression "pcVar14 + sVar15" identifier + identifier)) ;) })) comment (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>\n              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)pIVar13,pcVar14,\n               pcVar9,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*>\n              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)pIVar13,pcVar14,\n               pcVar9,0);" (binary_expression "_M_construct<char_const*>\n              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)pIVar13,pcVar14,\n               pcVar9,0)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)pIVar13,pcVar14,\n               pcVar9,0)" ( (parenthesized_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)pIVar13,pcVar14,\n               pcVar9,0)" ( (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) : :) (comma_expression "allocator<char>_> *)pIVar13,pcVar14,\n               pcVar9,0" (binary_expression "allocator<char>_> *)pIVar13" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*)pIVar13" * (ERROR ")" )) identifier)) , (comma_expression "pcVar14,\n               pcVar9,0" identifier , (comma_expression "pcVar9,0" identifier , number_literal))) )) ))) ;)) (expression_statement "pIVar13->type_ = INPUT_FILE_TYPE_FILE;" (assignment_expression "pIVar13->type_ = INPUT_FILE_TYPE_FILE" (field_expression "pIVar13->type_" identifier -> field_identifier) = identifier) ;) (expression_statement "(pIVar13->extra_search_path_)._M_dataplus._M_p = (pointer)&(pIVar13->extra_search_path_).field_2\n    ;" (assignment_expression "(pIVar13->extra_search_path_)._M_dataplus._M_p = (pointer)&(pIVar13->extra_search_path_).field_2" (field_expression "(pIVar13->extra_search_path_)._M_dataplus._M_p" (field_expression "(pIVar13->extra_search_path_)._M_dataplus" (parenthesized_expression "(pIVar13->extra_search_path_)" ( (field_expression "pIVar13->extra_search_path_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "(pointer)&(pIVar13->extra_search_path_).field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "(pIVar13->extra_search_path_).field_2" (parenthesized_expression "(pIVar13->extra_search_path_)" ( (field_expression "pIVar13->extra_search_path_" identifier -> field_identifier) )) . field_identifier))) ;) comment (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&pIVar13->extra_search_path_,"","",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*>(&pIVar13->extra_search_path_,"","",0);" (binary_expression "_M_construct<char_const*>(&pIVar13->extra_search_path_,"","",0)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&pIVar13->extra_search_path_,"","",0)" ( (comma_expression "&pIVar13->extra_search_path_,"","",0" (pointer_expression "&pIVar13->extra_search_path_" & (field_expression "pIVar13->extra_search_path_" identifier -> field_identifier)) , (comma_expression ""","",0" (string_literal """" " ") , (comma_expression """,0" (string_literal """" " ") , number_literal))) ))) ;)) (expression_statement "pIVar13->just_symbols_ = false;" (assignment_expression "pIVar13->just_symbols_ = false" (field_expression "pIVar13->just_symbols_" identifier -> field_identifier) = false) ;) (expression_statement "bVar8 = pPVar12->Bdynamic_;" (assignment_expression "bVar8 = pPVar12->Bdynamic_" identifier = (field_expression "pPVar12->Bdynamic_" identifier -> field_identifier)) ;) (expression_statement "uVar6 = *(undefined2 *)&pPVar12->field_0x2;" (assignment_expression "uVar6 = *(undefined2 *)&pPVar12->field_0x2" identifier = (pointer_expression "*(undefined2 *)&pPVar12->field_0x2" * (cast_expression "(undefined2 *)&pPVar12->field_0x2" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pPVar12->field_0x2" & (field_expression "pPVar12->field_0x2" identifier -> field_identifier))))) ;) (expression_statement "(pIVar13->options_).as_needed_ = pPVar12->as_needed_;" (assignment_expression "(pIVar13->options_).as_needed_ = pPVar12->as_needed_" (field_expression "(pIVar13->options_).as_needed_" (parenthesized_expression "(pIVar13->options_)" ( (field_expression "pIVar13->options_" identifier -> field_identifier) )) . field_identifier) = (field_expression "pPVar12->as_needed_" identifier -> field_identifier)) ;) (expression_statement "(pIVar13->options_).Bdynamic_ = bVar8;" (assignment_expression "(pIVar13->options_).Bdynamic_ = bVar8" (field_expression "(pIVar13->options_).Bdynamic_" (parenthesized_expression "(pIVar13->options_)" ( (field_expression "pIVar13->options_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "*(undefined2 *)&(pIVar13->options_).field_0x2 = uVar6;" (assignment_expression "*(undefined2 *)&(pIVar13->options_).field_0x2 = uVar6" (pointer_expression "*(undefined2 *)&(pIVar13->options_).field_0x2" * (cast_expression "(undefined2 *)&(pIVar13->options_).field_0x2" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pIVar13->options_).field_0x2" & (field_expression "(pIVar13->options_).field_0x2" (parenthesized_expression "(pIVar13->options_)" ( (field_expression "pIVar13->options_" identifier -> field_identifier) )) . field_identifier)))) = identifier) ;) (expression_statement "(pIVar13->options_).format_enum_ = pPVar12->format_enum_;" (assignment_expression "(pIVar13->options_).format_enum_ = pPVar12->format_enum_" (field_expression "(pIVar13->options_).format_enum_" (parenthesized_expression "(pIVar13->options_)" ( (field_expression "pIVar13->options_" identifier -> field_identifier) )) . field_identifier) = (field_expression "pPVar12->format_enum_" identifier -> field_identifier)) ;) (expression_statement "uVar7 = *(undefined3 *)&pPVar12->field_0x9;" (assignment_expression "uVar7 = *(undefined3 *)&pPVar12->field_0x9" identifier = (pointer_expression "*(undefined3 *)&pPVar12->field_0x9" * (cast_expression "(undefined3 *)&pPVar12->field_0x9" ( (type_descriptor "undefined3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pPVar12->field_0x9" & (field_expression "pPVar12->field_0x9" identifier -> field_identifier))))) ;) (expression_statement "(pIVar13->options_).whole_archive_ = pPVar12->whole_archive_;" (assignment_expression "(pIVar13->options_).whole_archive_ = pPVar12->whole_archive_" (field_expression "(pIVar13->options_).whole_archive_" (parenthesized_expression "(pIVar13->options_)" ( (field_expression "pIVar13->options_" identifier -> field_identifier) )) . field_identifier) = (field_expression "pPVar12->whole_archive_" identifier -> field_identifier)) ;) (expression_statement "*(undefined3 *)&(pIVar13->options_).field_0x9 = uVar7;" (assignment_expression "*(undefined3 *)&(pIVar13->options_).field_0x9 = uVar7" (pointer_expression "*(undefined3 *)&(pIVar13->options_).field_0x9" * (cast_expression "(undefined3 *)&(pIVar13->options_).field_0x9" ( (type_descriptor "undefined3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pIVar13->options_).field_0x9" & (field_expression "(pIVar13->options_).field_0x9" (parenthesized_expression "(pIVar13->options_)" ( (field_expression "pIVar13->options_" identifier -> field_identifier) )) . field_identifier)))) = identifier) ;) (expression_statement "IVar4 = pPVar12->incremental_disposition_;" (assignment_expression "IVar4 = pPVar12->incremental_disposition_" identifier = (field_expression "pPVar12->incremental_disposition_" identifier -> field_identifier)) ;) (expression_statement "pIVar13->arg_serial_ = 0;" (assignment_expression "pIVar13->arg_serial_ = 0" (field_expression "pIVar13->arg_serial_" identifier -> field_identifier) = number_literal) ;) (expression_statement "(pIVar13->options_).incremental_disposition_ = IVar4;" (assignment_expression "(pIVar13->options_).incremental_disposition_ = IVar4" (field_expression "(pIVar13->options_).incremental_disposition_" (parenthesized_expression "(pIVar13->options_)" ( (field_expression "pIVar13->options_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "pIVar17 = (Input_file *)operator_new(0x94);" (assignment_expression "pIVar17 = (Input_file *)operator_new(0x94)" identifier = (cast_expression "(Input_file *)operator_new(0x94)" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x94)" identifier (argument_list "(0x94)" ( number_literal ))))) ;) (expression_statement "pIVar17->input_argument_ = pIVar13;" (assignment_expression "pIVar17->input_argument_ = pIVar13" (field_expression "pIVar17->input_argument_" identifier -> field_identifier) = identifier) ;) (expression_statement "(pIVar17->found_name_)._M_dataplus._M_p = (pointer)&(pIVar17->found_name_).field_2;" (assignment_expression "(pIVar17->found_name_)._M_dataplus._M_p = (pointer)&(pIVar17->found_name_).field_2" (field_expression "(pIVar17->found_name_)._M_dataplus._M_p" (field_expression "(pIVar17->found_name_)._M_dataplus" (parenthesized_expression "(pIVar17->found_name_)" ( (field_expression "pIVar17->found_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "(pointer)&(pIVar17->found_name_).field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "(pIVar17->found_name_).field_2" (parenthesized_expression "(pIVar17->found_name_)" ( (field_expression "pIVar17->found_name_" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "(pIVar17->file_).name_._M_dataplus._M_p = (pointer)&(pIVar17->file_).name_.field_2;" (assignment_expression "(pIVar17->file_).name_._M_dataplus._M_p = (pointer)&(pIVar17->file_).name_.field_2" (field_expression "(pIVar17->file_).name_._M_dataplus._M_p" (field_expression "(pIVar17->file_).name_._M_dataplus" (field_expression "(pIVar17->file_).name_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (binary_expression "(pointer)&(pIVar17->file_).name_.field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "(pIVar17->file_).name_.field_2" (field_expression "(pIVar17->file_).name_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (expression_statement "p_Var1 = &(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header;" (assignment_expression "p_Var1 = &(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header" identifier = (pointer_expression "&(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header" & (field_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header" (field_expression "(pIVar17->file_).views_._M_t._M_impl" (field_expression "(pIVar17->file_).views_._M_t" (field_expression "(pIVar17->file_).views_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left =\n         &p_Var1->_M_header;" (assignment_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left =\n         &p_Var1->_M_header" (field_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left" (field_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header" (field_expression "(pIVar17->file_).views_._M_t._M_impl" (field_expression "(pIVar17->file_).views_._M_t" (field_expression "(pIVar17->file_).views_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (pointer_expression "&p_Var1->_M_header" & (field_expression "p_Var1->_M_header" identifier -> field_identifier))) ;) (expression_statement "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_right =\n         &p_Var1->_M_header;" (assignment_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_right =\n         &p_Var1->_M_header" (field_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_right" (field_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header" (field_expression "(pIVar17->file_).views_._M_t._M_impl" (field_expression "(pIVar17->file_).views_._M_t" (field_expression "(pIVar17->file_).views_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (pointer_expression "&p_Var1->_M_header" & (field_expression "p_Var1->_M_header" identifier -> field_identifier))) ;) (expression_statement "pSVar2 = &(pIVar17->file_).saved_views_;" (assignment_expression "pSVar2 = &(pIVar17->file_).saved_views_" identifier = (pointer_expression "&(pIVar17->file_).saved_views_" & (field_expression "(pIVar17->file_).saved_views_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier))) ;) (ERROR "(pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::" (binary_expression "(pIVar17->file_).saved_views_.\n    super__List_base<gold" (field_expression "(pIVar17->file_).saved_views_.\n    super__List_base" (field_expression "(pIVar17->file_).saved_views_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier) : : (comma_expression "File_read::View*,_std" identifier (ERROR "::View*" : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_prev = (_List_node_base *)pSVar2;" (assignment_expression "File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_prev = (_List_node_base *)pSVar2" (field_expression "File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_prev" (field_expression "File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base" (field_expression "File_read::View*>_>._M_impl.\n    _M_node" (field_expression "File_read::View*>_>._M_impl" (binary_expression "File_read::View*>_" identifier (ERROR "::View*" : : identifier *) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_List_node_base *)pSVar2" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (ERROR "(pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::" (binary_expression "(pIVar17->file_).saved_views_.\n    super__List_base<gold" (field_expression "(pIVar17->file_).saved_views_.\n    super__List_base" (field_expression "(pIVar17->file_).saved_views_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier) : : (comma_expression "File_read::View*,_std" identifier (ERROR "::View*" : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_next = (_List_node_base *)pSVar2;" (assignment_expression "File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_next = (_List_node_base *)pSVar2" (field_expression "File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_next" (field_expression "File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base" (field_expression "File_read::View*>_>._M_impl.\n    _M_node" (field_expression "File_read::View*>_>._M_impl" (binary_expression "File_read::View*>_" identifier (ERROR "::View*" : : identifier *) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_List_node_base *)pSVar2" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(pIVar17->found_name_)._M_string_length = 0;" (assignment_expression "(pIVar17->found_name_)._M_string_length = 0" (field_expression "(pIVar17->found_name_)._M_string_length" (parenthesized_expression "(pIVar17->found_name_)" ( (field_expression "pIVar17->found_name_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(pIVar17->found_name_).field_2._M_local_buf[0] = '\0';" (assignment_expression "(pIVar17->found_name_).field_2._M_local_buf[0] = '\0'" (subscript_expression "(pIVar17->found_name_).field_2._M_local_buf[0]" (field_expression "(pIVar17->found_name_).field_2._M_local_buf" (field_expression "(pIVar17->found_name_).field_2" (parenthesized_expression "(pIVar17->found_name_)" ( (field_expression "pIVar17->found_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "(pIVar17->file_).name_._M_string_length = 0;" (assignment_expression "(pIVar17->file_).name_._M_string_length = 0" (field_expression "(pIVar17->file_).name_._M_string_length" (field_expression "(pIVar17->file_).name_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(pIVar17->file_).name_.field_2._M_local_buf[0] = '\0';" (assignment_expression "(pIVar17->file_).name_.field_2._M_local_buf[0] = '\0'" (subscript_expression "(pIVar17->file_).name_.field_2._M_local_buf[0]" (field_expression "(pIVar17->file_).name_.field_2._M_local_buf" (field_expression "(pIVar17->file_).name_.field_2" (field_expression "(pIVar17->file_).name_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "(pIVar17->file_).descriptor_ = -1;" (assignment_expression "(pIVar17->file_).descriptor_ = -1" (field_expression "(pIVar17->file_).descriptor_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(pIVar17->file_).is_descriptor_opened_ = false;" (assignment_expression "(pIVar17->file_).is_descriptor_opened_ = false" (field_expression "(pIVar17->file_).is_descriptor_opened_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) = false) ;) (expression_statement "(pIVar17->file_).object_count_ = 0;" (assignment_expression "(pIVar17->file_).object_count_ = 0" (field_expression "(pIVar17->file_).object_count_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "*(undefined4 *)&(pIVar17->file_).size_ = 0;" (assignment_expression "*(undefined4 *)&(pIVar17->file_).size_ = 0" (pointer_expression "*(undefined4 *)&(pIVar17->file_).size_" * (cast_expression "(undefined4 *)&(pIVar17->file_).size_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pIVar17->file_).size_" & (field_expression "(pIVar17->file_).size_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pIVar17->file_).size_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(pIVar17->file_).size_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(pIVar17->file_).size_ + 4)" * (cast_expression "(undefined4 *)((int)&(pIVar17->file_).size_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pIVar17->file_).size_ + 4)" ( (binary_expression "(int)&(pIVar17->file_).size_ + 4" (cast_expression "(int)&(pIVar17->file_).size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pIVar17->file_).size_" & (field_expression "(pIVar17->file_).size_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "(pIVar17->file_).token_.is_blocker_ = false;" (assignment_expression "(pIVar17->file_).token_.is_blocker_ = false" (field_expression "(pIVar17->file_).token_.is_blocker_" (field_expression "(pIVar17->file_).token_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = false) ;) (expression_statement "(pIVar17->file_).token_.blockers_ = 0;" (assignment_expression "(pIVar17->file_).token_.blockers_ = 0" (field_expression "(pIVar17->file_).token_.blockers_" (field_expression "(pIVar17->file_).token_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(pIVar17->file_).token_.writer_ = (Task *)0x0;" (assignment_expression "(pIVar17->file_).token_.writer_ = (Task *)0x0" (field_expression "(pIVar17->file_).token_.writer_" (field_expression "(pIVar17->file_).token_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(pIVar17->file_).token_.waiting_.head_ = (Task *)0x0;" (assignment_expression "(pIVar17->file_).token_.waiting_.head_ = (Task *)0x0" (field_expression "(pIVar17->file_).token_.waiting_.head_" (field_expression "(pIVar17->file_).token_.waiting_" (field_expression "(pIVar17->file_).token_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(pIVar17->file_).token_.waiting_.tail_ = (Task *)0x0;" (assignment_expression "(pIVar17->file_).token_.waiting_.tail_ = (Task *)0x0" (field_expression "(pIVar17->file_).token_.waiting_.tail_" (field_expression "(pIVar17->file_).token_.waiting_" (field_expression "(pIVar17->file_).token_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;" (assignment_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red" (field_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_color" (field_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header" (field_expression "(pIVar17->file_).views_._M_t._M_impl" (field_expression "(pIVar17->file_).views_._M_t" (field_expression "(pIVar17->file_).views_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0;" (assignment_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0" (field_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" (field_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header" (field_expression "(pIVar17->file_).views_._M_t._M_impl" (field_expression "(pIVar17->file_).views_._M_t" (field_expression "(pIVar17->file_).views_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) ;) (expression_statement "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;" (assignment_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_node_count = 0" (field_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_node_count" (field_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header" (field_expression "(pIVar17->file_).views_._M_t._M_impl" (field_expression "(pIVar17->file_).views_._M_t" (field_expression "(pIVar17->file_).views_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (ERROR "(pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::" (binary_expression "(pIVar17->file_).saved_views_.\n    super__List_base<gold" (field_expression "(pIVar17->file_).saved_views_.\n    super__List_base" (field_expression "(pIVar17->file_).saved_views_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier) : : (comma_expression "File_read::View*,_std" identifier (ERROR "::View*" : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "File_read::View*>_>._M_impl.\n    _M_node._M_size = 0;" (assignment_expression "File_read::View*>_>._M_impl.\n    _M_node._M_size = 0" (field_expression "File_read::View*>_>._M_impl.\n    _M_node._M_size" (field_expression "File_read::View*>_>._M_impl.\n    _M_node" (field_expression "File_read::View*>_>._M_impl" (binary_expression "File_read::View*>_" identifier (ERROR "::View*" : : identifier *) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(pIVar17->file_).mapped_bytes_ = 0;" (assignment_expression "(pIVar17->file_).mapped_bytes_ = 0" (field_expression "(pIVar17->file_).mapped_bytes_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(pIVar17->file_).released_ = true;" (assignment_expression "(pIVar17->file_).released_ = true" (field_expression "(pIVar17->file_).released_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) = true) ;) (expression_statement "(pIVar17->file_).whole_file_view_ = (View *)0x0;" (assignment_expression "(pIVar17->file_).whole_file_view_ = (View *)0x0" (field_expression "(pIVar17->file_).whole_file_view_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(View *)0x0" ( (type_descriptor "View *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pIVar17->is_in_sysroot_ = false;" (assignment_expression "pIVar17->is_in_sysroot_ = false" (field_expression "pIVar17->is_in_sysroot_" identifier -> field_identifier) = false) ;) (expression_statement "pIVar17->format_ = FORMAT_NONE;" (assignment_expression "pIVar17->format_ = FORMAT_NONE" (field_expression "pIVar17->format_" identifier -> field_identifier) = identifier) ;) (expression_statement "*input_file = pIVar17;" (assignment_expression "*input_file = pIVar17" (pointer_expression "*input_file" * identifier) = identifier) ;) (expression_statement "dummy = 0;" (assignment_expression "dummy = 0" identifier = number_literal) ;) (ERROR "iVar18 = Input_file::" (assignment_expression "iVar18 = Input_file" identifier = identifier) : :) (expression_statement "open(pIVar17,(char *)this->dirpath_,(int)(this->super_Library_base).task_,\n                              &dummy);" (call_expression "open(pIVar17,(char *)this->dirpath_,(int)(this->super_Library_base).task_,\n                              &dummy)" identifier (argument_list "(pIVar17,(char *)this->dirpath_,(int)(this->super_Library_base).task_,\n                              &dummy)" ( identifier , (cast_expression "(char *)this->dirpath_" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "this->dirpath_" identifier -> field_identifier)) , (cast_expression "(int)(this->super_Library_base).task_" ( (type_descriptor "int" primitive_type) ) (field_expression "(this->super_Library_base).task_" (parenthesized_expression "(this->super_Library_base)" ( (field_expression "this->super_Library_base" identifier -> field_identifier) )) . field_identifier)) , (pointer_expression "&dummy" & identifier) ))) ;) (if_statement "if (SUB41(iVar18,0) == false) {\n      return false;\n    }" if (parenthesized_expression "(SUB41(iVar18,0) == false)" ( (binary_expression "SUB41(iVar18,0) == false" (call_expression "SUB41(iVar18,0)" identifier (argument_list "(iVar18,0)" ( identifier , number_literal ))) == false) )) (compound_statement "{\n      return false;\n    }" { (return_statement "return false;" return false ;) })) (expression_statement "*(undefined4 *)memoff = 0;" (assignment_expression "*(undefined4 *)memoff = 0" (pointer_expression "*(undefined4 *)memoff" * (cast_expression "(undefined4 *)memoff" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(undefined4 *)((int)memoff + 4) = 0;" (assignment_expression "*(undefined4 *)((int)memoff + 4) = 0" (pointer_expression "*(undefined4 *)((int)memoff + 4)" * (cast_expression "(undefined4 *)((int)memoff + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)memoff + 4)" ( (binary_expression "(int)memoff + 4" (cast_expression "(int)memoff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "oVar21 = ((*input_file)->file_).size_;" (assignment_expression "oVar21 = ((*input_file)->file_).size_" identifier = (field_expression "((*input_file)->file_).size_" (parenthesized_expression "((*input_file)->file_)" ( (field_expression "(*input_file)->file_" (parenthesized_expression "(*input_file)" ( (pointer_expression "*input_file" * identifier) )) -> field_identifier) )) . field_identifier)) ;) (expression_statement "*(undefined4 *)((int)memsize + 4) = *(undefined4 *)((int)&((*input_file)->file_).size_ + 4);" (assignment_expression "*(undefined4 *)((int)memsize + 4) = *(undefined4 *)((int)&((*input_file)->file_).size_ + 4)" (pointer_expression "*(undefined4 *)((int)memsize + 4)" * (cast_expression "(undefined4 *)((int)memsize + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)memsize + 4)" ( (binary_expression "(int)memsize + 4" (cast_expression "(int)memsize" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)&((*input_file)->file_).size_ + 4)" * (cast_expression "(undefined4 *)((int)&((*input_file)->file_).size_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((*input_file)->file_).size_ + 4)" ( (binary_expression "(int)&((*input_file)->file_).size_ + 4" (cast_expression "(int)&((*input_file)->file_).size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((*input_file)->file_).size_" & (field_expression "((*input_file)->file_).size_" (parenthesized_expression "((*input_file)->file_)" ( (field_expression "(*input_file)->file_" (parenthesized_expression "(*input_file)" ( (pointer_expression "*input_file" * identifier) )) -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (expression_statement "*(int *)memsize = (int)oVar21;" (assignment_expression "*(int *)memsize = (int)oVar21" (pointer_expression "*(int *)memsize" * (cast_expression "(int *)memsize" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (cast_expression "(int)oVar21" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (return_statement "return SUB41(iVar18,0);" return (call_expression "SUB41(iVar18,0)" identifier (argument_list "(iVar18,0)" ( identifier , number_literal ))) ;) })) (ERROR "uVar10 = std::" (assignment_expression "uVar10 = std" identifier = identifier) : :) (expression_statement "_Hash_bytes(pcVar14,member_name->_M_string_length,0xc70f6907);" (call_expression "_Hash_bytes(pcVar14,member_name->_M_string_length,0xc70f6907)" identifier (argument_list "(pcVar14,member_name->_M_string_length,0xc70f6907)" ( identifier , (field_expression "member_name->_M_string_length" identifier -> field_identifier) , number_literal ))) ;) (ERROR "p_Var11 = std::\n            _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_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::" (assignment_expression "p_Var11 = std" identifier = identifier) : : (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>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "pair<const_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>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Archive*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_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>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "Archive*>_>,_std" (binary_expression "Archive*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std" identifier (ERROR "::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>" : : (comma_expression "_Select1st,_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,_false,_true>_>\n            ::_M_find_before_node\n                      ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_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,_false,_true>_>\n                        *)&this->nested_archives_,\n                       uVar10 % (this->nested_archives_)._M_h._M_bucket_count,member_name,uVar10);" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n            ::_M_find_before_node\n                      ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_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,_false,_true>_>\n                        *)&this->nested_archives_,\n                       uVar10 % (this->nested_archives_)._M_h._M_bucket_count,member_name,uVar10);" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n            ::_M_find_before_node\n                      ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_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,_false,_true>_>\n                        *)&this->nested_archives_,\n                       uVar10 % (this->nested_archives_)._M_h._M_bucket_count,member_name,uVar10);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_false,_true>_>\n            ::_M_find_before_node\n                      ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_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,_false,_true>_>\n                        *)&this->nested_archives_,\n                       uVar10 % (this->nested_archives_)._M_h._M_bucket_count,member_name,uVar10);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_false,_true>_>\n            ::_M_find_before_node\n                      ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_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,_false,_true>_>\n                        *)&this->nested_archives_,\n                       uVar10 % (this->nested_archives_)._M_h._M_bucket_count,member_name,uVar10);" (comma_expression "_Hashtable_traits<true,_false,_true>_>\n            ::_M_find_before_node\n                      ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_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,_false,_true>_>\n                        *)&this->nested_archives_,\n                       uVar10 % (this->nested_archives_)._M_h._M_bucket_count,member_name,uVar10)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n            ::_M_find_before_node\n                      ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_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,_false,_true>_>\n                        *)&this->nested_archives_,\n                       uVar10 % (this->nested_archives_)._M_h._M_bucket_count,member_name,uVar10)" identifier , (binary_expression "_true>_>\n            ::_M_find_before_node\n                      ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_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,_false,_true>_>\n                        *)&this->nested_archives_,\n                       uVar10 % (this->nested_archives_)._M_h._M_bucket_count,member_name,uVar10)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "_M_find_before_node\n                      ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_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,_false,_true>_>\n                        *)&this->nested_archives_,\n                       uVar10 % (this->nested_archives_)._M_h._M_bucket_count,member_name,uVar10)" identifier (argument_list "((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_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,_false,_true>_>\n                        *)&this->nested_archives_,\n                       uVar10 % (this->nested_archives_)._M_h._M_bucket_count,member_name,uVar10)" ( (binary_expression "(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_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,_false,_true>_>\n                        *)&this->nested_archives_" (parenthesized_expression "(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_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,_false,_true>_>\n                        *)" ( (ERROR "_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_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) : : (binary_expression "pair<const_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>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Archive*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_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>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "Archive*>_>,_std" (binary_expression "Archive*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Select1st,_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,_false,_true>_>\n                        *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n                        *" identifier , (binary_expression "_true>_>\n                        *" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*" * identifier)))) )) & (field_expression "this->nested_archives_" identifier -> field_identifier)) , (binary_expression "uVar10 % (this->nested_archives_)._M_h._M_bucket_count" identifier % (field_expression "(this->nested_archives_)._M_h._M_bucket_count" (field_expression "(this->nested_archives_)._M_h" (parenthesized_expression "(this->nested_archives_)" ( (field_expression "this->nested_archives_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) , identifier , identifier )))))) ;))))) (if_statement "if ((p_Var11 == (__node_base *)0x0) || (p_Var11->_M_nxt == (_Hash_node_base *)0x0)) {\n    this_00 = parameters->options_;\n    if (this_00 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n    pcVar23 = (member_name->_M_dataplus)._M_p;\n    pIVar13 = (Input_file_argument *)operator_new(0x4c);\n    paVar22 = &(pIVar13->name_).field_2;\n    (pIVar13->name_)._M_dataplus._M_p = (pointer)paVar22;\n    pcVar14 = (char *)0xffffffff;\n    if (pcVar23 != (char *)0x0) {\n      sVar15 = strlen(pcVar23);\n      pcVar14 = pcVar23 + sVar15;\n    }\n                    /* try { // try from 00079ee0 to 00079ee4 has its CatchHandler @ 0007a154 */\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>\n              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)pIVar13,pcVar23,\n               pcVar14,0,paVar22);\n    paVar5 = &(pIVar13->extra_search_path_).field_2;\n    pIVar13->type_ = INPUT_FILE_TYPE_FILE;\n    (pIVar13->extra_search_path_)._M_dataplus._M_p = (pointer)paVar5;\n                    /* try { // try from 00079f09 to 00079f0d has its CatchHandler @ 0007a17e */\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&pIVar13->extra_search_path_,"","",0,paVar22,paVar5);\n    pIVar13->just_symbols_ = false;\n    (pIVar13->options_).as_needed_ = (this_00->as_needed_).value;\n    (pIVar13->options_).Bdynamic_ = (this_00->Bdynamic_).value;\n                    /* try { // try from 00079f2f to 00079f33 has its CatchHandler @ 0007a177 */\n    OVar16 = General_options::format_enum(this_00);\n    (pIVar13->options_).format_enum_ = OVar16;\n    (pIVar13->options_).whole_archive_ = (this_00->whole_archive_).value;\n    IVar4 = this_00->incremental_disposition_;\n    pIVar13->arg_serial_ = 0;\n    (pIVar13->options_).incremental_disposition_ = IVar4;\n    pIVar17 = (Input_file *)operator_new(0x94);\n    pIVar17->input_argument_ = pIVar13;\n    (pIVar17->found_name_)._M_dataplus._M_p = (pointer)&(pIVar17->found_name_).field_2;\n    (pIVar17->file_).name_._M_dataplus._M_p = (pointer)&(pIVar17->file_).name_.field_2;\n    p_Var1 = &(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left =\n         &p_Var1->_M_header;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_right =\n         &p_Var1->_M_header;\n    pSVar2 = &(pIVar17->file_).saved_views_;\n    (pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_prev = (_List_node_base *)pSVar2;\n    (pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_next = (_List_node_base *)pSVar2;\n    (pIVar17->found_name_)._M_string_length = 0;\n    (pIVar17->found_name_).field_2._M_local_buf[0] = '\0';\n    (pIVar17->file_).name_._M_string_length = 0;\n    (pIVar17->file_).name_.field_2._M_local_buf[0] = '\0';\n    (pIVar17->file_).descriptor_ = -1;\n    (pIVar17->file_).is_descriptor_opened_ = false;\n    (pIVar17->file_).object_count_ = 0;\n    *(undefined4 *)&(pIVar17->file_).size_ = 0;\n    *(undefined4 *)((int)&(pIVar17->file_).size_ + 4) = 0;\n    (pIVar17->file_).token_.is_blocker_ = false;\n    (pIVar17->file_).token_.blockers_ = 0;\n    (pIVar17->file_).token_.writer_ = (Task *)0x0;\n    (pIVar17->file_).token_.waiting_.head_ = (Task *)0x0;\n    (pIVar17->file_).token_.waiting_.tail_ = (Task *)0x0;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;\n    (pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n    _M_node._M_size = 0;\n    (pIVar17->file_).mapped_bytes_ = 0;\n    (pIVar17->file_).released_ = true;\n    (pIVar17->file_).whole_file_view_ = (View *)0x0;\n    pIVar17->is_in_sysroot_ = false;\n    pIVar17->format_ = FORMAT_NONE;\n    *input_file = pIVar17;\n    dummy_1 = 0;\n    iVar18 = Input_file::open(pIVar17,(char *)this->dirpath_,(int)(this->super_Library_base).task_,\n                              &dummy_1);\n    if ((char)iVar18 == '\0') {\n      return false;\n    }\n    this_01 = (Archive *)operator_new(0xd8);\n                    /* try { // try from 0007a079 to 0007a07d has its CatchHandler @ 0007a162 */\n    Archive(this_01,member_name,*input_file,false,this->dirpath_,(this->super_Library_base).task_);\n    setup(this_01);\n    pcVar23 = (member_name->_M_dataplus)._M_p;\n    dummy = (int)local_30;\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy,\n                        pcVar23,pcVar23 + member_name->_M_string_length,0);\n    local_20 = this_01;\n                    /* try { // try from 0007a0ba to 0007a0be has its CatchHandler @ 0007a15b */\n    std::\n    _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_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,_false,_true>_>\n    ::\n    _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>\n              ((_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffac,&this->nested_archives_,0,\n               (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy);\n    if ((undefined1 *)dummy != local_30) {\n      operator_delete((void *)dummy);\n    }\n    if (local_50 == '\0') {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/archive.cc",0x288,"get_file_and_offset");\n    }\n  }\n  else {\n    this_01 = (Archive *)p_Var11->_M_nxt[7]._M_nxt;\n  }\n  bVar8 = get_file_and_offset(this_01,CONCAT44(nested_off._4_4_,(int)nested_off),input_file,memoff,\n                              memsize,member_name);\n  return bVar8;\n}" if (parenthesized_expression "((p_Var11 == (__node_base *)0x0) || (p_Var11->_M_nxt == (_Hash_node_base *)0x0))" ( (binary_expression "(p_Var11 == (__node_base *)0x0) || (p_Var11->_M_nxt == (_Hash_node_base *)0x0)" (parenthesized_expression "(p_Var11 == (__node_base *)0x0)" ( (binary_expression "p_Var11 == (__node_base *)0x0" identifier == (cast_expression "(__node_base *)0x0" ( (type_descriptor "__node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(p_Var11->_M_nxt == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var11->_M_nxt == (_Hash_node_base *)0x0" (field_expression "p_Var11->_M_nxt" identifier -> field_identifier) == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n    this_00 = parameters->options_;\n    if (this_00 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n    pcVar23 = (member_name->_M_dataplus)._M_p;\n    pIVar13 = (Input_file_argument *)operator_new(0x4c);\n    paVar22 = &(pIVar13->name_).field_2;\n    (pIVar13->name_)._M_dataplus._M_p = (pointer)paVar22;\n    pcVar14 = (char *)0xffffffff;\n    if (pcVar23 != (char *)0x0) {\n      sVar15 = strlen(pcVar23);\n      pcVar14 = pcVar23 + sVar15;\n    }\n                    /* try { // try from 00079ee0 to 00079ee4 has its CatchHandler @ 0007a154 */\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>\n              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)pIVar13,pcVar23,\n               pcVar14,0,paVar22);\n    paVar5 = &(pIVar13->extra_search_path_).field_2;\n    pIVar13->type_ = INPUT_FILE_TYPE_FILE;\n    (pIVar13->extra_search_path_)._M_dataplus._M_p = (pointer)paVar5;\n                    /* try { // try from 00079f09 to 00079f0d has its CatchHandler @ 0007a17e */\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&pIVar13->extra_search_path_,"","",0,paVar22,paVar5);\n    pIVar13->just_symbols_ = false;\n    (pIVar13->options_).as_needed_ = (this_00->as_needed_).value;\n    (pIVar13->options_).Bdynamic_ = (this_00->Bdynamic_).value;\n                    /* try { // try from 00079f2f to 00079f33 has its CatchHandler @ 0007a177 */\n    OVar16 = General_options::format_enum(this_00);\n    (pIVar13->options_).format_enum_ = OVar16;\n    (pIVar13->options_).whole_archive_ = (this_00->whole_archive_).value;\n    IVar4 = this_00->incremental_disposition_;\n    pIVar13->arg_serial_ = 0;\n    (pIVar13->options_).incremental_disposition_ = IVar4;\n    pIVar17 = (Input_file *)operator_new(0x94);\n    pIVar17->input_argument_ = pIVar13;\n    (pIVar17->found_name_)._M_dataplus._M_p = (pointer)&(pIVar17->found_name_).field_2;\n    (pIVar17->file_).name_._M_dataplus._M_p = (pointer)&(pIVar17->file_).name_.field_2;\n    p_Var1 = &(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left =\n         &p_Var1->_M_header;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_right =\n         &p_Var1->_M_header;\n    pSVar2 = &(pIVar17->file_).saved_views_;\n    (pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_prev = (_List_node_base *)pSVar2;\n    (pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_next = (_List_node_base *)pSVar2;\n    (pIVar17->found_name_)._M_string_length = 0;\n    (pIVar17->found_name_).field_2._M_local_buf[0] = '\0';\n    (pIVar17->file_).name_._M_string_length = 0;\n    (pIVar17->file_).name_.field_2._M_local_buf[0] = '\0';\n    (pIVar17->file_).descriptor_ = -1;\n    (pIVar17->file_).is_descriptor_opened_ = false;\n    (pIVar17->file_).object_count_ = 0;\n    *(undefined4 *)&(pIVar17->file_).size_ = 0;\n    *(undefined4 *)((int)&(pIVar17->file_).size_ + 4) = 0;\n    (pIVar17->file_).token_.is_blocker_ = false;\n    (pIVar17->file_).token_.blockers_ = 0;\n    (pIVar17->file_).token_.writer_ = (Task *)0x0;\n    (pIVar17->file_).token_.waiting_.head_ = (Task *)0x0;\n    (pIVar17->file_).token_.waiting_.tail_ = (Task *)0x0;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0;\n    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;\n    (pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n    _M_node._M_size = 0;\n    (pIVar17->file_).mapped_bytes_ = 0;\n    (pIVar17->file_).released_ = true;\n    (pIVar17->file_).whole_file_view_ = (View *)0x0;\n    pIVar17->is_in_sysroot_ = false;\n    pIVar17->format_ = FORMAT_NONE;\n    *input_file = pIVar17;\n    dummy_1 = 0;\n    iVar18 = Input_file::open(pIVar17,(char *)this->dirpath_,(int)(this->super_Library_base).task_,\n                              &dummy_1);\n    if ((char)iVar18 == '\0') {\n      return false;\n    }\n    this_01 = (Archive *)operator_new(0xd8);\n                    /* try { // try from 0007a079 to 0007a07d has its CatchHandler @ 0007a162 */\n    Archive(this_01,member_name,*input_file,false,this->dirpath_,(this->super_Library_base).task_);\n    setup(this_01);\n    pcVar23 = (member_name->_M_dataplus)._M_p;\n    dummy = (int)local_30;\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy,\n                        pcVar23,pcVar23 + member_name->_M_string_length,0);\n    local_20 = this_01;\n                    /* try { // try from 0007a0ba to 0007a0be has its CatchHandler @ 0007a15b */\n    std::\n    _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_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,_false,_true>_>\n    ::\n    _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>\n              ((_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffac,&this->nested_archives_,0,\n               (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy);\n    if ((undefined1 *)dummy != local_30) {\n      operator_delete((void *)dummy);\n    }\n    if (local_50 == '\0') {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/archive.cc",0x288,"get_file_and_offset");\n    }\n  }\n  else {\n    this_01 = (Archive *)p_Var11->_M_nxt[7]._M_nxt;\n  }\n  bVar8 = get_file_and_offset(this_01,CONCAT44(nested_off._4_4_,(int)nested_off),input_file,memoff,\n                              memsize,member_name);\n  return bVar8;\n}" { (expression_statement "this_00 = parameters->options_;" (assignment_expression "this_00 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (if_statement "if (this_00 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }" if (parenthesized_expression "(this_00 == (General_options *)0x0)" ( (binary_expression "this_00 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (expression_statement "pcVar23 = (member_name->_M_dataplus)._M_p;" (assignment_expression "pcVar23 = (member_name->_M_dataplus)._M_p" identifier = (field_expression "(member_name->_M_dataplus)._M_p" (parenthesized_expression "(member_name->_M_dataplus)" ( (field_expression "member_name->_M_dataplus" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "pIVar13 = (Input_file_argument *)operator_new(0x4c);" (assignment_expression "pIVar13 = (Input_file_argument *)operator_new(0x4c)" identifier = (cast_expression "(Input_file_argument *)operator_new(0x4c)" ( (type_descriptor "Input_file_argument *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x4c)" identifier (argument_list "(0x4c)" ( number_literal ))))) ;) (expression_statement "paVar22 = &(pIVar13->name_).field_2;" (assignment_expression "paVar22 = &(pIVar13->name_).field_2" identifier = (pointer_expression "&(pIVar13->name_).field_2" & (field_expression "(pIVar13->name_).field_2" (parenthesized_expression "(pIVar13->name_)" ( (field_expression "pIVar13->name_" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "(pIVar13->name_)._M_dataplus._M_p = (pointer)paVar22;" (assignment_expression "(pIVar13->name_)._M_dataplus._M_p = (pointer)paVar22" (field_expression "(pIVar13->name_)._M_dataplus._M_p" (field_expression "(pIVar13->name_)._M_dataplus" (parenthesized_expression "(pIVar13->name_)" ( (field_expression "pIVar13->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(pointer)paVar22" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "pcVar14 = (char *)0xffffffff;" (assignment_expression "pcVar14 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (pcVar23 != (char *)0x0) {\n      sVar15 = strlen(pcVar23);\n      pcVar14 = pcVar23 + sVar15;\n    }" if (parenthesized_expression "(pcVar23 != (char *)0x0)" ( (binary_expression "pcVar23 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      sVar15 = strlen(pcVar23);\n      pcVar14 = pcVar23 + sVar15;\n    }" { (expression_statement "sVar15 = strlen(pcVar23);" (assignment_expression "sVar15 = strlen(pcVar23)" identifier = (call_expression "strlen(pcVar23)" identifier (argument_list "(pcVar23)" ( identifier )))) ;) (expression_statement "pcVar14 = pcVar23 + sVar15;" (assignment_expression "pcVar14 = pcVar23 + sVar15" identifier = (binary_expression "pcVar23 + sVar15" identifier + identifier)) ;) })) comment (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>\n              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)pIVar13,pcVar23,\n               pcVar14,0,paVar22);" 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*>\n              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)pIVar13,pcVar23,\n               pcVar14,0,paVar22);" (binary_expression "_M_construct<char_const*>\n              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)pIVar13,pcVar23,\n               pcVar14,0,paVar22)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)pIVar13,pcVar23,\n               pcVar14,0,paVar22)" ( (parenthesized_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)pIVar13,pcVar23,\n               pcVar14,0,paVar22)" ( (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) : :) (comma_expression "allocator<char>_> *)pIVar13,pcVar23,\n               pcVar14,0,paVar22" (binary_expression "allocator<char>_> *)pIVar13" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*)pIVar13" * (ERROR ")" )) identifier)) , (comma_expression "pcVar23,\n               pcVar14,0,paVar22" identifier , (comma_expression "pcVar14,0,paVar22" identifier , (comma_expression "0,paVar22" number_literal , identifier)))) )) ))) ;)) (expression_statement "paVar5 = &(pIVar13->extra_search_path_).field_2;" (assignment_expression "paVar5 = &(pIVar13->extra_search_path_).field_2" identifier = (pointer_expression "&(pIVar13->extra_search_path_).field_2" & (field_expression "(pIVar13->extra_search_path_).field_2" (parenthesized_expression "(pIVar13->extra_search_path_)" ( (field_expression "pIVar13->extra_search_path_" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "pIVar13->type_ = INPUT_FILE_TYPE_FILE;" (assignment_expression "pIVar13->type_ = INPUT_FILE_TYPE_FILE" (field_expression "pIVar13->type_" identifier -> field_identifier) = identifier) ;) (expression_statement "(pIVar13->extra_search_path_)._M_dataplus._M_p = (pointer)paVar5;" (assignment_expression "(pIVar13->extra_search_path_)._M_dataplus._M_p = (pointer)paVar5" (field_expression "(pIVar13->extra_search_path_)._M_dataplus._M_p" (field_expression "(pIVar13->extra_search_path_)._M_dataplus" (parenthesized_expression "(pIVar13->extra_search_path_)" ( (field_expression "pIVar13->extra_search_path_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(pointer)paVar5" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) comment (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&pIVar13->extra_search_path_,"","",0,paVar22,paVar5);" 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*>(&pIVar13->extra_search_path_,"","",0,paVar22,paVar5);" (binary_expression "_M_construct<char_const*>(&pIVar13->extra_search_path_,"","",0,paVar22,paVar5)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&pIVar13->extra_search_path_,"","",0,paVar22,paVar5)" ( (comma_expression "&pIVar13->extra_search_path_,"","",0,paVar22,paVar5" (pointer_expression "&pIVar13->extra_search_path_" & (field_expression "pIVar13->extra_search_path_" identifier -> field_identifier)) , (comma_expression ""","",0,paVar22,paVar5" (string_literal """" " ") , (comma_expression """,0,paVar22,paVar5" (string_literal """" " ") , (comma_expression "0,paVar22,paVar5" number_literal , (comma_expression "paVar22,paVar5" identifier , identifier))))) ))) ;)) (expression_statement "pIVar13->just_symbols_ = false;" (assignment_expression "pIVar13->just_symbols_ = false" (field_expression "pIVar13->just_symbols_" identifier -> field_identifier) = false) ;) (expression_statement "(pIVar13->options_).as_needed_ = (this_00->as_needed_).value;" (assignment_expression "(pIVar13->options_).as_needed_ = (this_00->as_needed_).value" (field_expression "(pIVar13->options_).as_needed_" (parenthesized_expression "(pIVar13->options_)" ( (field_expression "pIVar13->options_" identifier -> field_identifier) )) . field_identifier) = (field_expression "(this_00->as_needed_).value" (parenthesized_expression "(this_00->as_needed_)" ( (field_expression "this_00->as_needed_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "(pIVar13->options_).Bdynamic_ = (this_00->Bdynamic_).value;" (assignment_expression "(pIVar13->options_).Bdynamic_ = (this_00->Bdynamic_).value" (field_expression "(pIVar13->options_).Bdynamic_" (parenthesized_expression "(pIVar13->options_)" ( (field_expression "pIVar13->options_" identifier -> field_identifier) )) . field_identifier) = (field_expression "(this_00->Bdynamic_).value" (parenthesized_expression "(this_00->Bdynamic_)" ( (field_expression "this_00->Bdynamic_" identifier -> field_identifier) )) . field_identifier)) ;) comment (ERROR "OVar16 = General_options::" (assignment_expression "OVar16 = General_options" identifier = identifier) : :) (expression_statement "format_enum(this_00);" (call_expression "format_enum(this_00)" identifier (argument_list "(this_00)" ( identifier ))) ;) (expression_statement "(pIVar13->options_).format_enum_ = OVar16;" (assignment_expression "(pIVar13->options_).format_enum_ = OVar16" (field_expression "(pIVar13->options_).format_enum_" (parenthesized_expression "(pIVar13->options_)" ( (field_expression "pIVar13->options_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(pIVar13->options_).whole_archive_ = (this_00->whole_archive_).value;" (assignment_expression "(pIVar13->options_).whole_archive_ = (this_00->whole_archive_).value" (field_expression "(pIVar13->options_).whole_archive_" (parenthesized_expression "(pIVar13->options_)" ( (field_expression "pIVar13->options_" identifier -> field_identifier) )) . field_identifier) = (field_expression "(this_00->whole_archive_).value" (parenthesized_expression "(this_00->whole_archive_)" ( (field_expression "this_00->whole_archive_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "IVar4 = this_00->incremental_disposition_;" (assignment_expression "IVar4 = this_00->incremental_disposition_" identifier = (field_expression "this_00->incremental_disposition_" identifier -> field_identifier)) ;) (expression_statement "pIVar13->arg_serial_ = 0;" (assignment_expression "pIVar13->arg_serial_ = 0" (field_expression "pIVar13->arg_serial_" identifier -> field_identifier) = number_literal) ;) (expression_statement "(pIVar13->options_).incremental_disposition_ = IVar4;" (assignment_expression "(pIVar13->options_).incremental_disposition_ = IVar4" (field_expression "(pIVar13->options_).incremental_disposition_" (parenthesized_expression "(pIVar13->options_)" ( (field_expression "pIVar13->options_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "pIVar17 = (Input_file *)operator_new(0x94);" (assignment_expression "pIVar17 = (Input_file *)operator_new(0x94)" identifier = (cast_expression "(Input_file *)operator_new(0x94)" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x94)" identifier (argument_list "(0x94)" ( number_literal ))))) ;) (expression_statement "pIVar17->input_argument_ = pIVar13;" (assignment_expression "pIVar17->input_argument_ = pIVar13" (field_expression "pIVar17->input_argument_" identifier -> field_identifier) = identifier) ;) (expression_statement "(pIVar17->found_name_)._M_dataplus._M_p = (pointer)&(pIVar17->found_name_).field_2;" (assignment_expression "(pIVar17->found_name_)._M_dataplus._M_p = (pointer)&(pIVar17->found_name_).field_2" (field_expression "(pIVar17->found_name_)._M_dataplus._M_p" (field_expression "(pIVar17->found_name_)._M_dataplus" (parenthesized_expression "(pIVar17->found_name_)" ( (field_expression "pIVar17->found_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "(pointer)&(pIVar17->found_name_).field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "(pIVar17->found_name_).field_2" (parenthesized_expression "(pIVar17->found_name_)" ( (field_expression "pIVar17->found_name_" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "(pIVar17->file_).name_._M_dataplus._M_p = (pointer)&(pIVar17->file_).name_.field_2;" (assignment_expression "(pIVar17->file_).name_._M_dataplus._M_p = (pointer)&(pIVar17->file_).name_.field_2" (field_expression "(pIVar17->file_).name_._M_dataplus._M_p" (field_expression "(pIVar17->file_).name_._M_dataplus" (field_expression "(pIVar17->file_).name_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (binary_expression "(pointer)&(pIVar17->file_).name_.field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "(pIVar17->file_).name_.field_2" (field_expression "(pIVar17->file_).name_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (expression_statement "p_Var1 = &(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header;" (assignment_expression "p_Var1 = &(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header" identifier = (pointer_expression "&(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header" & (field_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header" (field_expression "(pIVar17->file_).views_._M_t._M_impl" (field_expression "(pIVar17->file_).views_._M_t" (field_expression "(pIVar17->file_).views_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left =\n         &p_Var1->_M_header;" (assignment_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left =\n         &p_Var1->_M_header" (field_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left" (field_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header" (field_expression "(pIVar17->file_).views_._M_t._M_impl" (field_expression "(pIVar17->file_).views_._M_t" (field_expression "(pIVar17->file_).views_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (pointer_expression "&p_Var1->_M_header" & (field_expression "p_Var1->_M_header" identifier -> field_identifier))) ;) (expression_statement "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_right =\n         &p_Var1->_M_header;" (assignment_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_right =\n         &p_Var1->_M_header" (field_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_right" (field_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header" (field_expression "(pIVar17->file_).views_._M_t._M_impl" (field_expression "(pIVar17->file_).views_._M_t" (field_expression "(pIVar17->file_).views_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (pointer_expression "&p_Var1->_M_header" & (field_expression "p_Var1->_M_header" identifier -> field_identifier))) ;) (expression_statement "pSVar2 = &(pIVar17->file_).saved_views_;" (assignment_expression "pSVar2 = &(pIVar17->file_).saved_views_" identifier = (pointer_expression "&(pIVar17->file_).saved_views_" & (field_expression "(pIVar17->file_).saved_views_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier))) ;) (ERROR "(pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::" (binary_expression "(pIVar17->file_).saved_views_.\n    super__List_base<gold" (field_expression "(pIVar17->file_).saved_views_.\n    super__List_base" (field_expression "(pIVar17->file_).saved_views_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier) : : (comma_expression "File_read::View*,_std" identifier (ERROR "::View*" : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_prev = (_List_node_base *)pSVar2;" (assignment_expression "File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_prev = (_List_node_base *)pSVar2" (field_expression "File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_prev" (field_expression "File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base" (field_expression "File_read::View*>_>._M_impl.\n    _M_node" (field_expression "File_read::View*>_>._M_impl" (binary_expression "File_read::View*>_" identifier (ERROR "::View*" : : identifier *) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_List_node_base *)pSVar2" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (ERROR "(pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::" (binary_expression "(pIVar17->file_).saved_views_.\n    super__List_base<gold" (field_expression "(pIVar17->file_).saved_views_.\n    super__List_base" (field_expression "(pIVar17->file_).saved_views_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier) : : (comma_expression "File_read::View*,_std" identifier (ERROR "::View*" : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_next = (_List_node_base *)pSVar2;" (assignment_expression "File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_next = (_List_node_base *)pSVar2" (field_expression "File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base._M_next" (field_expression "File_read::View*>_>._M_impl.\n    _M_node.super__List_node_base" (field_expression "File_read::View*>_>._M_impl.\n    _M_node" (field_expression "File_read::View*>_>._M_impl" (binary_expression "File_read::View*>_" identifier (ERROR "::View*" : : identifier *) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_List_node_base *)pSVar2" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(pIVar17->found_name_)._M_string_length = 0;" (assignment_expression "(pIVar17->found_name_)._M_string_length = 0" (field_expression "(pIVar17->found_name_)._M_string_length" (parenthesized_expression "(pIVar17->found_name_)" ( (field_expression "pIVar17->found_name_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(pIVar17->found_name_).field_2._M_local_buf[0] = '\0';" (assignment_expression "(pIVar17->found_name_).field_2._M_local_buf[0] = '\0'" (subscript_expression "(pIVar17->found_name_).field_2._M_local_buf[0]" (field_expression "(pIVar17->found_name_).field_2._M_local_buf" (field_expression "(pIVar17->found_name_).field_2" (parenthesized_expression "(pIVar17->found_name_)" ( (field_expression "pIVar17->found_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "(pIVar17->file_).name_._M_string_length = 0;" (assignment_expression "(pIVar17->file_).name_._M_string_length = 0" (field_expression "(pIVar17->file_).name_._M_string_length" (field_expression "(pIVar17->file_).name_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(pIVar17->file_).name_.field_2._M_local_buf[0] = '\0';" (assignment_expression "(pIVar17->file_).name_.field_2._M_local_buf[0] = '\0'" (subscript_expression "(pIVar17->file_).name_.field_2._M_local_buf[0]" (field_expression "(pIVar17->file_).name_.field_2._M_local_buf" (field_expression "(pIVar17->file_).name_.field_2" (field_expression "(pIVar17->file_).name_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "(pIVar17->file_).descriptor_ = -1;" (assignment_expression "(pIVar17->file_).descriptor_ = -1" (field_expression "(pIVar17->file_).descriptor_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(pIVar17->file_).is_descriptor_opened_ = false;" (assignment_expression "(pIVar17->file_).is_descriptor_opened_ = false" (field_expression "(pIVar17->file_).is_descriptor_opened_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) = false) ;) (expression_statement "(pIVar17->file_).object_count_ = 0;" (assignment_expression "(pIVar17->file_).object_count_ = 0" (field_expression "(pIVar17->file_).object_count_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "*(undefined4 *)&(pIVar17->file_).size_ = 0;" (assignment_expression "*(undefined4 *)&(pIVar17->file_).size_ = 0" (pointer_expression "*(undefined4 *)&(pIVar17->file_).size_" * (cast_expression "(undefined4 *)&(pIVar17->file_).size_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pIVar17->file_).size_" & (field_expression "(pIVar17->file_).size_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pIVar17->file_).size_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(pIVar17->file_).size_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(pIVar17->file_).size_ + 4)" * (cast_expression "(undefined4 *)((int)&(pIVar17->file_).size_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pIVar17->file_).size_ + 4)" ( (binary_expression "(int)&(pIVar17->file_).size_ + 4" (cast_expression "(int)&(pIVar17->file_).size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pIVar17->file_).size_" & (field_expression "(pIVar17->file_).size_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "(pIVar17->file_).token_.is_blocker_ = false;" (assignment_expression "(pIVar17->file_).token_.is_blocker_ = false" (field_expression "(pIVar17->file_).token_.is_blocker_" (field_expression "(pIVar17->file_).token_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = false) ;) (expression_statement "(pIVar17->file_).token_.blockers_ = 0;" (assignment_expression "(pIVar17->file_).token_.blockers_ = 0" (field_expression "(pIVar17->file_).token_.blockers_" (field_expression "(pIVar17->file_).token_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(pIVar17->file_).token_.writer_ = (Task *)0x0;" (assignment_expression "(pIVar17->file_).token_.writer_ = (Task *)0x0" (field_expression "(pIVar17->file_).token_.writer_" (field_expression "(pIVar17->file_).token_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(pIVar17->file_).token_.waiting_.head_ = (Task *)0x0;" (assignment_expression "(pIVar17->file_).token_.waiting_.head_ = (Task *)0x0" (field_expression "(pIVar17->file_).token_.waiting_.head_" (field_expression "(pIVar17->file_).token_.waiting_" (field_expression "(pIVar17->file_).token_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(pIVar17->file_).token_.waiting_.tail_ = (Task *)0x0;" (assignment_expression "(pIVar17->file_).token_.waiting_.tail_ = (Task *)0x0" (field_expression "(pIVar17->file_).token_.waiting_.tail_" (field_expression "(pIVar17->file_).token_.waiting_" (field_expression "(pIVar17->file_).token_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;" (assignment_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red" (field_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_color" (field_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header" (field_expression "(pIVar17->file_).views_._M_t._M_impl" (field_expression "(pIVar17->file_).views_._M_t" (field_expression "(pIVar17->file_).views_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0;" (assignment_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0" (field_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" (field_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header" (field_expression "(pIVar17->file_).views_._M_t._M_impl" (field_expression "(pIVar17->file_).views_._M_t" (field_expression "(pIVar17->file_).views_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) ;) (expression_statement "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;" (assignment_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_node_count = 0" (field_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_node_count" (field_expression "(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header" (field_expression "(pIVar17->file_).views_._M_t._M_impl" (field_expression "(pIVar17->file_).views_._M_t" (field_expression "(pIVar17->file_).views_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (ERROR "(pIVar17->file_).saved_views_.\n    super__List_base<gold::File_read::View*,_std::allocator<gold::" (binary_expression "(pIVar17->file_).saved_views_.\n    super__List_base<gold" (field_expression "(pIVar17->file_).saved_views_.\n    super__List_base" (field_expression "(pIVar17->file_).saved_views_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier) : : (comma_expression "File_read::View*,_std" identifier (ERROR "::View*" : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "File_read::View*>_>._M_impl.\n    _M_node._M_size = 0;" (assignment_expression "File_read::View*>_>._M_impl.\n    _M_node._M_size = 0" (field_expression "File_read::View*>_>._M_impl.\n    _M_node._M_size" (field_expression "File_read::View*>_>._M_impl.\n    _M_node" (field_expression "File_read::View*>_>._M_impl" (binary_expression "File_read::View*>_" identifier (ERROR "::View*" : : identifier *) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(pIVar17->file_).mapped_bytes_ = 0;" (assignment_expression "(pIVar17->file_).mapped_bytes_ = 0" (field_expression "(pIVar17->file_).mapped_bytes_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(pIVar17->file_).released_ = true;" (assignment_expression "(pIVar17->file_).released_ = true" (field_expression "(pIVar17->file_).released_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) = true) ;) (expression_statement "(pIVar17->file_).whole_file_view_ = (View *)0x0;" (assignment_expression "(pIVar17->file_).whole_file_view_ = (View *)0x0" (field_expression "(pIVar17->file_).whole_file_view_" (parenthesized_expression "(pIVar17->file_)" ( (field_expression "pIVar17->file_" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(View *)0x0" ( (type_descriptor "View *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pIVar17->is_in_sysroot_ = false;" (assignment_expression "pIVar17->is_in_sysroot_ = false" (field_expression "pIVar17->is_in_sysroot_" identifier -> field_identifier) = false) ;) (expression_statement "pIVar17->format_ = FORMAT_NONE;" (assignment_expression "pIVar17->format_ = FORMAT_NONE" (field_expression "pIVar17->format_" identifier -> field_identifier) = identifier) ;) (expression_statement "*input_file = pIVar17;" (assignment_expression "*input_file = pIVar17" (pointer_expression "*input_file" * identifier) = identifier) ;) (expression_statement "dummy_1 = 0;" (assignment_expression "dummy_1 = 0" identifier = number_literal) ;) (ERROR "iVar18 = Input_file::" (assignment_expression "iVar18 = Input_file" identifier = identifier) : :) (expression_statement "open(pIVar17,(char *)this->dirpath_,(int)(this->super_Library_base).task_,\n                              &dummy_1);" (call_expression "open(pIVar17,(char *)this->dirpath_,(int)(this->super_Library_base).task_,\n                              &dummy_1)" identifier (argument_list "(pIVar17,(char *)this->dirpath_,(int)(this->super_Library_base).task_,\n                              &dummy_1)" ( identifier , (cast_expression "(char *)this->dirpath_" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "this->dirpath_" identifier -> field_identifier)) , (cast_expression "(int)(this->super_Library_base).task_" ( (type_descriptor "int" primitive_type) ) (field_expression "(this->super_Library_base).task_" (parenthesized_expression "(this->super_Library_base)" ( (field_expression "this->super_Library_base" identifier -> field_identifier) )) . field_identifier)) , (pointer_expression "&dummy_1" & identifier) ))) ;) (if_statement "if ((char)iVar18 == '\0') {\n      return false;\n    }" if (parenthesized_expression "((char)iVar18 == '\0')" ( (binary_expression "(char)iVar18 == '\0'" (cast_expression "(char)iVar18" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      return false;\n    }" { (return_statement "return false;" return false ;) })) (expression_statement "this_01 = (Archive *)operator_new(0xd8);" (assignment_expression "this_01 = (Archive *)operator_new(0xd8)" identifier = (cast_expression "(Archive *)operator_new(0xd8)" ( (type_descriptor "Archive *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0xd8)" identifier (argument_list "(0xd8)" ( number_literal ))))) ;) comment (expression_statement "Archive(this_01,member_name,*input_file,false,this->dirpath_,(this->super_Library_base).task_);" (call_expression "Archive(this_01,member_name,*input_file,false,this->dirpath_,(this->super_Library_base).task_)" identifier (argument_list "(this_01,member_name,*input_file,false,this->dirpath_,(this->super_Library_base).task_)" ( identifier , identifier , (pointer_expression "*input_file" * identifier) , false , (field_expression "this->dirpath_" identifier -> field_identifier) , (field_expression "(this->super_Library_base).task_" (parenthesized_expression "(this->super_Library_base)" ( (field_expression "this->super_Library_base" identifier -> field_identifier) )) . field_identifier) ))) ;) (expression_statement "setup(this_01);" (call_expression "setup(this_01)" identifier (argument_list "(this_01)" ( identifier ))) ;) (expression_statement "pcVar23 = (member_name->_M_dataplus)._M_p;" (assignment_expression "pcVar23 = (member_name->_M_dataplus)._M_p" identifier = (field_expression "(member_name->_M_dataplus)._M_p" (parenthesized_expression "(member_name->_M_dataplus)" ( (field_expression "member_name->_M_dataplus" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "dummy = (int)local_30;" (assignment_expression "dummy = (int)local_30" identifier = (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (ERROR "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::" (comma_expression "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char*>((basic_string<char,_std::char_traits<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) > : : (binary_expression "_M_construct<char" identifier < identifier) (ERROR "*" *) > ( ( (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_> *)&dummy,\n                        pcVar23,pcVar23 + member_name->_M_string_length,0);" (comma_expression "allocator<char>_> *)&dummy,\n                        pcVar23,pcVar23 + member_name->_M_string_length,0" (binary_expression "allocator<char>_> *)&dummy" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*)&dummy" * (ERROR ")" )) (pointer_expression "&dummy" & identifier))) , (comma_expression "pcVar23,pcVar23 + member_name->_M_string_length,0" identifier , (comma_expression "pcVar23 + member_name->_M_string_length,0" (binary_expression "pcVar23 + member_name->_M_string_length" identifier + (field_expression "member_name->_M_string_length" identifier -> field_identifier)) , number_literal))) (ERROR ")" )) ;) (expression_statement "local_20 = this_01;" (assignment_expression "local_20 = this_01" identifier = identifier) ;) comment (ERROR "std::\n    _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_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) : : (binary_expression "pair<const_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>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Archive*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_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>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "Archive*>_>,_std" (binary_expression "Archive*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std" identifier (ERROR "::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>" : : (comma_expression "_Select1st,_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,_false,_true>_>\n    ::\n    _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>\n              ((_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffac,&this->nested_archives_,0,\n               (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy);\n    if ((undefined1 *)dummy != local_30) {\n      operator_delete((void *)dummy);\n    }\n    if (local_50 == '\0') {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/archive.cc",0x288,"get_file_and_offset");\n    }\n  }\n  else {\n    this_01 = (Archive *)p_Var11->_M_nxt[7]._M_nxt;\n  }\n  bVar8 = get_file_and_offset(this_01,CONCAT44(nested_off._4_4_,(int)nested_off),input_file,memoff,\n                              memsize,member_name);\n  return bVar8;" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n    ::\n    _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>\n              ((_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffac,&this->nested_archives_,0,\n               (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy);\n    if ((undefined1 *)dummy != local_30) {\n      operator_delete((void *)dummy);\n    }\n    if (local_50 == '\0') {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/archive.cc",0x288,"get_file_and_offset");\n    }\n  }\n  else {\n    this_01 = (Archive *)p_Var11->_M_nxt[7]._M_nxt;\n  }\n  bVar8 = get_file_and_offset(this_01,CONCAT44(nested_off._4_4_,(int)nested_off),input_file,memoff,\n                              memsize,member_name);\n  return bVar8;" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (expression_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n    ::\n    _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>\n              ((_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffac,&this->nested_archives_,0,\n               (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy);\n    if ((undefined1 *)dummy != local_30) {\n      operator_delete((void *)dummy);\n    }\n    if (local_50 == '\0') {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/archive.cc",0x288,"get_file_and_offset");\n    }\n  }\n  else {\n    this_01 = (Archive *)p_Var11->_M_nxt[7]._M_nxt;\n  }\n  bVar8 = get_file_and_offset(this_01,CONCAT44(nested_off._4_4_,(int)nested_off),input_file,memoff,\n                              memsize,member_name);\n  return bVar8;" (binary_expression "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n    ::\n    _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_" identifier (ERROR "::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n    ::\n    _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : (comma_expression "__detail::_Hashtable_traits<true,_false,_true>_>\n    ::\n    _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold" identifier (ERROR "::_Hashtable_traits<true,_false,_true>_>\n    ::\n    _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (comma_expression "_Hashtable_traits<true,_false,_true>_>\n    ::\n    _M_emplace<std" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n    ::\n    _M_emplace<std" identifier , (binary_expression "_true>_>\n    ::\n    _M_emplace<std" (binary_expression "_true>_>\n    ::\n    _M_emplace" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) identifier) < identifier))) : : (binary_expression "pair<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 *) > identifier) (ERROR ">\n              ((_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffac,&this->nested_archives_,0,\n               (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy);\n    if ((undefined1 *)dummy != local_30) {\n      operator_delete((void *)dummy);\n    }\n    if (local_50 == '\0') {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/archive.cc",0x288,"get_file_and_offset");\n    }\n  }\n  else {\n    this_01 = (Archive *)p_Var11->_M_nxt[7]._M_nxt;\n  }\n  bVar8 = get_file_and_offset(this_01,CONCAT44(nested_off._4_4_,(int)nested_off),input_file,memoff,\n                              memsize,member_name);\n  return bVar8" > ( ( (ERROR "_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffac,&this->nested_archives_,0,\n               (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy);\n    if ((undefined1 *)dummy != local_30) {\n      operator_delete((void *)dummy);\n    }\n    if (local_50 == '\0') {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/archive.cc",0x288,"get_file_and_offset");\n    }\n  }\n  else {\n    this_01 = (Archive *)p_Var11->_M_nxt[7]._M_nxt;\n  }\n  bVar8 = get_file_and_offset(this_01,CONCAT44(nested_off._4_4_,(int)nested_off),input_file,memoff,\n                              memsize,member_name);\n  return" (comma_expression "_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std" (binary_expression "_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const" (binary_expression "_Hashtable<const_gold::Symbol*,_std::pair<const_gold" (binary_expression "_Hashtable<const_gold::Symbol*,_std" (binary_expression "_Hashtable<const_gold" identifier < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * identifier) , (binary_expression "_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_gold" identifier < identifier) : : (comma_expression "Symbol*_const,_int>_>,_std" (binary_expression "Symbol*_const" identifier * identifier) , (binary_expression "_int>_>,_std" (binary_expression "_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : identifier : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<const_gold" identifier < identifier) : : (comma_expression "Symbol*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "hash<const_gold" identifier < identifier) : : (comma_expression "Symbol*>,_std" 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<false,_false,_true>_>\n                *)&stack0xffffffac,&this->nested_archives_,0,\n               (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy)" (binary_expression "_Hashtable_traits<false" identifier < false) , (comma_expression "_false,_true>_>\n                *)&stack0xffffffac,&this->nested_archives_,0,\n               (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy)" identifier , (comma_expression "_true>_>\n                *)&stack0xffffffac,&this->nested_archives_,0,\n               (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy)" (binary_expression "_true>_>\n                *)&stack0xffffffac" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*)&stack0xffffffac" * (ERROR ")" )) (pointer_expression "&stack0xffffffac" & identifier))) , (comma_expression "&this->nested_archives_,0,\n               (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy)" (pointer_expression "&this->nested_archives_" & (field_expression "this->nested_archives_" identifier -> field_identifier)) , (comma_expression "0,\n               (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy)" number_literal , (parenthesized_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&dummy)" ( (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) : :) (binary_expression "allocator<char>_> *)&dummy" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*)&dummy" * (ERROR ")" )) (pointer_expression "&dummy" & identifier))) ))))))) ; if (parenthesized_expression "((undefined1 *)dummy != local_30)" ( (binary_expression "(undefined1 *)dummy != local_30" (cast_expression "(undefined1 *)dummy" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) (compound_statement "{\n      operator_delete((void *)dummy);\n    }" { (expression_statement "operator_delete((void *)dummy);" (call_expression "operator_delete((void *)dummy)" identifier (argument_list "((void *)dummy)" ( (cast_expression "(void *)dummy" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) }) if (parenthesized_expression "(local_50 == '\0')" ( (binary_expression "local_50 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/archive.cc",0x288,"get_file_and_offset");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/archive.cc",0x288,"get_file_and_offset");" (call_expression "do_gold_unreachable("../../gold/archive.cc",0x288,"get_file_and_offset")" identifier (argument_list "("../../gold/archive.cc",0x288,"get_file_and_offset")" ( (string_literal ""../../gold/archive.cc"" " string_content ") , number_literal , (string_literal ""get_file_and_offset"" " string_content ") ))) ;) }) } else (compound_statement "{\n    this_01 = (Archive *)p_Var11->_M_nxt[7]._M_nxt;\n  }" { (expression_statement "this_01 = (Archive *)p_Var11->_M_nxt[7]._M_nxt;" (assignment_expression "this_01 = (Archive *)p_Var11->_M_nxt[7]._M_nxt" identifier = (cast_expression "(Archive *)p_Var11->_M_nxt[7]._M_nxt" ( (type_descriptor "Archive *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "p_Var11->_M_nxt[7]._M_nxt" (subscript_expression "p_Var11->_M_nxt[7]" (field_expression "p_Var11->_M_nxt" identifier -> field_identifier) [ number_literal ]) . field_identifier))) ;) }) (assignment_expression "bVar8 = get_file_and_offset(this_01,CONCAT44(nested_off._4_4_,(int)nested_off),input_file,memoff,\n                              memsize,member_name)" identifier = (call_expression "get_file_and_offset(this_01,CONCAT44(nested_off._4_4_,(int)nested_off),input_file,memoff,\n                              memsize,member_name)" identifier (argument_list "(this_01,CONCAT44(nested_off._4_4_,(int)nested_off),input_file,memoff,\n                              memsize,member_name)" ( identifier , (call_expression "CONCAT44(nested_off._4_4_,(int)nested_off)" identifier (argument_list "(nested_off._4_4_,(int)nested_off)" ( (field_expression "nested_off._4_4_" identifier . field_identifier) , (cast_expression "(int)nested_off" ( (type_descriptor "int" primitive_type) ) identifier) ))) , identifier , identifier , identifier , identifier )))) ; return) identifier) ;))) })) })))
(translation_unit "undefined4\nFUN_00079ae0(int *param_1,undefined1 *param_2,int param_3,int *param_4,int *param_5,\n            longlong *param_6,int *param_7)\n\n{\n  undefined **ppuVar1;\n  undefined4 *puVar2;\n  undefined1 *puVar3;\n  int *piVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  char *pcVar7;\n  size_t sVar8;\n  int iVar9;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  undefined4 uVar10;\n  undefined1 ***pppuVar11;\n  longlong lVar12;\n  undefined1 **ppuStack_70;\n  int *local_6c;\n  int *local_68;\n  undefined1 **local_64;\n  int local_60;\n  undefined **local_5c;\n  undefined **local_58;\n  undefined1 local_54 [4];\n  char local_50;\n  undefined1 *local_48;\n  int local_44;\n  int local_40;\n  undefined1 *local_38;\n  undefined4 local_34;\n  undefined1 local_30 [16];\n  undefined4 local_20;\n  \n  local_58 = &__DT_PLTGOT;\n  local_60 = param_3;\n  local_64 = (undefined1 **)param_2;\n  lVar12 = FUN_000786a0(param_1,param_2,param_3,0,param_7,&local_44);\n  *param_6 = lVar12;\n  if (lVar12 == -1) {\n    return 0;\n  }\n  *param_4 = param_1[9];\n  iVar9 = param_1[0x2b];\n  *param_5 = (int)((int)local_64 + 0x3c);\n  param_5[1] = local_60 + (uint)((undefined1 *)0xffffffc3 < local_64);\n  if ((char)iVar9 == '\0') {\n    return 1;\n  }\n  local_5c = (undefined **)*param_7;\n  if (*(char *)local_5c != '/') {\n    local_5c = local_58 + -0xb0d4c;\n    if (*(undefined ***)(*param_1 + 8) == local_5c) {\n      puVar2 = (undefined4 *)(param_1[9] + 0x1c);\n    }\n    else {\n      puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n    }\n    local_64 = (undefined1 **)*puVar2;\n    puVar3 = (undefined1 *)FUN_001a99f0(local_64);\n    if (local_64 < puVar3) {\n      if (*(undefined ***)(*param_1 + 8) == local_5c) {\n        piVar4 = (int *)(param_1[9] + 0x1c);\n      }\n      else {\n        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n      }\n      local_38 = local_30;\n      ppuStack_70 = (undefined1 **)0x0;\n      uVar5 = (int)puVar3 - (int)local_64;\n      if ((uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64)) {\n        uVar5 = piVar4[1];\n      }\n      local_64 = (undefined1 **)local_38;\n      FUN_00056c80(&local_38,*piVar4,uVar5 + *piVar4);\n                    \n      FUN_001b50b0(param_7,0,0,local_38,local_34);\n      if ((undefined1 **)local_38 != local_64) {\n        FUN_001ac470(local_38);\n      }\n    }\n    local_5c = (undefined **)*param_7;\n  }\n  ppuVar1 = local_58;\n  pppuVar11 = (undefined1 ***)&local_6c;\n  if ((int)(uint)(local_44 != 0) <= -local_40) {\n    local_64 = (undefined1 **)FUN_00084ae0(param_1[9]);\n    local_58 = ppuVar1;\n    piVar4 = (int *)FUN_001aa8c0(0x4c);\n    local_68 = piVar4 + 2;\n    *piVar4 = (int)local_68;\n    pcVar7 = (char *)0xffffffff;\n    if (local_5c != (undefined **)0x0) {\n      sVar8 = strlen((char *)local_5c);\n      pcVar7 = (char *)((int)local_5c + sVar8);\n    }\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4,local_5c,pcVar7);\n    piVar4[6] = 0;\n    piVar4[7] = (int)(piVar4 + 9);\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);\n    *(undefined1 *)(piVar4 + 0xd) = 0;\n    piVar4[0xe] = (int)*local_64;\n    piVar4[0xf] = (int)local_64[1];\n    piVar4[0x10] = (int)local_64[2];\n    iVar9 = (int)local_64[3];\n    piVar4[0x12] = 0;\n    piVar4[0x11] = iVar9;\n    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);\n    *puVar2 = piVar4;\n    puVar2[1] = puVar2 + 3;\n    puVar2[7] = puVar2 + 9;\n    puVar2[0x1a] = puVar2 + 0x18;\n    puVar2[0x1b] = puVar2 + 0x18;\n    puVar2[0x1e] = puVar2 + 0x1d;\n    puVar2[0x1d] = puVar2 + 0x1d;\n    ppuStack_70 = &local_38;\n    puVar2[2] = 0;\n    *(undefined1 *)(puVar2 + 3) = 0;\n    puVar2[8] = 0;\n    *(undefined1 *)(puVar2 + 9) = 0;\n    puVar2[0xd] = 0xffffffff;\n    *(undefined1 *)(puVar2 + 0xe) = 0;\n    puVar2[0xf] = 0;\n    puVar2[0x10] = 0;\n    puVar2[0x11] = 0;\n    *(undefined1 *)(puVar2 + 0x12) = 0;\n    puVar2[0x13] = 0;\n    puVar2[0x14] = 0;\n    puVar2[0x15] = 0;\n    puVar2[0x16] = 0;\n    puVar2[0x18] = 0;\n    puVar2[0x19] = 0;\n    puVar2[0x1c] = 0;\n    puVar2[0x1f] = 0;\n    puVar2[0x20] = 0;\n    *(undefined1 *)(puVar2 + 0x21) = 1;\n    puVar2[0x22] = 0;\n    *(undefined1 *)(puVar2 + 0x23) = 0;\n    puVar2[0x24] = 0;\n    *param_4 = (int)puVar2;\n    local_38 = (undefined1 *)0x0;\n    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);\n    if ((char)uVar6 == '\0') {\n      return 0;\n    }\n    *param_5 = 0;\n    param_5[1] = 0;\n    uVar10 = *(undefined4 *)(*param_4 + 0x40);\n    *(undefined4 *)((int)param_6 + 4) = *(undefined4 *)(*param_4 + 0x44);\n    *(undefined4 *)param_6 = uVar10;\n    return uVar6;\n  }\n  pcVar7 = (char *)local_5c;\n  local_5c = (undefined **)(param_1 + 0x2c);\n  uVar5 = FUN_001aa970(pcVar7,param_7[1],0xc70f6907);\n  piVar4 = (int *)FUN_0007d090(param_1 + 0x2c,uVar5 % (uint)param_1[0x2d],param_7,uVar5);\n  if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n    local_64 = *(undefined1 ***)(local_58[0xbc] + 8);\n    if (local_64 == (undefined1 **)0x0) {\n      ppuStack_70 = local_64;\n                    \n      FUN_0008b620((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7);\n    }\n    local_68 = (int *)*param_7;\n    piVar4 = (int *)FUN_001aa8c0(0x4c);\n    local_6c = piVar4 + 2;\n    *piVar4 = (int)local_6c;\n    pcVar7 = (char *)0xffffffff;\n    if (local_68 != (int *)0x0) {\n      sVar8 = strlen((char *)local_68);\n      pcVar7 = (char *)((int)local_68 + sVar8);\n    }\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4,local_68,pcVar7);\n    local_68 = piVar4 + 9;\n    piVar4[6] = 0;\n    piVar4[7] = (int)local_68;\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);\n    *(undefined1 *)(piVar4 + 0xd) = 0;\n    *(undefined1 *)(piVar4 + 0xe) = *(undefined1 *)((int)local_64 + 0x2f5);\n    *(undefined1 *)((int)piVar4 + 0x39) = *(undefined1 *)((int)local_64 + 0x549);\n                    \n    iVar9 = FUN_000d81b0(local_64);\n    piVar4[0xf] = iVar9;\n    *(undefined1 *)(piVar4 + 0x10) = *(undefined1 *)((int)local_64 + 0x4a2d);\n    puVar3 = local_64[0x1685];\n    piVar4[0x12] = 0;\n    piVar4[0x11] = (int)puVar3;\n    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);\n    *puVar2 = piVar4;\n    puVar2[1] = puVar2 + 3;\n    puVar2[7] = puVar2 + 9;\n    puVar2[0x1a] = puVar2 + 0x18;\n    puVar2[0x1b] = puVar2 + 0x18;\n    puVar2[0x1e] = puVar2 + 0x1d;\n    puVar2[0x1d] = puVar2 + 0x1d;\n    ppuStack_70 = &local_48;\n    puVar2[2] = 0;\n    *(undefined1 *)(puVar2 + 3) = 0;\n    puVar2[8] = 0;\n    *(undefined1 *)(puVar2 + 9) = 0;\n    puVar2[0xd] = 0xffffffff;\n    *(undefined1 *)(puVar2 + 0xe) = 0;\n    puVar2[0xf] = 0;\n    puVar2[0x10] = 0;\n    puVar2[0x11] = 0;\n    *(undefined1 *)(puVar2 + 0x12) = 0;\n    puVar2[0x13] = 0;\n    puVar2[0x14] = 0;\n    puVar2[0x15] = 0;\n    puVar2[0x16] = 0;\n    puVar2[0x18] = 0;\n    puVar2[0x19] = 0;\n    puVar2[0x1c] = 0;\n    puVar2[0x1f] = 0;\n    puVar2[0x20] = 0;\n    *(undefined1 *)(puVar2 + 0x21) = 1;\n    puVar2[0x22] = 0;\n    *(undefined1 *)(puVar2 + 0x23) = 0;\n    puVar2[0x24] = 0;\n    *param_4 = (int)puVar2;\n    local_48 = (undefined1 *)0x0;\n    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);\n    if ((char)uVar6 == '\0') {\n      return uVar6;\n    }\n    uVar6 = FUN_001aa8c0(0xd8);\n                    \n    FUN_00079850(uVar6,param_7,*param_4,0,param_1[0x33],param_1[1]);\n    FUN_0007abc0(uVar6);\n    local_64 = (undefined1 **)local_30;\n    ppuStack_70 = (undefined1 **)0x0;\n    local_38 = (undefined1 *)local_64;\n    FUN_0007c4c0(&local_38,*param_7,param_7[1] + *param_7);\n    ppuStack_70 = &local_38;\n    local_20 = uVar6;\n                    \n    FUN_0007d3c0(local_54,local_5c,0);\n    uVar10 = extraout_ECX;\n    if ((undefined1 **)local_38 != local_64) {\n      FUN_001ac470(local_38);\n      uVar10 = extraout_ECX_00;\n    }\n    pppuVar11 = &ppuStack_70;\n    if (local_50 == '\0') {\n                    \n      FUN_0008b620((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10);\n    }\n  }\n  else {\n    uVar6 = *(undefined4 *)(*piVar4 + 0x1c);\n  }\n  *(int **)((int)pppuVar11 + -8) = param_7;\n  *(longlong **)((int)pppuVar11 + -0xc) = param_6;\n  *(int **)((int)pppuVar11 + -0x10) = param_5;\n  *(int **)((int)pppuVar11 + -0x14) = param_4;\n  *(int *)((int)pppuVar11 + -0x18) = local_40;\n  *(int *)((int)pppuVar11 + -0x1c) = local_44;\n  *(undefined4 *)((int)pppuVar11 + -0x20) = uVar6;\n  *(undefined4 *)((int)pppuVar11 + -0x24) = 0x79c7d;\n  uVar6 = FUN_00079ae0();\n  return uVar6;\n}\n\n" (function_definition "undefined4\nFUN_00079ae0(int *param_1,undefined1 *param_2,int param_3,int *param_4,int *param_5,\n            longlong *param_6,int *param_7)\n\n{\n  undefined **ppuVar1;\n  undefined4 *puVar2;\n  undefined1 *puVar3;\n  int *piVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  char *pcVar7;\n  size_t sVar8;\n  int iVar9;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  undefined4 uVar10;\n  undefined1 ***pppuVar11;\n  longlong lVar12;\n  undefined1 **ppuStack_70;\n  int *local_6c;\n  int *local_68;\n  undefined1 **local_64;\n  int local_60;\n  undefined **local_5c;\n  undefined **local_58;\n  undefined1 local_54 [4];\n  char local_50;\n  undefined1 *local_48;\n  int local_44;\n  int local_40;\n  undefined1 *local_38;\n  undefined4 local_34;\n  undefined1 local_30 [16];\n  undefined4 local_20;\n  \n  local_58 = &__DT_PLTGOT;\n  local_60 = param_3;\n  local_64 = (undefined1 **)param_2;\n  lVar12 = FUN_000786a0(param_1,param_2,param_3,0,param_7,&local_44);\n  *param_6 = lVar12;\n  if (lVar12 == -1) {\n    return 0;\n  }\n  *param_4 = param_1[9];\n  iVar9 = param_1[0x2b];\n  *param_5 = (int)((int)local_64 + 0x3c);\n  param_5[1] = local_60 + (uint)((undefined1 *)0xffffffc3 < local_64);\n  if ((char)iVar9 == '\0') {\n    return 1;\n  }\n  local_5c = (undefined **)*param_7;\n  if (*(char *)local_5c != '/') {\n    local_5c = local_58 + -0xb0d4c;\n    if (*(undefined ***)(*param_1 + 8) == local_5c) {\n      puVar2 = (undefined4 *)(param_1[9] + 0x1c);\n    }\n    else {\n      puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n    }\n    local_64 = (undefined1 **)*puVar2;\n    puVar3 = (undefined1 *)FUN_001a99f0(local_64);\n    if (local_64 < puVar3) {\n      if (*(undefined ***)(*param_1 + 8) == local_5c) {\n        piVar4 = (int *)(param_1[9] + 0x1c);\n      }\n      else {\n        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n      }\n      local_38 = local_30;\n      ppuStack_70 = (undefined1 **)0x0;\n      uVar5 = (int)puVar3 - (int)local_64;\n      if ((uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64)) {\n        uVar5 = piVar4[1];\n      }\n      local_64 = (undefined1 **)local_38;\n      FUN_00056c80(&local_38,*piVar4,uVar5 + *piVar4);\n                    \n      FUN_001b50b0(param_7,0,0,local_38,local_34);\n      if ((undefined1 **)local_38 != local_64) {\n        FUN_001ac470(local_38);\n      }\n    }\n    local_5c = (undefined **)*param_7;\n  }\n  ppuVar1 = local_58;\n  pppuVar11 = (undefined1 ***)&local_6c;\n  if ((int)(uint)(local_44 != 0) <= -local_40) {\n    local_64 = (undefined1 **)FUN_00084ae0(param_1[9]);\n    local_58 = ppuVar1;\n    piVar4 = (int *)FUN_001aa8c0(0x4c);\n    local_68 = piVar4 + 2;\n    *piVar4 = (int)local_68;\n    pcVar7 = (char *)0xffffffff;\n    if (local_5c != (undefined **)0x0) {\n      sVar8 = strlen((char *)local_5c);\n      pcVar7 = (char *)((int)local_5c + sVar8);\n    }\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4,local_5c,pcVar7);\n    piVar4[6] = 0;\n    piVar4[7] = (int)(piVar4 + 9);\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);\n    *(undefined1 *)(piVar4 + 0xd) = 0;\n    piVar4[0xe] = (int)*local_64;\n    piVar4[0xf] = (int)local_64[1];\n    piVar4[0x10] = (int)local_64[2];\n    iVar9 = (int)local_64[3];\n    piVar4[0x12] = 0;\n    piVar4[0x11] = iVar9;\n    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);\n    *puVar2 = piVar4;\n    puVar2[1] = puVar2 + 3;\n    puVar2[7] = puVar2 + 9;\n    puVar2[0x1a] = puVar2 + 0x18;\n    puVar2[0x1b] = puVar2 + 0x18;\n    puVar2[0x1e] = puVar2 + 0x1d;\n    puVar2[0x1d] = puVar2 + 0x1d;\n    ppuStack_70 = &local_38;\n    puVar2[2] = 0;\n    *(undefined1 *)(puVar2 + 3) = 0;\n    puVar2[8] = 0;\n    *(undefined1 *)(puVar2 + 9) = 0;\n    puVar2[0xd] = 0xffffffff;\n    *(undefined1 *)(puVar2 + 0xe) = 0;\n    puVar2[0xf] = 0;\n    puVar2[0x10] = 0;\n    puVar2[0x11] = 0;\n    *(undefined1 *)(puVar2 + 0x12) = 0;\n    puVar2[0x13] = 0;\n    puVar2[0x14] = 0;\n    puVar2[0x15] = 0;\n    puVar2[0x16] = 0;\n    puVar2[0x18] = 0;\n    puVar2[0x19] = 0;\n    puVar2[0x1c] = 0;\n    puVar2[0x1f] = 0;\n    puVar2[0x20] = 0;\n    *(undefined1 *)(puVar2 + 0x21) = 1;\n    puVar2[0x22] = 0;\n    *(undefined1 *)(puVar2 + 0x23) = 0;\n    puVar2[0x24] = 0;\n    *param_4 = (int)puVar2;\n    local_38 = (undefined1 *)0x0;\n    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);\n    if ((char)uVar6 == '\0') {\n      return 0;\n    }\n    *param_5 = 0;\n    param_5[1] = 0;\n    uVar10 = *(undefined4 *)(*param_4 + 0x40);\n    *(undefined4 *)((int)param_6 + 4) = *(undefined4 *)(*param_4 + 0x44);\n    *(undefined4 *)param_6 = uVar10;\n    return uVar6;\n  }\n  pcVar7 = (char *)local_5c;\n  local_5c = (undefined **)(param_1 + 0x2c);\n  uVar5 = FUN_001aa970(pcVar7,param_7[1],0xc70f6907);\n  piVar4 = (int *)FUN_0007d090(param_1 + 0x2c,uVar5 % (uint)param_1[0x2d],param_7,uVar5);\n  if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n    local_64 = *(undefined1 ***)(local_58[0xbc] + 8);\n    if (local_64 == (undefined1 **)0x0) {\n      ppuStack_70 = local_64;\n                    \n      FUN_0008b620((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7);\n    }\n    local_68 = (int *)*param_7;\n    piVar4 = (int *)FUN_001aa8c0(0x4c);\n    local_6c = piVar4 + 2;\n    *piVar4 = (int)local_6c;\n    pcVar7 = (char *)0xffffffff;\n    if (local_68 != (int *)0x0) {\n      sVar8 = strlen((char *)local_68);\n      pcVar7 = (char *)((int)local_68 + sVar8);\n    }\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4,local_68,pcVar7);\n    local_68 = piVar4 + 9;\n    piVar4[6] = 0;\n    piVar4[7] = (int)local_68;\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);\n    *(undefined1 *)(piVar4 + 0xd) = 0;\n    *(undefined1 *)(piVar4 + 0xe) = *(undefined1 *)((int)local_64 + 0x2f5);\n    *(undefined1 *)((int)piVar4 + 0x39) = *(undefined1 *)((int)local_64 + 0x549);\n                    \n    iVar9 = FUN_000d81b0(local_64);\n    piVar4[0xf] = iVar9;\n    *(undefined1 *)(piVar4 + 0x10) = *(undefined1 *)((int)local_64 + 0x4a2d);\n    puVar3 = local_64[0x1685];\n    piVar4[0x12] = 0;\n    piVar4[0x11] = (int)puVar3;\n    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);\n    *puVar2 = piVar4;\n    puVar2[1] = puVar2 + 3;\n    puVar2[7] = puVar2 + 9;\n    puVar2[0x1a] = puVar2 + 0x18;\n    puVar2[0x1b] = puVar2 + 0x18;\n    puVar2[0x1e] = puVar2 + 0x1d;\n    puVar2[0x1d] = puVar2 + 0x1d;\n    ppuStack_70 = &local_48;\n    puVar2[2] = 0;\n    *(undefined1 *)(puVar2 + 3) = 0;\n    puVar2[8] = 0;\n    *(undefined1 *)(puVar2 + 9) = 0;\n    puVar2[0xd] = 0xffffffff;\n    *(undefined1 *)(puVar2 + 0xe) = 0;\n    puVar2[0xf] = 0;\n    puVar2[0x10] = 0;\n    puVar2[0x11] = 0;\n    *(undefined1 *)(puVar2 + 0x12) = 0;\n    puVar2[0x13] = 0;\n    puVar2[0x14] = 0;\n    puVar2[0x15] = 0;\n    puVar2[0x16] = 0;\n    puVar2[0x18] = 0;\n    puVar2[0x19] = 0;\n    puVar2[0x1c] = 0;\n    puVar2[0x1f] = 0;\n    puVar2[0x20] = 0;\n    *(undefined1 *)(puVar2 + 0x21) = 1;\n    puVar2[0x22] = 0;\n    *(undefined1 *)(puVar2 + 0x23) = 0;\n    puVar2[0x24] = 0;\n    *param_4 = (int)puVar2;\n    local_48 = (undefined1 *)0x0;\n    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);\n    if ((char)uVar6 == '\0') {\n      return uVar6;\n    }\n    uVar6 = FUN_001aa8c0(0xd8);\n                    \n    FUN_00079850(uVar6,param_7,*param_4,0,param_1[0x33],param_1[1]);\n    FUN_0007abc0(uVar6);\n    local_64 = (undefined1 **)local_30;\n    ppuStack_70 = (undefined1 **)0x0;\n    local_38 = (undefined1 *)local_64;\n    FUN_0007c4c0(&local_38,*param_7,param_7[1] + *param_7);\n    ppuStack_70 = &local_38;\n    local_20 = uVar6;\n                    \n    FUN_0007d3c0(local_54,local_5c,0);\n    uVar10 = extraout_ECX;\n    if ((undefined1 **)local_38 != local_64) {\n      FUN_001ac470(local_38);\n      uVar10 = extraout_ECX_00;\n    }\n    pppuVar11 = &ppuStack_70;\n    if (local_50 == '\0') {\n                    \n      FUN_0008b620((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10);\n    }\n  }\n  else {\n    uVar6 = *(undefined4 *)(*piVar4 + 0x1c);\n  }\n  *(int **)((int)pppuVar11 + -8) = param_7;\n  *(longlong **)((int)pppuVar11 + -0xc) = param_6;\n  *(int **)((int)pppuVar11 + -0x10) = param_5;\n  *(int **)((int)pppuVar11 + -0x14) = param_4;\n  *(int *)((int)pppuVar11 + -0x18) = local_40;\n  *(int *)((int)pppuVar11 + -0x1c) = local_44;\n  *(undefined4 *)((int)pppuVar11 + -0x20) = uVar6;\n  *(undefined4 *)((int)pppuVar11 + -0x24) = 0x79c7d;\n  uVar6 = FUN_00079ae0();\n  return uVar6;\n}" type_identifier (function_declarator "FUN_00079ae0(int *param_1,undefined1 *param_2,int param_3,int *param_4,int *param_5,\n            longlong *param_6,int *param_7)" identifier (parameter_list "(int *param_1,undefined1 *param_2,int param_3,int *param_4,int *param_5,\n            longlong *param_6,int *param_7)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined1 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "int *param_5" primitive_type (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "longlong *param_6" type_identifier (pointer_declarator "*param_6" * identifier)) , (parameter_declaration "int *param_7" primitive_type (pointer_declarator "*param_7" * identifier)) ))) (compound_statement "{\n  undefined **ppuVar1;\n  undefined4 *puVar2;\n  undefined1 *puVar3;\n  int *piVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  char *pcVar7;\n  size_t sVar8;\n  int iVar9;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  undefined4 uVar10;\n  undefined1 ***pppuVar11;\n  longlong lVar12;\n  undefined1 **ppuStack_70;\n  int *local_6c;\n  int *local_68;\n  undefined1 **local_64;\n  int local_60;\n  undefined **local_5c;\n  undefined **local_58;\n  undefined1 local_54 [4];\n  char local_50;\n  undefined1 *local_48;\n  int local_44;\n  int local_40;\n  undefined1 *local_38;\n  undefined4 local_34;\n  undefined1 local_30 [16];\n  undefined4 local_20;\n  \n  local_58 = &__DT_PLTGOT;\n  local_60 = param_3;\n  local_64 = (undefined1 **)param_2;\n  lVar12 = FUN_000786a0(param_1,param_2,param_3,0,param_7,&local_44);\n  *param_6 = lVar12;\n  if (lVar12 == -1) {\n    return 0;\n  }\n  *param_4 = param_1[9];\n  iVar9 = param_1[0x2b];\n  *param_5 = (int)((int)local_64 + 0x3c);\n  param_5[1] = local_60 + (uint)((undefined1 *)0xffffffc3 < local_64);\n  if ((char)iVar9 == '\0') {\n    return 1;\n  }\n  local_5c = (undefined **)*param_7;\n  if (*(char *)local_5c != '/') {\n    local_5c = local_58 + -0xb0d4c;\n    if (*(undefined ***)(*param_1 + 8) == local_5c) {\n      puVar2 = (undefined4 *)(param_1[9] + 0x1c);\n    }\n    else {\n      puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n    }\n    local_64 = (undefined1 **)*puVar2;\n    puVar3 = (undefined1 *)FUN_001a99f0(local_64);\n    if (local_64 < puVar3) {\n      if (*(undefined ***)(*param_1 + 8) == local_5c) {\n        piVar4 = (int *)(param_1[9] + 0x1c);\n      }\n      else {\n        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n      }\n      local_38 = local_30;\n      ppuStack_70 = (undefined1 **)0x0;\n      uVar5 = (int)puVar3 - (int)local_64;\n      if ((uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64)) {\n        uVar5 = piVar4[1];\n      }\n      local_64 = (undefined1 **)local_38;\n      FUN_00056c80(&local_38,*piVar4,uVar5 + *piVar4);\n                    \n      FUN_001b50b0(param_7,0,0,local_38,local_34);\n      if ((undefined1 **)local_38 != local_64) {\n        FUN_001ac470(local_38);\n      }\n    }\n    local_5c = (undefined **)*param_7;\n  }\n  ppuVar1 = local_58;\n  pppuVar11 = (undefined1 ***)&local_6c;\n  if ((int)(uint)(local_44 != 0) <= -local_40) {\n    local_64 = (undefined1 **)FUN_00084ae0(param_1[9]);\n    local_58 = ppuVar1;\n    piVar4 = (int *)FUN_001aa8c0(0x4c);\n    local_68 = piVar4 + 2;\n    *piVar4 = (int)local_68;\n    pcVar7 = (char *)0xffffffff;\n    if (local_5c != (undefined **)0x0) {\n      sVar8 = strlen((char *)local_5c);\n      pcVar7 = (char *)((int)local_5c + sVar8);\n    }\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4,local_5c,pcVar7);\n    piVar4[6] = 0;\n    piVar4[7] = (int)(piVar4 + 9);\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);\n    *(undefined1 *)(piVar4 + 0xd) = 0;\n    piVar4[0xe] = (int)*local_64;\n    piVar4[0xf] = (int)local_64[1];\n    piVar4[0x10] = (int)local_64[2];\n    iVar9 = (int)local_64[3];\n    piVar4[0x12] = 0;\n    piVar4[0x11] = iVar9;\n    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);\n    *puVar2 = piVar4;\n    puVar2[1] = puVar2 + 3;\n    puVar2[7] = puVar2 + 9;\n    puVar2[0x1a] = puVar2 + 0x18;\n    puVar2[0x1b] = puVar2 + 0x18;\n    puVar2[0x1e] = puVar2 + 0x1d;\n    puVar2[0x1d] = puVar2 + 0x1d;\n    ppuStack_70 = &local_38;\n    puVar2[2] = 0;\n    *(undefined1 *)(puVar2 + 3) = 0;\n    puVar2[8] = 0;\n    *(undefined1 *)(puVar2 + 9) = 0;\n    puVar2[0xd] = 0xffffffff;\n    *(undefined1 *)(puVar2 + 0xe) = 0;\n    puVar2[0xf] = 0;\n    puVar2[0x10] = 0;\n    puVar2[0x11] = 0;\n    *(undefined1 *)(puVar2 + 0x12) = 0;\n    puVar2[0x13] = 0;\n    puVar2[0x14] = 0;\n    puVar2[0x15] = 0;\n    puVar2[0x16] = 0;\n    puVar2[0x18] = 0;\n    puVar2[0x19] = 0;\n    puVar2[0x1c] = 0;\n    puVar2[0x1f] = 0;\n    puVar2[0x20] = 0;\n    *(undefined1 *)(puVar2 + 0x21) = 1;\n    puVar2[0x22] = 0;\n    *(undefined1 *)(puVar2 + 0x23) = 0;\n    puVar2[0x24] = 0;\n    *param_4 = (int)puVar2;\n    local_38 = (undefined1 *)0x0;\n    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);\n    if ((char)uVar6 == '\0') {\n      return 0;\n    }\n    *param_5 = 0;\n    param_5[1] = 0;\n    uVar10 = *(undefined4 *)(*param_4 + 0x40);\n    *(undefined4 *)((int)param_6 + 4) = *(undefined4 *)(*param_4 + 0x44);\n    *(undefined4 *)param_6 = uVar10;\n    return uVar6;\n  }\n  pcVar7 = (char *)local_5c;\n  local_5c = (undefined **)(param_1 + 0x2c);\n  uVar5 = FUN_001aa970(pcVar7,param_7[1],0xc70f6907);\n  piVar4 = (int *)FUN_0007d090(param_1 + 0x2c,uVar5 % (uint)param_1[0x2d],param_7,uVar5);\n  if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n    local_64 = *(undefined1 ***)(local_58[0xbc] + 8);\n    if (local_64 == (undefined1 **)0x0) {\n      ppuStack_70 = local_64;\n                    \n      FUN_0008b620((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7);\n    }\n    local_68 = (int *)*param_7;\n    piVar4 = (int *)FUN_001aa8c0(0x4c);\n    local_6c = piVar4 + 2;\n    *piVar4 = (int)local_6c;\n    pcVar7 = (char *)0xffffffff;\n    if (local_68 != (int *)0x0) {\n      sVar8 = strlen((char *)local_68);\n      pcVar7 = (char *)((int)local_68 + sVar8);\n    }\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4,local_68,pcVar7);\n    local_68 = piVar4 + 9;\n    piVar4[6] = 0;\n    piVar4[7] = (int)local_68;\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);\n    *(undefined1 *)(piVar4 + 0xd) = 0;\n    *(undefined1 *)(piVar4 + 0xe) = *(undefined1 *)((int)local_64 + 0x2f5);\n    *(undefined1 *)((int)piVar4 + 0x39) = *(undefined1 *)((int)local_64 + 0x549);\n                    \n    iVar9 = FUN_000d81b0(local_64);\n    piVar4[0xf] = iVar9;\n    *(undefined1 *)(piVar4 + 0x10) = *(undefined1 *)((int)local_64 + 0x4a2d);\n    puVar3 = local_64[0x1685];\n    piVar4[0x12] = 0;\n    piVar4[0x11] = (int)puVar3;\n    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);\n    *puVar2 = piVar4;\n    puVar2[1] = puVar2 + 3;\n    puVar2[7] = puVar2 + 9;\n    puVar2[0x1a] = puVar2 + 0x18;\n    puVar2[0x1b] = puVar2 + 0x18;\n    puVar2[0x1e] = puVar2 + 0x1d;\n    puVar2[0x1d] = puVar2 + 0x1d;\n    ppuStack_70 = &local_48;\n    puVar2[2] = 0;\n    *(undefined1 *)(puVar2 + 3) = 0;\n    puVar2[8] = 0;\n    *(undefined1 *)(puVar2 + 9) = 0;\n    puVar2[0xd] = 0xffffffff;\n    *(undefined1 *)(puVar2 + 0xe) = 0;\n    puVar2[0xf] = 0;\n    puVar2[0x10] = 0;\n    puVar2[0x11] = 0;\n    *(undefined1 *)(puVar2 + 0x12) = 0;\n    puVar2[0x13] = 0;\n    puVar2[0x14] = 0;\n    puVar2[0x15] = 0;\n    puVar2[0x16] = 0;\n    puVar2[0x18] = 0;\n    puVar2[0x19] = 0;\n    puVar2[0x1c] = 0;\n    puVar2[0x1f] = 0;\n    puVar2[0x20] = 0;\n    *(undefined1 *)(puVar2 + 0x21) = 1;\n    puVar2[0x22] = 0;\n    *(undefined1 *)(puVar2 + 0x23) = 0;\n    puVar2[0x24] = 0;\n    *param_4 = (int)puVar2;\n    local_48 = (undefined1 *)0x0;\n    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);\n    if ((char)uVar6 == '\0') {\n      return uVar6;\n    }\n    uVar6 = FUN_001aa8c0(0xd8);\n                    \n    FUN_00079850(uVar6,param_7,*param_4,0,param_1[0x33],param_1[1]);\n    FUN_0007abc0(uVar6);\n    local_64 = (undefined1 **)local_30;\n    ppuStack_70 = (undefined1 **)0x0;\n    local_38 = (undefined1 *)local_64;\n    FUN_0007c4c0(&local_38,*param_7,param_7[1] + *param_7);\n    ppuStack_70 = &local_38;\n    local_20 = uVar6;\n                    \n    FUN_0007d3c0(local_54,local_5c,0);\n    uVar10 = extraout_ECX;\n    if ((undefined1 **)local_38 != local_64) {\n      FUN_001ac470(local_38);\n      uVar10 = extraout_ECX_00;\n    }\n    pppuVar11 = &ppuStack_70;\n    if (local_50 == '\0') {\n                    \n      FUN_0008b620((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10);\n    }\n  }\n  else {\n    uVar6 = *(undefined4 *)(*piVar4 + 0x1c);\n  }\n  *(int **)((int)pppuVar11 + -8) = param_7;\n  *(longlong **)((int)pppuVar11 + -0xc) = param_6;\n  *(int **)((int)pppuVar11 + -0x10) = param_5;\n  *(int **)((int)pppuVar11 + -0x14) = param_4;\n  *(int *)((int)pppuVar11 + -0x18) = local_40;\n  *(int *)((int)pppuVar11 + -0x1c) = local_44;\n  *(undefined4 *)((int)pppuVar11 + -0x20) = uVar6;\n  *(undefined4 *)((int)pppuVar11 + -0x24) = 0x79c7d;\n  uVar6 = FUN_00079ae0();\n  return uVar6;\n}" { (declaration "undefined **ppuVar1;" type_identifier (pointer_declarator "**ppuVar1" * (pointer_declarator "*ppuVar1" * identifier)) ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined1 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "size_t sVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_00;" type_identifier identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "undefined1 ***pppuVar11;" type_identifier (pointer_declarator "***pppuVar11" * (pointer_declarator "**pppuVar11" * (pointer_declarator "*pppuVar11" * identifier))) ;) (declaration "longlong lVar12;" type_identifier identifier ;) (declaration "undefined1 **ppuStack_70;" type_identifier (pointer_declarator "**ppuStack_70" * (pointer_declarator "*ppuStack_70" * identifier)) ;) (declaration "int *local_6c;" primitive_type (pointer_declarator "*local_6c" * identifier) ;) (declaration "int *local_68;" primitive_type (pointer_declarator "*local_68" * identifier) ;) (declaration "undefined1 **local_64;" type_identifier (pointer_declarator "**local_64" * (pointer_declarator "*local_64" * identifier)) ;) (declaration "int local_60;" primitive_type identifier ;) (declaration "undefined **local_5c;" type_identifier (pointer_declarator "**local_5c" * (pointer_declarator "*local_5c" * identifier)) ;) (declaration "undefined **local_58;" type_identifier (pointer_declarator "**local_58" * (pointer_declarator "*local_58" * identifier)) ;) (declaration "undefined1 local_54 [4];" type_identifier (array_declarator "local_54 [4]" identifier [ number_literal ]) ;) (declaration "char local_50;" primitive_type identifier ;) (declaration "undefined1 *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "undefined1 *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined1 local_30 [16];" type_identifier (array_declarator "local_30 [16]" identifier [ number_literal ]) ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (expression_statement "local_58 = &__DT_PLTGOT;" (assignment_expression "local_58 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "local_60 = param_3;" (assignment_expression "local_60 = param_3" identifier = identifier) ;) (expression_statement "local_64 = (undefined1 **)param_2;" (assignment_expression "local_64 = (undefined1 **)param_2" identifier = (cast_expression "(undefined1 **)param_2" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "lVar12 = FUN_000786a0(param_1,param_2,param_3,0,param_7,&local_44);" (assignment_expression "lVar12 = FUN_000786a0(param_1,param_2,param_3,0,param_7,&local_44)" identifier = (call_expression "FUN_000786a0(param_1,param_2,param_3,0,param_7,&local_44)" identifier (argument_list "(param_1,param_2,param_3,0,param_7,&local_44)" ( identifier , identifier , identifier , number_literal , identifier , (pointer_expression "&local_44" & identifier) )))) ;) (expression_statement "*param_6 = lVar12;" (assignment_expression "*param_6 = lVar12" (pointer_expression "*param_6" * identifier) = identifier) ;) (if_statement "if (lVar12 == -1) {\n    return 0;\n  }" if (parenthesized_expression "(lVar12 == -1)" ( (binary_expression "lVar12 == -1" identifier == number_literal) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "*param_4 = param_1[9];" (assignment_expression "*param_4 = param_1[9]" (pointer_expression "*param_4" * identifier) = (subscript_expression "param_1[9]" identifier [ number_literal ])) ;) (expression_statement "iVar9 = param_1[0x2b];" (assignment_expression "iVar9 = param_1[0x2b]" identifier = (subscript_expression "param_1[0x2b]" identifier [ number_literal ])) ;) (expression_statement "*param_5 = (int)((int)local_64 + 0x3c);" (assignment_expression "*param_5 = (int)((int)local_64 + 0x3c)" (pointer_expression "*param_5" * identifier) = (cast_expression "(int)((int)local_64 + 0x3c)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)local_64 + 0x3c)" ( (binary_expression "(int)local_64 + 0x3c" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "param_5[1] = local_60 + (uint)((undefined1 *)0xffffffc3 < local_64);" (assignment_expression "param_5[1] = local_60 + (uint)((undefined1 *)0xffffffc3 < local_64)" (subscript_expression "param_5[1]" identifier [ number_literal ]) = (binary_expression "local_60 + (uint)((undefined1 *)0xffffffc3 < local_64)" identifier + (call_expression "(uint)((undefined1 *)0xffffffc3 < local_64)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined1 *)0xffffffc3 < local_64)" ( (binary_expression "(undefined1 *)0xffffffc3 < local_64" (cast_expression "(undefined1 *)0xffffffc3" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) ))))) ;) (if_statement "if ((char)iVar9 == '\0') {\n    return 1;\n  }" if (parenthesized_expression "((char)iVar9 == '\0')" ( (binary_expression "(char)iVar9 == '\0'" (cast_expression "(char)iVar9" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return 1;\n  }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "local_5c = (undefined **)*param_7;" (assignment_expression "local_5c = (undefined **)*param_7" identifier = (cast_expression "(undefined **)*param_7" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*param_7" * identifier))) ;) (if_statement "if (*(char *)local_5c != '/') {\n    local_5c = local_58 + -0xb0d4c;\n    if (*(undefined ***)(*param_1 + 8) == local_5c) {\n      puVar2 = (undefined4 *)(param_1[9] + 0x1c);\n    }\n    else {\n      puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n    }\n    local_64 = (undefined1 **)*puVar2;\n    puVar3 = (undefined1 *)FUN_001a99f0(local_64);\n    if (local_64 < puVar3) {\n      if (*(undefined ***)(*param_1 + 8) == local_5c) {\n        piVar4 = (int *)(param_1[9] + 0x1c);\n      }\n      else {\n        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n      }\n      local_38 = local_30;\n      ppuStack_70 = (undefined1 **)0x0;\n      uVar5 = (int)puVar3 - (int)local_64;\n      if ((uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64)) {\n        uVar5 = piVar4[1];\n      }\n      local_64 = (undefined1 **)local_38;\n      FUN_00056c80(&local_38,*piVar4,uVar5 + *piVar4);\n                    \n      FUN_001b50b0(param_7,0,0,local_38,local_34);\n      if ((undefined1 **)local_38 != local_64) {\n        FUN_001ac470(local_38);\n      }\n    }\n    local_5c = (undefined **)*param_7;\n  }" if (parenthesized_expression "(*(char *)local_5c != '/')" ( (binary_expression "*(char *)local_5c != '/'" (pointer_expression "*(char *)local_5c" * (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != (char_literal "'/'" ' character ')) )) (compound_statement "{\n    local_5c = local_58 + -0xb0d4c;\n    if (*(undefined ***)(*param_1 + 8) == local_5c) {\n      puVar2 = (undefined4 *)(param_1[9] + 0x1c);\n    }\n    else {\n      puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n    }\n    local_64 = (undefined1 **)*puVar2;\n    puVar3 = (undefined1 *)FUN_001a99f0(local_64);\n    if (local_64 < puVar3) {\n      if (*(undefined ***)(*param_1 + 8) == local_5c) {\n        piVar4 = (int *)(param_1[9] + 0x1c);\n      }\n      else {\n        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n      }\n      local_38 = local_30;\n      ppuStack_70 = (undefined1 **)0x0;\n      uVar5 = (int)puVar3 - (int)local_64;\n      if ((uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64)) {\n        uVar5 = piVar4[1];\n      }\n      local_64 = (undefined1 **)local_38;\n      FUN_00056c80(&local_38,*piVar4,uVar5 + *piVar4);\n                    \n      FUN_001b50b0(param_7,0,0,local_38,local_34);\n      if ((undefined1 **)local_38 != local_64) {\n        FUN_001ac470(local_38);\n      }\n    }\n    local_5c = (undefined **)*param_7;\n  }" { (expression_statement "local_5c = local_58 + -0xb0d4c;" (assignment_expression "local_5c = local_58 + -0xb0d4c" identifier = (binary_expression "local_58 + -0xb0d4c" identifier + number_literal)) ;) (if_statement "if (*(undefined ***)(*param_1 + 8) == local_5c) {\n      puVar2 = (undefined4 *)(param_1[9] + 0x1c);\n    }\n    else {\n      puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n    }" if (parenthesized_expression "(*(undefined ***)(*param_1 + 8) == local_5c)" ( (binary_expression "*(undefined ***)(*param_1 + 8) == local_5c" (pointer_expression "*(undefined ***)(*param_1 + 8)" * (cast_expression "(undefined ***)(*param_1 + 8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n      puVar2 = (undefined4 *)(param_1[9] + 0x1c);\n    }" { (expression_statement "puVar2 = (undefined4 *)(param_1[9] + 0x1c);" (assignment_expression "puVar2 = (undefined4 *)(param_1[9] + 0x1c)" identifier = (cast_expression "(undefined4 *)(param_1[9] + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[9] + 0x1c)" ( (binary_expression "param_1[9] + 0x1c" (subscript_expression "param_1[9]" identifier [ number_literal ]) + number_literal) )))) ;) }) (else_clause "else {\n      puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n    }" else (compound_statement "{\n      puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n    }" { (expression_statement "puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);" (assignment_expression "puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1)" identifier = (cast_expression "(undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)*(undefined ***)(*param_1 + 8))(param_1)" (parenthesized_expression "(*(code *)*(undefined ***)(*param_1 + 8))" ( (pointer_expression "*(code *)*(undefined ***)(*param_1 + 8)" * (cast_expression "(code *)*(undefined ***)(*param_1 + 8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*(undefined ***)(*param_1 + 8)" * (cast_expression "(undefined ***)(*param_1 + 8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) )))))) )) (argument_list "(param_1)" ( identifier ))))) ;) }))) (expression_statement "local_64 = (undefined1 **)*puVar2;" (assignment_expression "local_64 = (undefined1 **)*puVar2" identifier = (cast_expression "(undefined1 **)*puVar2" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*puVar2" * identifier))) ;) (expression_statement "puVar3 = (undefined1 *)FUN_001a99f0(local_64);" (assignment_expression "puVar3 = (undefined1 *)FUN_001a99f0(local_64)" identifier = (cast_expression "(undefined1 *)FUN_001a99f0(local_64)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001a99f0(local_64)" identifier (argument_list "(local_64)" ( identifier ))))) ;) (if_statement "if (local_64 < puVar3) {\n      if (*(undefined ***)(*param_1 + 8) == local_5c) {\n        piVar4 = (int *)(param_1[9] + 0x1c);\n      }\n      else {\n        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n      }\n      local_38 = local_30;\n      ppuStack_70 = (undefined1 **)0x0;\n      uVar5 = (int)puVar3 - (int)local_64;\n      if ((uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64)) {\n        uVar5 = piVar4[1];\n      }\n      local_64 = (undefined1 **)local_38;\n      FUN_00056c80(&local_38,*piVar4,uVar5 + *piVar4);\n                    \n      FUN_001b50b0(param_7,0,0,local_38,local_34);\n      if ((undefined1 **)local_38 != local_64) {\n        FUN_001ac470(local_38);\n      }\n    }" if (parenthesized_expression "(local_64 < puVar3)" ( (binary_expression "local_64 < puVar3" identifier < identifier) )) (compound_statement "{\n      if (*(undefined ***)(*param_1 + 8) == local_5c) {\n        piVar4 = (int *)(param_1[9] + 0x1c);\n      }\n      else {\n        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n      }\n      local_38 = local_30;\n      ppuStack_70 = (undefined1 **)0x0;\n      uVar5 = (int)puVar3 - (int)local_64;\n      if ((uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64)) {\n        uVar5 = piVar4[1];\n      }\n      local_64 = (undefined1 **)local_38;\n      FUN_00056c80(&local_38,*piVar4,uVar5 + *piVar4);\n                    \n      FUN_001b50b0(param_7,0,0,local_38,local_34);\n      if ((undefined1 **)local_38 != local_64) {\n        FUN_001ac470(local_38);\n      }\n    }" { (if_statement "if (*(undefined ***)(*param_1 + 8) == local_5c) {\n        piVar4 = (int *)(param_1[9] + 0x1c);\n      }\n      else {\n        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n      }" if (parenthesized_expression "(*(undefined ***)(*param_1 + 8) == local_5c)" ( (binary_expression "*(undefined ***)(*param_1 + 8) == local_5c" (pointer_expression "*(undefined ***)(*param_1 + 8)" * (cast_expression "(undefined ***)(*param_1 + 8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n        piVar4 = (int *)(param_1[9] + 0x1c);\n      }" { (expression_statement "piVar4 = (int *)(param_1[9] + 0x1c);" (assignment_expression "piVar4 = (int *)(param_1[9] + 0x1c)" identifier = (cast_expression "(int *)(param_1[9] + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[9] + 0x1c)" ( (binary_expression "param_1[9] + 0x1c" (subscript_expression "param_1[9]" identifier [ number_literal ]) + number_literal) )))) ;) }) (else_clause "else {\n        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n      }" else (compound_statement "{\n        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n      }" { (expression_statement "piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);" (assignment_expression "piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1)" identifier = (cast_expression "(int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)*(undefined ***)(*param_1 + 8))(param_1)" (parenthesized_expression "(*(code *)*(undefined ***)(*param_1 + 8))" ( (pointer_expression "*(code *)*(undefined ***)(*param_1 + 8)" * (cast_expression "(code *)*(undefined ***)(*param_1 + 8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*(undefined ***)(*param_1 + 8)" * (cast_expression "(undefined ***)(*param_1 + 8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) )))))) )) (argument_list "(param_1)" ( identifier ))))) ;) }))) (expression_statement "local_38 = local_30;" (assignment_expression "local_38 = local_30" identifier = identifier) ;) (expression_statement "ppuStack_70 = (undefined1 **)0x0;" (assignment_expression "ppuStack_70 = (undefined1 **)0x0" identifier = (cast_expression "(undefined1 **)0x0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "uVar5 = (int)puVar3 - (int)local_64;" (assignment_expression "uVar5 = (int)puVar3 - (int)local_64" identifier = (binary_expression "(int)puVar3 - (int)local_64" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64)) {\n        uVar5 = piVar4[1];\n      }" if (parenthesized_expression "((uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64))" ( (binary_expression "(uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64)" (cast_expression "(uint)piVar4[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar4[1]" identifier [ number_literal ])) < (call_expression "(uint)((int)puVar3 - (int)local_64)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)puVar3 - (int)local_64)" ( (binary_expression "(int)puVar3 - (int)local_64" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) (compound_statement "{\n        uVar5 = piVar4[1];\n      }" { (expression_statement "uVar5 = piVar4[1];" (assignment_expression "uVar5 = piVar4[1]" identifier = (subscript_expression "piVar4[1]" identifier [ number_literal ])) ;) })) (expression_statement "local_64 = (undefined1 **)local_38;" (assignment_expression "local_64 = (undefined1 **)local_38" identifier = (cast_expression "(undefined1 **)local_38" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "FUN_00056c80(&local_38,*piVar4,uVar5 + *piVar4);" (call_expression "FUN_00056c80(&local_38,*piVar4,uVar5 + *piVar4)" identifier (argument_list "(&local_38,*piVar4,uVar5 + *piVar4)" ( (pointer_expression "&local_38" & identifier) , (pointer_expression "*piVar4" * identifier) , (binary_expression "uVar5 + *piVar4" identifier + (pointer_expression "*piVar4" * identifier)) ))) ;) (expression_statement "FUN_001b50b0(param_7,0,0,local_38,local_34);" (call_expression "FUN_001b50b0(param_7,0,0,local_38,local_34)" identifier (argument_list "(param_7,0,0,local_38,local_34)" ( identifier , number_literal , number_literal , identifier , identifier ))) ;) (if_statement "if ((undefined1 **)local_38 != local_64) {\n        FUN_001ac470(local_38);\n      }" if (parenthesized_expression "((undefined1 **)local_38 != local_64)" ( (binary_expression "(undefined1 **)local_38 != local_64" (cast_expression "(undefined1 **)local_38" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) != identifier) )) (compound_statement "{\n        FUN_001ac470(local_38);\n      }" { (expression_statement "FUN_001ac470(local_38);" (call_expression "FUN_001ac470(local_38)" identifier (argument_list "(local_38)" ( identifier ))) ;) })) })) (expression_statement "local_5c = (undefined **)*param_7;" (assignment_expression "local_5c = (undefined **)*param_7" identifier = (cast_expression "(undefined **)*param_7" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*param_7" * identifier))) ;) })) (expression_statement "ppuVar1 = local_58;" (assignment_expression "ppuVar1 = local_58" identifier = identifier) ;) (expression_statement "pppuVar11 = (undefined1 ***)&local_6c;" (assignment_expression "pppuVar11 = (undefined1 ***)&local_6c" identifier = (cast_expression "(undefined1 ***)&local_6c" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&local_6c" & identifier))) ;) (if_statement "if ((int)(uint)(local_44 != 0) <= -local_40) {\n    local_64 = (undefined1 **)FUN_00084ae0(param_1[9]);\n    local_58 = ppuVar1;\n    piVar4 = (int *)FUN_001aa8c0(0x4c);\n    local_68 = piVar4 + 2;\n    *piVar4 = (int)local_68;\n    pcVar7 = (char *)0xffffffff;\n    if (local_5c != (undefined **)0x0) {\n      sVar8 = strlen((char *)local_5c);\n      pcVar7 = (char *)((int)local_5c + sVar8);\n    }\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4,local_5c,pcVar7);\n    piVar4[6] = 0;\n    piVar4[7] = (int)(piVar4 + 9);\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);\n    *(undefined1 *)(piVar4 + 0xd) = 0;\n    piVar4[0xe] = (int)*local_64;\n    piVar4[0xf] = (int)local_64[1];\n    piVar4[0x10] = (int)local_64[2];\n    iVar9 = (int)local_64[3];\n    piVar4[0x12] = 0;\n    piVar4[0x11] = iVar9;\n    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);\n    *puVar2 = piVar4;\n    puVar2[1] = puVar2 + 3;\n    puVar2[7] = puVar2 + 9;\n    puVar2[0x1a] = puVar2 + 0x18;\n    puVar2[0x1b] = puVar2 + 0x18;\n    puVar2[0x1e] = puVar2 + 0x1d;\n    puVar2[0x1d] = puVar2 + 0x1d;\n    ppuStack_70 = &local_38;\n    puVar2[2] = 0;\n    *(undefined1 *)(puVar2 + 3) = 0;\n    puVar2[8] = 0;\n    *(undefined1 *)(puVar2 + 9) = 0;\n    puVar2[0xd] = 0xffffffff;\n    *(undefined1 *)(puVar2 + 0xe) = 0;\n    puVar2[0xf] = 0;\n    puVar2[0x10] = 0;\n    puVar2[0x11] = 0;\n    *(undefined1 *)(puVar2 + 0x12) = 0;\n    puVar2[0x13] = 0;\n    puVar2[0x14] = 0;\n    puVar2[0x15] = 0;\n    puVar2[0x16] = 0;\n    puVar2[0x18] = 0;\n    puVar2[0x19] = 0;\n    puVar2[0x1c] = 0;\n    puVar2[0x1f] = 0;\n    puVar2[0x20] = 0;\n    *(undefined1 *)(puVar2 + 0x21) = 1;\n    puVar2[0x22] = 0;\n    *(undefined1 *)(puVar2 + 0x23) = 0;\n    puVar2[0x24] = 0;\n    *param_4 = (int)puVar2;\n    local_38 = (undefined1 *)0x0;\n    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);\n    if ((char)uVar6 == '\0') {\n      return 0;\n    }\n    *param_5 = 0;\n    param_5[1] = 0;\n    uVar10 = *(undefined4 *)(*param_4 + 0x40);\n    *(undefined4 *)((int)param_6 + 4) = *(undefined4 *)(*param_4 + 0x44);\n    *(undefined4 *)param_6 = uVar10;\n    return uVar6;\n  }" if (parenthesized_expression "((int)(uint)(local_44 != 0) <= -local_40)" ( (binary_expression "(int)(uint)(local_44 != 0) <= -local_40" (cast_expression "(int)(uint)(local_44 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(local_44 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_44 != 0)" ( (binary_expression "local_44 != 0" identifier != number_literal) )))) <= (unary_expression "-local_40" - identifier)) )) (compound_statement "{\n    local_64 = (undefined1 **)FUN_00084ae0(param_1[9]);\n    local_58 = ppuVar1;\n    piVar4 = (int *)FUN_001aa8c0(0x4c);\n    local_68 = piVar4 + 2;\n    *piVar4 = (int)local_68;\n    pcVar7 = (char *)0xffffffff;\n    if (local_5c != (undefined **)0x0) {\n      sVar8 = strlen((char *)local_5c);\n      pcVar7 = (char *)((int)local_5c + sVar8);\n    }\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4,local_5c,pcVar7);\n    piVar4[6] = 0;\n    piVar4[7] = (int)(piVar4 + 9);\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);\n    *(undefined1 *)(piVar4 + 0xd) = 0;\n    piVar4[0xe] = (int)*local_64;\n    piVar4[0xf] = (int)local_64[1];\n    piVar4[0x10] = (int)local_64[2];\n    iVar9 = (int)local_64[3];\n    piVar4[0x12] = 0;\n    piVar4[0x11] = iVar9;\n    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);\n    *puVar2 = piVar4;\n    puVar2[1] = puVar2 + 3;\n    puVar2[7] = puVar2 + 9;\n    puVar2[0x1a] = puVar2 + 0x18;\n    puVar2[0x1b] = puVar2 + 0x18;\n    puVar2[0x1e] = puVar2 + 0x1d;\n    puVar2[0x1d] = puVar2 + 0x1d;\n    ppuStack_70 = &local_38;\n    puVar2[2] = 0;\n    *(undefined1 *)(puVar2 + 3) = 0;\n    puVar2[8] = 0;\n    *(undefined1 *)(puVar2 + 9) = 0;\n    puVar2[0xd] = 0xffffffff;\n    *(undefined1 *)(puVar2 + 0xe) = 0;\n    puVar2[0xf] = 0;\n    puVar2[0x10] = 0;\n    puVar2[0x11] = 0;\n    *(undefined1 *)(puVar2 + 0x12) = 0;\n    puVar2[0x13] = 0;\n    puVar2[0x14] = 0;\n    puVar2[0x15] = 0;\n    puVar2[0x16] = 0;\n    puVar2[0x18] = 0;\n    puVar2[0x19] = 0;\n    puVar2[0x1c] = 0;\n    puVar2[0x1f] = 0;\n    puVar2[0x20] = 0;\n    *(undefined1 *)(puVar2 + 0x21) = 1;\n    puVar2[0x22] = 0;\n    *(undefined1 *)(puVar2 + 0x23) = 0;\n    puVar2[0x24] = 0;\n    *param_4 = (int)puVar2;\n    local_38 = (undefined1 *)0x0;\n    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);\n    if ((char)uVar6 == '\0') {\n      return 0;\n    }\n    *param_5 = 0;\n    param_5[1] = 0;\n    uVar10 = *(undefined4 *)(*param_4 + 0x40);\n    *(undefined4 *)((int)param_6 + 4) = *(undefined4 *)(*param_4 + 0x44);\n    *(undefined4 *)param_6 = uVar10;\n    return uVar6;\n  }" { (expression_statement "local_64 = (undefined1 **)FUN_00084ae0(param_1[9]);" (assignment_expression "local_64 = (undefined1 **)FUN_00084ae0(param_1[9])" identifier = (cast_expression "(undefined1 **)FUN_00084ae0(param_1[9])" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "FUN_00084ae0(param_1[9])" identifier (argument_list "(param_1[9])" ( (subscript_expression "param_1[9]" identifier [ number_literal ]) ))))) ;) (expression_statement "local_58 = ppuVar1;" (assignment_expression "local_58 = ppuVar1" identifier = identifier) ;) (expression_statement "piVar4 = (int *)FUN_001aa8c0(0x4c);" (assignment_expression "piVar4 = (int *)FUN_001aa8c0(0x4c)" identifier = (cast_expression "(int *)FUN_001aa8c0(0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001aa8c0(0x4c)" identifier (argument_list "(0x4c)" ( number_literal ))))) ;) (expression_statement "local_68 = piVar4 + 2;" (assignment_expression "local_68 = piVar4 + 2" identifier = (binary_expression "piVar4 + 2" identifier + number_literal)) ;) (expression_statement "*piVar4 = (int)local_68;" (assignment_expression "*piVar4 = (int)local_68" (pointer_expression "*piVar4" * identifier) = (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pcVar7 = (char *)0xffffffff;" (assignment_expression "pcVar7 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_5c != (undefined **)0x0) {\n      sVar8 = strlen((char *)local_5c);\n      pcVar7 = (char *)((int)local_5c + sVar8);\n    }" if (parenthesized_expression "(local_5c != (undefined **)0x0)" ( (binary_expression "local_5c != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n      sVar8 = strlen((char *)local_5c);\n      pcVar7 = (char *)((int)local_5c + sVar8);\n    }" { (expression_statement "sVar8 = strlen((char *)local_5c);" (assignment_expression "sVar8 = strlen((char *)local_5c)" identifier = (call_expression "strlen((char *)local_5c)" identifier (argument_list "((char *)local_5c)" ( (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "pcVar7 = (char *)((int)local_5c + sVar8);" (assignment_expression "pcVar7 = (char *)((int)local_5c + sVar8)" identifier = (cast_expression "(char *)((int)local_5c + sVar8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_5c + sVar8)" ( (binary_expression "(int)local_5c + sVar8" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) })) (expression_statement "ppuStack_70 = (undefined1 **)0x0;" (assignment_expression "ppuStack_70 = (undefined1 **)0x0" identifier = (cast_expression "(undefined1 **)0x0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "FUN_00056c80(piVar4,local_5c,pcVar7);" (call_expression "FUN_00056c80(piVar4,local_5c,pcVar7)" identifier (argument_list "(piVar4,local_5c,pcVar7)" ( identifier , identifier , identifier ))) ;) (expression_statement "piVar4[6] = 0;" (assignment_expression "piVar4[6] = 0" (subscript_expression "piVar4[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[7] = (int)(piVar4 + 9);" (assignment_expression "piVar4[7] = (int)(piVar4 + 9)" (subscript_expression "piVar4[7]" identifier [ number_literal ]) = (cast_expression "(int)(piVar4 + 9)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar4 + 9)" ( (binary_expression "piVar4 + 9" identifier + number_literal) )))) ;) (expression_statement "ppuStack_70 = (undefined1 **)0x0;" (assignment_expression "ppuStack_70 = (undefined1 **)0x0" identifier = (cast_expression "(undefined1 **)0x0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);" (call_expression "FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a)" identifier (argument_list "(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a)" ( (binary_expression "piVar4 + 7" identifier + number_literal) , (binary_expression "(int)local_58 + -0xd834a" (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , (binary_expression "(int)local_58 + -0xd834a" (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ;) (expression_statement "*(undefined1 *)(piVar4 + 0xd) = 0;" (assignment_expression "*(undefined1 *)(piVar4 + 0xd) = 0" (pointer_expression "*(undefined1 *)(piVar4 + 0xd)" * (cast_expression "(undefined1 *)(piVar4 + 0xd)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 0xd)" ( (binary_expression "piVar4 + 0xd" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar4[0xe] = (int)*local_64;" (assignment_expression "piVar4[0xe] = (int)*local_64" (subscript_expression "piVar4[0xe]" identifier [ number_literal ]) = (cast_expression "(int)*local_64" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*local_64" * identifier))) ;) (expression_statement "piVar4[0xf] = (int)local_64[1];" (assignment_expression "piVar4[0xf] = (int)local_64[1]" (subscript_expression "piVar4[0xf]" identifier [ number_literal ]) = (cast_expression "(int)local_64[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_64[1]" identifier [ number_literal ]))) ;) (expression_statement "piVar4[0x10] = (int)local_64[2];" (assignment_expression "piVar4[0x10] = (int)local_64[2]" (subscript_expression "piVar4[0x10]" identifier [ number_literal ]) = (cast_expression "(int)local_64[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_64[2]" identifier [ number_literal ]))) ;) (expression_statement "iVar9 = (int)local_64[3];" (assignment_expression "iVar9 = (int)local_64[3]" identifier = (cast_expression "(int)local_64[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_64[3]" identifier [ number_literal ]))) ;) (expression_statement "piVar4[0x12] = 0;" (assignment_expression "piVar4[0x12] = 0" (subscript_expression "piVar4[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x11] = iVar9;" (assignment_expression "piVar4[0x11] = iVar9" (subscript_expression "piVar4[0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2 = (undefined4 *)FUN_001aa8c0(0x94);" (assignment_expression "puVar2 = (undefined4 *)FUN_001aa8c0(0x94)" identifier = (cast_expression "(undefined4 *)FUN_001aa8c0(0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001aa8c0(0x94)" identifier (argument_list "(0x94)" ( number_literal ))))) ;) (expression_statement "*puVar2 = piVar4;" (assignment_expression "*puVar2 = piVar4" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "puVar2[1] = puVar2 + 3;" (assignment_expression "puVar2[1] = puVar2 + 3" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = (binary_expression "puVar2 + 3" identifier + number_literal)) ;) (expression_statement "puVar2[7] = puVar2 + 9;" (assignment_expression "puVar2[7] = puVar2 + 9" (subscript_expression "puVar2[7]" identifier [ number_literal ]) = (binary_expression "puVar2 + 9" identifier + number_literal)) ;) (expression_statement "puVar2[0x1a] = puVar2 + 0x18;" (assignment_expression "puVar2[0x1a] = puVar2 + 0x18" (subscript_expression "puVar2[0x1a]" identifier [ number_literal ]) = (binary_expression "puVar2 + 0x18" identifier + number_literal)) ;) (expression_statement "puVar2[0x1b] = puVar2 + 0x18;" (assignment_expression "puVar2[0x1b] = puVar2 + 0x18" (subscript_expression "puVar2[0x1b]" identifier [ number_literal ]) = (binary_expression "puVar2 + 0x18" identifier + number_literal)) ;) (expression_statement "puVar2[0x1e] = puVar2 + 0x1d;" (assignment_expression "puVar2[0x1e] = puVar2 + 0x1d" (subscript_expression "puVar2[0x1e]" identifier [ number_literal ]) = (binary_expression "puVar2 + 0x1d" identifier + number_literal)) ;) (expression_statement "puVar2[0x1d] = puVar2 + 0x1d;" (assignment_expression "puVar2[0x1d] = puVar2 + 0x1d" (subscript_expression "puVar2[0x1d]" identifier [ number_literal ]) = (binary_expression "puVar2 + 0x1d" identifier + number_literal)) ;) (expression_statement "ppuStack_70 = &local_38;" (assignment_expression "ppuStack_70 = &local_38" identifier = (pointer_expression "&local_38" & identifier)) ;) (expression_statement "puVar2[2] = 0;" (assignment_expression "puVar2[2] = 0" (subscript_expression "puVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar2 + 3) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 3) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 3)" * (cast_expression "(undefined1 *)(puVar2 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 3)" ( (binary_expression "puVar2 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2[8] = 0;" (assignment_expression "puVar2[8] = 0" (subscript_expression "puVar2[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar2 + 9) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 9) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 9)" * (cast_expression "(undefined1 *)(puVar2 + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 9)" ( (binary_expression "puVar2 + 9" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2[0xd] = 0xffffffff;" (assignment_expression "puVar2[0xd] = 0xffffffff" (subscript_expression "puVar2[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar2 + 0xe) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 0xe) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 0xe)" * (cast_expression "(undefined1 *)(puVar2 + 0xe)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0xe)" ( (binary_expression "puVar2 + 0xe" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2[0xf] = 0;" (assignment_expression "puVar2[0xf] = 0" (subscript_expression "puVar2[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x10] = 0;" (assignment_expression "puVar2[0x10] = 0" (subscript_expression "puVar2[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x11] = 0;" (assignment_expression "puVar2[0x11] = 0" (subscript_expression "puVar2[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar2 + 0x12) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 0x12) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 0x12)" * (cast_expression "(undefined1 *)(puVar2 + 0x12)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x12)" ( (binary_expression "puVar2 + 0x12" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2[0x13] = 0;" (assignment_expression "puVar2[0x13] = 0" (subscript_expression "puVar2[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x14] = 0;" (assignment_expression "puVar2[0x14] = 0" (subscript_expression "puVar2[0x14]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x15] = 0;" (assignment_expression "puVar2[0x15] = 0" (subscript_expression "puVar2[0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x16] = 0;" (assignment_expression "puVar2[0x16] = 0" (subscript_expression "puVar2[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x18] = 0;" (assignment_expression "puVar2[0x18] = 0" (subscript_expression "puVar2[0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x19] = 0;" (assignment_expression "puVar2[0x19] = 0" (subscript_expression "puVar2[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x1c] = 0;" (assignment_expression "puVar2[0x1c] = 0" (subscript_expression "puVar2[0x1c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x1f] = 0;" (assignment_expression "puVar2[0x1f] = 0" (subscript_expression "puVar2[0x1f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x20] = 0;" (assignment_expression "puVar2[0x20] = 0" (subscript_expression "puVar2[0x20]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar2 + 0x21) = 1;" (assignment_expression "*(undefined1 *)(puVar2 + 0x21) = 1" (pointer_expression "*(undefined1 *)(puVar2 + 0x21)" * (cast_expression "(undefined1 *)(puVar2 + 0x21)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x21)" ( (binary_expression "puVar2 + 0x21" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2[0x22] = 0;" (assignment_expression "puVar2[0x22] = 0" (subscript_expression "puVar2[0x22]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar2 + 0x23) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 0x23) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 0x23)" * (cast_expression "(undefined1 *)(puVar2 + 0x23)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x23)" ( (binary_expression "puVar2 + 0x23" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2[0x24] = 0;" (assignment_expression "puVar2[0x24] = 0" (subscript_expression "puVar2[0x24]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*param_4 = (int)puVar2;" (assignment_expression "*param_4 = (int)puVar2" (pointer_expression "*param_4" * identifier) = (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_38 = (undefined1 *)0x0;" (assignment_expression "local_38 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);" (assignment_expression "uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1])" identifier = (call_expression "FUN_000867f0(puVar2,param_1[0x33],param_1[1])" identifier (argument_list "(puVar2,param_1[0x33],param_1[1])" ( identifier , (subscript_expression "param_1[0x33]" identifier [ number_literal ]) , (subscript_expression "param_1[1]" identifier [ number_literal ]) )))) ;) (if_statement "if ((char)uVar6 == '\0') {\n      return 0;\n    }" if (parenthesized_expression "((char)uVar6 == '\0')" ( (binary_expression "(char)uVar6 == '\0'" (cast_expression "(char)uVar6" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "*param_5 = 0;" (assignment_expression "*param_5 = 0" (pointer_expression "*param_5" * identifier) = number_literal) ;) (expression_statement "param_5[1] = 0;" (assignment_expression "param_5[1] = 0" (subscript_expression "param_5[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar10 = *(undefined4 *)(*param_4 + 0x40);" (assignment_expression "uVar10 = *(undefined4 *)(*param_4 + 0x40)" identifier = (pointer_expression "*(undefined4 *)(*param_4 + 0x40)" * (cast_expression "(undefined4 *)(*param_4 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_4 + 0x40)" ( (binary_expression "*param_4 + 0x40" (pointer_expression "*param_4" * identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)param_6 + 4) = *(undefined4 *)(*param_4 + 0x44);" (assignment_expression "*(undefined4 *)((int)param_6 + 4) = *(undefined4 *)(*param_4 + 0x44)" (pointer_expression "*(undefined4 *)((int)param_6 + 4)" * (cast_expression "(undefined4 *)((int)param_6 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_6 + 4)" ( (binary_expression "(int)param_6 + 4" (cast_expression "(int)param_6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(*param_4 + 0x44)" * (cast_expression "(undefined4 *)(*param_4 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_4 + 0x44)" ( (binary_expression "*param_4 + 0x44" (pointer_expression "*param_4" * identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)param_6 = uVar10;" (assignment_expression "*(undefined4 *)param_6 = uVar10" (pointer_expression "*(undefined4 *)param_6" * (cast_expression "(undefined4 *)param_6" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (return_statement "return uVar6;" return identifier ;) })) (expression_statement "pcVar7 = (char *)local_5c;" (assignment_expression "pcVar7 = (char *)local_5c" identifier = (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_5c = (undefined **)(param_1 + 0x2c);" (assignment_expression "local_5c = (undefined **)(param_1 + 0x2c)" identifier = (cast_expression "(undefined **)(param_1 + 0x2c)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) ;) (expression_statement "uVar5 = FUN_001aa970(pcVar7,param_7[1],0xc70f6907);" (assignment_expression "uVar5 = FUN_001aa970(pcVar7,param_7[1],0xc70f6907)" identifier = (call_expression "FUN_001aa970(pcVar7,param_7[1],0xc70f6907)" identifier (argument_list "(pcVar7,param_7[1],0xc70f6907)" ( identifier , (subscript_expression "param_7[1]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "piVar4 = (int *)FUN_0007d090(param_1 + 0x2c,uVar5 % (uint)param_1[0x2d],param_7,uVar5);" (assignment_expression "piVar4 = (int *)FUN_0007d090(param_1 + 0x2c,uVar5 % (uint)param_1[0x2d],param_7,uVar5)" identifier = (cast_expression "(int *)FUN_0007d090(param_1 + 0x2c,uVar5 % (uint)param_1[0x2d],param_7,uVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0007d090(param_1 + 0x2c,uVar5 % (uint)param_1[0x2d],param_7,uVar5)" identifier (argument_list "(param_1 + 0x2c,uVar5 % (uint)param_1[0x2d],param_7,uVar5)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) , (binary_expression "uVar5 % (uint)param_1[0x2d]" identifier % (cast_expression "(uint)param_1[0x2d]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x2d]" identifier [ number_literal ]))) , identifier , identifier ))))) ;) (if_statement "if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n    local_64 = *(undefined1 ***)(local_58[0xbc] + 8);\n    if (local_64 == (undefined1 **)0x0) {\n      ppuStack_70 = local_64;\n                    \n      FUN_0008b620((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7);\n    }\n    local_68 = (int *)*param_7;\n    piVar4 = (int *)FUN_001aa8c0(0x4c);\n    local_6c = piVar4 + 2;\n    *piVar4 = (int)local_6c;\n    pcVar7 = (char *)0xffffffff;\n    if (local_68 != (int *)0x0) {\n      sVar8 = strlen((char *)local_68);\n      pcVar7 = (char *)((int)local_68 + sVar8);\n    }\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4,local_68,pcVar7);\n    local_68 = piVar4 + 9;\n    piVar4[6] = 0;\n    piVar4[7] = (int)local_68;\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);\n    *(undefined1 *)(piVar4 + 0xd) = 0;\n    *(undefined1 *)(piVar4 + 0xe) = *(undefined1 *)((int)local_64 + 0x2f5);\n    *(undefined1 *)((int)piVar4 + 0x39) = *(undefined1 *)((int)local_64 + 0x549);\n                    \n    iVar9 = FUN_000d81b0(local_64);\n    piVar4[0xf] = iVar9;\n    *(undefined1 *)(piVar4 + 0x10) = *(undefined1 *)((int)local_64 + 0x4a2d);\n    puVar3 = local_64[0x1685];\n    piVar4[0x12] = 0;\n    piVar4[0x11] = (int)puVar3;\n    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);\n    *puVar2 = piVar4;\n    puVar2[1] = puVar2 + 3;\n    puVar2[7] = puVar2 + 9;\n    puVar2[0x1a] = puVar2 + 0x18;\n    puVar2[0x1b] = puVar2 + 0x18;\n    puVar2[0x1e] = puVar2 + 0x1d;\n    puVar2[0x1d] = puVar2 + 0x1d;\n    ppuStack_70 = &local_48;\n    puVar2[2] = 0;\n    *(undefined1 *)(puVar2 + 3) = 0;\n    puVar2[8] = 0;\n    *(undefined1 *)(puVar2 + 9) = 0;\n    puVar2[0xd] = 0xffffffff;\n    *(undefined1 *)(puVar2 + 0xe) = 0;\n    puVar2[0xf] = 0;\n    puVar2[0x10] = 0;\n    puVar2[0x11] = 0;\n    *(undefined1 *)(puVar2 + 0x12) = 0;\n    puVar2[0x13] = 0;\n    puVar2[0x14] = 0;\n    puVar2[0x15] = 0;\n    puVar2[0x16] = 0;\n    puVar2[0x18] = 0;\n    puVar2[0x19] = 0;\n    puVar2[0x1c] = 0;\n    puVar2[0x1f] = 0;\n    puVar2[0x20] = 0;\n    *(undefined1 *)(puVar2 + 0x21) = 1;\n    puVar2[0x22] = 0;\n    *(undefined1 *)(puVar2 + 0x23) = 0;\n    puVar2[0x24] = 0;\n    *param_4 = (int)puVar2;\n    local_48 = (undefined1 *)0x0;\n    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);\n    if ((char)uVar6 == '\0') {\n      return uVar6;\n    }\n    uVar6 = FUN_001aa8c0(0xd8);\n                    \n    FUN_00079850(uVar6,param_7,*param_4,0,param_1[0x33],param_1[1]);\n    FUN_0007abc0(uVar6);\n    local_64 = (undefined1 **)local_30;\n    ppuStack_70 = (undefined1 **)0x0;\n    local_38 = (undefined1 *)local_64;\n    FUN_0007c4c0(&local_38,*param_7,param_7[1] + *param_7);\n    ppuStack_70 = &local_38;\n    local_20 = uVar6;\n                    \n    FUN_0007d3c0(local_54,local_5c,0);\n    uVar10 = extraout_ECX;\n    if ((undefined1 **)local_38 != local_64) {\n      FUN_001ac470(local_38);\n      uVar10 = extraout_ECX_00;\n    }\n    pppuVar11 = &ppuStack_70;\n    if (local_50 == '\0') {\n                    \n      FUN_0008b620((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10);\n    }\n  }\n  else {\n    uVar6 = *(undefined4 *)(*piVar4 + 0x1c);\n  }" if (parenthesized_expression "((piVar4 == (int *)0x0) || (*piVar4 == 0))" ( (binary_expression "(piVar4 == (int *)0x0) || (*piVar4 == 0)" (parenthesized_expression "(piVar4 == (int *)0x0)" ( (binary_expression "piVar4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*piVar4 == 0)" ( (binary_expression "*piVar4 == 0" (pointer_expression "*piVar4" * identifier) == number_literal) ))) )) (compound_statement "{\n    local_64 = *(undefined1 ***)(local_58[0xbc] + 8);\n    if (local_64 == (undefined1 **)0x0) {\n      ppuStack_70 = local_64;\n                    \n      FUN_0008b620((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7);\n    }\n    local_68 = (int *)*param_7;\n    piVar4 = (int *)FUN_001aa8c0(0x4c);\n    local_6c = piVar4 + 2;\n    *piVar4 = (int)local_6c;\n    pcVar7 = (char *)0xffffffff;\n    if (local_68 != (int *)0x0) {\n      sVar8 = strlen((char *)local_68);\n      pcVar7 = (char *)((int)local_68 + sVar8);\n    }\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4,local_68,pcVar7);\n    local_68 = piVar4 + 9;\n    piVar4[6] = 0;\n    piVar4[7] = (int)local_68;\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);\n    *(undefined1 *)(piVar4 + 0xd) = 0;\n    *(undefined1 *)(piVar4 + 0xe) = *(undefined1 *)((int)local_64 + 0x2f5);\n    *(undefined1 *)((int)piVar4 + 0x39) = *(undefined1 *)((int)local_64 + 0x549);\n                    \n    iVar9 = FUN_000d81b0(local_64);\n    piVar4[0xf] = iVar9;\n    *(undefined1 *)(piVar4 + 0x10) = *(undefined1 *)((int)local_64 + 0x4a2d);\n    puVar3 = local_64[0x1685];\n    piVar4[0x12] = 0;\n    piVar4[0x11] = (int)puVar3;\n    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);\n    *puVar2 = piVar4;\n    puVar2[1] = puVar2 + 3;\n    puVar2[7] = puVar2 + 9;\n    puVar2[0x1a] = puVar2 + 0x18;\n    puVar2[0x1b] = puVar2 + 0x18;\n    puVar2[0x1e] = puVar2 + 0x1d;\n    puVar2[0x1d] = puVar2 + 0x1d;\n    ppuStack_70 = &local_48;\n    puVar2[2] = 0;\n    *(undefined1 *)(puVar2 + 3) = 0;\n    puVar2[8] = 0;\n    *(undefined1 *)(puVar2 + 9) = 0;\n    puVar2[0xd] = 0xffffffff;\n    *(undefined1 *)(puVar2 + 0xe) = 0;\n    puVar2[0xf] = 0;\n    puVar2[0x10] = 0;\n    puVar2[0x11] = 0;\n    *(undefined1 *)(puVar2 + 0x12) = 0;\n    puVar2[0x13] = 0;\n    puVar2[0x14] = 0;\n    puVar2[0x15] = 0;\n    puVar2[0x16] = 0;\n    puVar2[0x18] = 0;\n    puVar2[0x19] = 0;\n    puVar2[0x1c] = 0;\n    puVar2[0x1f] = 0;\n    puVar2[0x20] = 0;\n    *(undefined1 *)(puVar2 + 0x21) = 1;\n    puVar2[0x22] = 0;\n    *(undefined1 *)(puVar2 + 0x23) = 0;\n    puVar2[0x24] = 0;\n    *param_4 = (int)puVar2;\n    local_48 = (undefined1 *)0x0;\n    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);\n    if ((char)uVar6 == '\0') {\n      return uVar6;\n    }\n    uVar6 = FUN_001aa8c0(0xd8);\n                    \n    FUN_00079850(uVar6,param_7,*param_4,0,param_1[0x33],param_1[1]);\n    FUN_0007abc0(uVar6);\n    local_64 = (undefined1 **)local_30;\n    ppuStack_70 = (undefined1 **)0x0;\n    local_38 = (undefined1 *)local_64;\n    FUN_0007c4c0(&local_38,*param_7,param_7[1] + *param_7);\n    ppuStack_70 = &local_38;\n    local_20 = uVar6;\n                    \n    FUN_0007d3c0(local_54,local_5c,0);\n    uVar10 = extraout_ECX;\n    if ((undefined1 **)local_38 != local_64) {\n      FUN_001ac470(local_38);\n      uVar10 = extraout_ECX_00;\n    }\n    pppuVar11 = &ppuStack_70;\n    if (local_50 == '\0') {\n                    \n      FUN_0008b620((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10);\n    }\n  }" { (expression_statement "local_64 = *(undefined1 ***)(local_58[0xbc] + 8);" (assignment_expression "local_64 = *(undefined1 ***)(local_58[0xbc] + 8)" identifier = (pointer_expression "*(undefined1 ***)(local_58[0xbc] + 8)" * (cast_expression "(undefined1 ***)(local_58[0xbc] + 8)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(local_58[0xbc] + 8)" ( (binary_expression "local_58[0xbc] + 8" (subscript_expression "local_58[0xbc]" identifier [ number_literal ]) + number_literal) ))))) ;) (if_statement "if (local_64 == (undefined1 **)0x0) {\n      ppuStack_70 = local_64;\n                    \n      FUN_0008b620((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7);\n    }" if (parenthesized_expression "(local_64 == (undefined1 **)0x0)" ( (binary_expression "local_64 == (undefined1 **)0x0" identifier == (cast_expression "(undefined1 **)0x0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n      ppuStack_70 = local_64;\n                    \n      FUN_0008b620((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7);\n    }" { (expression_statement "ppuStack_70 = local_64;" (assignment_expression "ppuStack_70 = local_64" identifier = identifier) ;) (expression_statement "FUN_0008b620((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7);" (call_expression "FUN_0008b620((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7)" identifier (argument_list "((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7)" ( (binary_expression "(int)local_58 + -0xf8d93" (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal , (binary_expression "local_58 + -0x3b3a7" identifier + number_literal) ))) ;) })) (expression_statement "local_68 = (int *)*param_7;" (assignment_expression "local_68 = (int *)*param_7" identifier = (cast_expression "(int *)*param_7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_7" * identifier))) ;) (expression_statement "piVar4 = (int *)FUN_001aa8c0(0x4c);" (assignment_expression "piVar4 = (int *)FUN_001aa8c0(0x4c)" identifier = (cast_expression "(int *)FUN_001aa8c0(0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001aa8c0(0x4c)" identifier (argument_list "(0x4c)" ( number_literal ))))) ;) (expression_statement "local_6c = piVar4 + 2;" (assignment_expression "local_6c = piVar4 + 2" identifier = (binary_expression "piVar4 + 2" identifier + number_literal)) ;) (expression_statement "*piVar4 = (int)local_6c;" (assignment_expression "*piVar4 = (int)local_6c" (pointer_expression "*piVar4" * identifier) = (cast_expression "(int)local_6c" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pcVar7 = (char *)0xffffffff;" (assignment_expression "pcVar7 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_68 != (int *)0x0) {\n      sVar8 = strlen((char *)local_68);\n      pcVar7 = (char *)((int)local_68 + sVar8);\n    }" if (parenthesized_expression "(local_68 != (int *)0x0)" ( (binary_expression "local_68 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      sVar8 = strlen((char *)local_68);\n      pcVar7 = (char *)((int)local_68 + sVar8);\n    }" { (expression_statement "sVar8 = strlen((char *)local_68);" (assignment_expression "sVar8 = strlen((char *)local_68)" identifier = (call_expression "strlen((char *)local_68)" identifier (argument_list "((char *)local_68)" ( (cast_expression "(char *)local_68" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "pcVar7 = (char *)((int)local_68 + sVar8);" (assignment_expression "pcVar7 = (char *)((int)local_68 + sVar8)" identifier = (cast_expression "(char *)((int)local_68 + sVar8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_68 + sVar8)" ( (binary_expression "(int)local_68 + sVar8" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) })) (expression_statement "ppuStack_70 = (undefined1 **)0x0;" (assignment_expression "ppuStack_70 = (undefined1 **)0x0" identifier = (cast_expression "(undefined1 **)0x0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "FUN_00056c80(piVar4,local_68,pcVar7);" (call_expression "FUN_00056c80(piVar4,local_68,pcVar7)" identifier (argument_list "(piVar4,local_68,pcVar7)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_68 = piVar4 + 9;" (assignment_expression "local_68 = piVar4 + 9" identifier = (binary_expression "piVar4 + 9" identifier + number_literal)) ;) (expression_statement "piVar4[6] = 0;" (assignment_expression "piVar4[6] = 0" (subscript_expression "piVar4[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[7] = (int)local_68;" (assignment_expression "piVar4[7] = (int)local_68" (subscript_expression "piVar4[7]" identifier [ number_literal ]) = (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "ppuStack_70 = (undefined1 **)0x0;" (assignment_expression "ppuStack_70 = (undefined1 **)0x0" identifier = (cast_expression "(undefined1 **)0x0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);" (call_expression "FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a)" identifier (argument_list "(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a)" ( (binary_expression "piVar4 + 7" identifier + number_literal) , (binary_expression "(int)local_58 + -0xd834a" (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , (binary_expression "(int)local_58 + -0xd834a" (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ;) (expression_statement "*(undefined1 *)(piVar4 + 0xd) = 0;" (assignment_expression "*(undefined1 *)(piVar4 + 0xd) = 0" (pointer_expression "*(undefined1 *)(piVar4 + 0xd)" * (cast_expression "(undefined1 *)(piVar4 + 0xd)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 0xd)" ( (binary_expression "piVar4 + 0xd" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar4 + 0xe) = *(undefined1 *)((int)local_64 + 0x2f5);" (assignment_expression "*(undefined1 *)(piVar4 + 0xe) = *(undefined1 *)((int)local_64 + 0x2f5)" (pointer_expression "*(undefined1 *)(piVar4 + 0xe)" * (cast_expression "(undefined1 *)(piVar4 + 0xe)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 0xe)" ( (binary_expression "piVar4 + 0xe" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)((int)local_64 + 0x2f5)" * (cast_expression "(undefined1 *)((int)local_64 + 0x2f5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_64 + 0x2f5)" ( (binary_expression "(int)local_64 + 0x2f5" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined1 *)((int)piVar4 + 0x39) = *(undefined1 *)((int)local_64 + 0x549);" (assignment_expression "*(undefined1 *)((int)piVar4 + 0x39) = *(undefined1 *)((int)local_64 + 0x549)" (pointer_expression "*(undefined1 *)((int)piVar4 + 0x39)" * (cast_expression "(undefined1 *)((int)piVar4 + 0x39)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar4 + 0x39)" ( (binary_expression "(int)piVar4 + 0x39" (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined1 *)((int)local_64 + 0x549)" * (cast_expression "(undefined1 *)((int)local_64 + 0x549)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_64 + 0x549)" ( (binary_expression "(int)local_64 + 0x549" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar9 = FUN_000d81b0(local_64);" (assignment_expression "iVar9 = FUN_000d81b0(local_64)" identifier = (call_expression "FUN_000d81b0(local_64)" identifier (argument_list "(local_64)" ( identifier )))) ;) (expression_statement "piVar4[0xf] = iVar9;" (assignment_expression "piVar4[0xf] = iVar9" (subscript_expression "piVar4[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined1 *)(piVar4 + 0x10) = *(undefined1 *)((int)local_64 + 0x4a2d);" (assignment_expression "*(undefined1 *)(piVar4 + 0x10) = *(undefined1 *)((int)local_64 + 0x4a2d)" (pointer_expression "*(undefined1 *)(piVar4 + 0x10)" * (cast_expression "(undefined1 *)(piVar4 + 0x10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 0x10)" ( (binary_expression "piVar4 + 0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)((int)local_64 + 0x4a2d)" * (cast_expression "(undefined1 *)((int)local_64 + 0x4a2d)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_64 + 0x4a2d)" ( (binary_expression "(int)local_64 + 0x4a2d" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar3 = local_64[0x1685];" (assignment_expression "puVar3 = local_64[0x1685]" identifier = (subscript_expression "local_64[0x1685]" identifier [ number_literal ])) ;) (expression_statement "piVar4[0x12] = 0;" (assignment_expression "piVar4[0x12] = 0" (subscript_expression "piVar4[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x11] = (int)puVar3;" (assignment_expression "piVar4[0x11] = (int)puVar3" (subscript_expression "piVar4[0x11]" identifier [ number_literal ]) = (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "puVar2 = (undefined4 *)FUN_001aa8c0(0x94);" (assignment_expression "puVar2 = (undefined4 *)FUN_001aa8c0(0x94)" identifier = (cast_expression "(undefined4 *)FUN_001aa8c0(0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001aa8c0(0x94)" identifier (argument_list "(0x94)" ( number_literal ))))) ;) (expression_statement "*puVar2 = piVar4;" (assignment_expression "*puVar2 = piVar4" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "puVar2[1] = puVar2 + 3;" (assignment_expression "puVar2[1] = puVar2 + 3" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = (binary_expression "puVar2 + 3" identifier + number_literal)) ;) (expression_statement "puVar2[7] = puVar2 + 9;" (assignment_expression "puVar2[7] = puVar2 + 9" (subscript_expression "puVar2[7]" identifier [ number_literal ]) = (binary_expression "puVar2 + 9" identifier + number_literal)) ;) (expression_statement "puVar2[0x1a] = puVar2 + 0x18;" (assignment_expression "puVar2[0x1a] = puVar2 + 0x18" (subscript_expression "puVar2[0x1a]" identifier [ number_literal ]) = (binary_expression "puVar2 + 0x18" identifier + number_literal)) ;) (expression_statement "puVar2[0x1b] = puVar2 + 0x18;" (assignment_expression "puVar2[0x1b] = puVar2 + 0x18" (subscript_expression "puVar2[0x1b]" identifier [ number_literal ]) = (binary_expression "puVar2 + 0x18" identifier + number_literal)) ;) (expression_statement "puVar2[0x1e] = puVar2 + 0x1d;" (assignment_expression "puVar2[0x1e] = puVar2 + 0x1d" (subscript_expression "puVar2[0x1e]" identifier [ number_literal ]) = (binary_expression "puVar2 + 0x1d" identifier + number_literal)) ;) (expression_statement "puVar2[0x1d] = puVar2 + 0x1d;" (assignment_expression "puVar2[0x1d] = puVar2 + 0x1d" (subscript_expression "puVar2[0x1d]" identifier [ number_literal ]) = (binary_expression "puVar2 + 0x1d" identifier + number_literal)) ;) (expression_statement "ppuStack_70 = &local_48;" (assignment_expression "ppuStack_70 = &local_48" identifier = (pointer_expression "&local_48" & identifier)) ;) (expression_statement "puVar2[2] = 0;" (assignment_expression "puVar2[2] = 0" (subscript_expression "puVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar2 + 3) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 3) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 3)" * (cast_expression "(undefined1 *)(puVar2 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 3)" ( (binary_expression "puVar2 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2[8] = 0;" (assignment_expression "puVar2[8] = 0" (subscript_expression "puVar2[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar2 + 9) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 9) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 9)" * (cast_expression "(undefined1 *)(puVar2 + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 9)" ( (binary_expression "puVar2 + 9" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2[0xd] = 0xffffffff;" (assignment_expression "puVar2[0xd] = 0xffffffff" (subscript_expression "puVar2[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar2 + 0xe) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 0xe) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 0xe)" * (cast_expression "(undefined1 *)(puVar2 + 0xe)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0xe)" ( (binary_expression "puVar2 + 0xe" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2[0xf] = 0;" (assignment_expression "puVar2[0xf] = 0" (subscript_expression "puVar2[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x10] = 0;" (assignment_expression "puVar2[0x10] = 0" (subscript_expression "puVar2[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x11] = 0;" (assignment_expression "puVar2[0x11] = 0" (subscript_expression "puVar2[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar2 + 0x12) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 0x12) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 0x12)" * (cast_expression "(undefined1 *)(puVar2 + 0x12)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x12)" ( (binary_expression "puVar2 + 0x12" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2[0x13] = 0;" (assignment_expression "puVar2[0x13] = 0" (subscript_expression "puVar2[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x14] = 0;" (assignment_expression "puVar2[0x14] = 0" (subscript_expression "puVar2[0x14]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x15] = 0;" (assignment_expression "puVar2[0x15] = 0" (subscript_expression "puVar2[0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x16] = 0;" (assignment_expression "puVar2[0x16] = 0" (subscript_expression "puVar2[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x18] = 0;" (assignment_expression "puVar2[0x18] = 0" (subscript_expression "puVar2[0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x19] = 0;" (assignment_expression "puVar2[0x19] = 0" (subscript_expression "puVar2[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x1c] = 0;" (assignment_expression "puVar2[0x1c] = 0" (subscript_expression "puVar2[0x1c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x1f] = 0;" (assignment_expression "puVar2[0x1f] = 0" (subscript_expression "puVar2[0x1f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0x20] = 0;" (assignment_expression "puVar2[0x20] = 0" (subscript_expression "puVar2[0x20]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar2 + 0x21) = 1;" (assignment_expression "*(undefined1 *)(puVar2 + 0x21) = 1" (pointer_expression "*(undefined1 *)(puVar2 + 0x21)" * (cast_expression "(undefined1 *)(puVar2 + 0x21)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x21)" ( (binary_expression "puVar2 + 0x21" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2[0x22] = 0;" (assignment_expression "puVar2[0x22] = 0" (subscript_expression "puVar2[0x22]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar2 + 0x23) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 0x23) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 0x23)" * (cast_expression "(undefined1 *)(puVar2 + 0x23)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x23)" ( (binary_expression "puVar2 + 0x23" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2[0x24] = 0;" (assignment_expression "puVar2[0x24] = 0" (subscript_expression "puVar2[0x24]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*param_4 = (int)puVar2;" (assignment_expression "*param_4 = (int)puVar2" (pointer_expression "*param_4" * identifier) = (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_48 = (undefined1 *)0x0;" (assignment_expression "local_48 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);" (assignment_expression "uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1])" identifier = (call_expression "FUN_000867f0(puVar2,param_1[0x33],param_1[1])" identifier (argument_list "(puVar2,param_1[0x33],param_1[1])" ( identifier , (subscript_expression "param_1[0x33]" identifier [ number_literal ]) , (subscript_expression "param_1[1]" identifier [ number_literal ]) )))) ;) (if_statement "if ((char)uVar6 == '\0') {\n      return uVar6;\n    }" if (parenthesized_expression "((char)uVar6 == '\0')" ( (binary_expression "(char)uVar6 == '\0'" (cast_expression "(char)uVar6" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      return uVar6;\n    }" { (return_statement "return uVar6;" return identifier ;) })) (expression_statement "uVar6 = FUN_001aa8c0(0xd8);" (assignment_expression "uVar6 = FUN_001aa8c0(0xd8)" identifier = (call_expression "FUN_001aa8c0(0xd8)" identifier (argument_list "(0xd8)" ( number_literal )))) ;) (expression_statement "FUN_00079850(uVar6,param_7,*param_4,0,param_1[0x33],param_1[1]);" (call_expression "FUN_00079850(uVar6,param_7,*param_4,0,param_1[0x33],param_1[1])" identifier (argument_list "(uVar6,param_7,*param_4,0,param_1[0x33],param_1[1])" ( identifier , identifier , (pointer_expression "*param_4" * identifier) , number_literal , (subscript_expression "param_1[0x33]" identifier [ number_literal ]) , (subscript_expression "param_1[1]" identifier [ number_literal ]) ))) ;) (expression_statement "FUN_0007abc0(uVar6);" (call_expression "FUN_0007abc0(uVar6)" identifier (argument_list "(uVar6)" ( identifier ))) ;) (expression_statement "local_64 = (undefined1 **)local_30;" (assignment_expression "local_64 = (undefined1 **)local_30" identifier = (cast_expression "(undefined1 **)local_30" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "ppuStack_70 = (undefined1 **)0x0;" (assignment_expression "ppuStack_70 = (undefined1 **)0x0" identifier = (cast_expression "(undefined1 **)0x0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_38 = (undefined1 *)local_64;" (assignment_expression "local_38 = (undefined1 *)local_64" identifier = (cast_expression "(undefined1 *)local_64" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "FUN_0007c4c0(&local_38,*param_7,param_7[1] + *param_7);" (call_expression "FUN_0007c4c0(&local_38,*param_7,param_7[1] + *param_7)" identifier (argument_list "(&local_38,*param_7,param_7[1] + *param_7)" ( (pointer_expression "&local_38" & identifier) , (pointer_expression "*param_7" * identifier) , (binary_expression "param_7[1] + *param_7" (subscript_expression "param_7[1]" identifier [ number_literal ]) + (pointer_expression "*param_7" * identifier)) ))) ;) (expression_statement "ppuStack_70 = &local_38;" (assignment_expression "ppuStack_70 = &local_38" identifier = (pointer_expression "&local_38" & identifier)) ;) (expression_statement "local_20 = uVar6;" (assignment_expression "local_20 = uVar6" identifier = identifier) ;) (expression_statement "FUN_0007d3c0(local_54,local_5c,0);" (call_expression "FUN_0007d3c0(local_54,local_5c,0)" identifier (argument_list "(local_54,local_5c,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "uVar10 = extraout_ECX;" (assignment_expression "uVar10 = extraout_ECX" identifier = identifier) ;) (if_statement "if ((undefined1 **)local_38 != local_64) {\n      FUN_001ac470(local_38);\n      uVar10 = extraout_ECX_00;\n    }" if (parenthesized_expression "((undefined1 **)local_38 != local_64)" ( (binary_expression "(undefined1 **)local_38 != local_64" (cast_expression "(undefined1 **)local_38" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) != identifier) )) (compound_statement "{\n      FUN_001ac470(local_38);\n      uVar10 = extraout_ECX_00;\n    }" { (expression_statement "FUN_001ac470(local_38);" (call_expression "FUN_001ac470(local_38)" identifier (argument_list "(local_38)" ( identifier ))) ;) (expression_statement "uVar10 = extraout_ECX_00;" (assignment_expression "uVar10 = extraout_ECX_00" identifier = identifier) ;) })) (expression_statement "pppuVar11 = &ppuStack_70;" (assignment_expression "pppuVar11 = &ppuStack_70" identifier = (pointer_expression "&ppuStack_70" & identifier)) ;) (if_statement "if (local_50 == '\0') {\n                    \n      FUN_0008b620((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10);\n    }" if (parenthesized_expression "(local_50 == '\0')" ( (binary_expression "local_50 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    \n      FUN_0008b620((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10);\n    }" { (expression_statement "FUN_0008b620((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10);" (call_expression "FUN_0008b620((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10)" identifier (argument_list "((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10)" ( (binary_expression "(int)local_58 + -0xed22f" (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal , (binary_expression "local_58 + -0x3b3b4" identifier + number_literal) , identifier ))) ;) })) }) (else_clause "else {\n    uVar6 = *(undefined4 *)(*piVar4 + 0x1c);\n  }" else (compound_statement "{\n    uVar6 = *(undefined4 *)(*piVar4 + 0x1c);\n  }" { (expression_statement "uVar6 = *(undefined4 *)(*piVar4 + 0x1c);" (assignment_expression "uVar6 = *(undefined4 *)(*piVar4 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)(*piVar4 + 0x1c)" * (cast_expression "(undefined4 *)(*piVar4 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar4 + 0x1c)" ( (binary_expression "*piVar4 + 0x1c" (pointer_expression "*piVar4" * identifier) + number_literal) ))))) ;) }))) (expression_statement "*(int **)((int)pppuVar11 + -8) = param_7;" (assignment_expression "*(int **)((int)pppuVar11 + -8) = param_7" (pointer_expression "*(int **)((int)pppuVar11 + -8)" * (cast_expression "(int **)((int)pppuVar11 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar11 + -8)" ( (binary_expression "(int)pppuVar11 + -8" (cast_expression "(int)pppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(longlong **)((int)pppuVar11 + -0xc) = param_6;" (assignment_expression "*(longlong **)((int)pppuVar11 + -0xc) = param_6" (pointer_expression "*(longlong **)((int)pppuVar11 + -0xc)" * (cast_expression "(longlong **)((int)pppuVar11 + -0xc)" ( (type_descriptor "longlong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar11 + -0xc)" ( (binary_expression "(int)pppuVar11 + -0xc" (cast_expression "(int)pppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int **)((int)pppuVar11 + -0x10) = param_5;" (assignment_expression "*(int **)((int)pppuVar11 + -0x10) = param_5" (pointer_expression "*(int **)((int)pppuVar11 + -0x10)" * (cast_expression "(int **)((int)pppuVar11 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar11 + -0x10)" ( (binary_expression "(int)pppuVar11 + -0x10" (cast_expression "(int)pppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int **)((int)pppuVar11 + -0x14) = param_4;" (assignment_expression "*(int **)((int)pppuVar11 + -0x14) = param_4" (pointer_expression "*(int **)((int)pppuVar11 + -0x14)" * (cast_expression "(int **)((int)pppuVar11 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar11 + -0x14)" ( (binary_expression "(int)pppuVar11 + -0x14" (cast_expression "(int)pppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)pppuVar11 + -0x18) = local_40;" (assignment_expression "*(int *)((int)pppuVar11 + -0x18) = local_40" (pointer_expression "*(int *)((int)pppuVar11 + -0x18)" * (cast_expression "(int *)((int)pppuVar11 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar11 + -0x18)" ( (binary_expression "(int)pppuVar11 + -0x18" (cast_expression "(int)pppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)pppuVar11 + -0x1c) = local_44;" (assignment_expression "*(int *)((int)pppuVar11 + -0x1c) = local_44" (pointer_expression "*(int *)((int)pppuVar11 + -0x1c)" * (cast_expression "(int *)((int)pppuVar11 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar11 + -0x1c)" ( (binary_expression "(int)pppuVar11 + -0x1c" (cast_expression "(int)pppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)pppuVar11 + -0x20) = uVar6;" (assignment_expression "*(undefined4 *)((int)pppuVar11 + -0x20) = uVar6" (pointer_expression "*(undefined4 *)((int)pppuVar11 + -0x20)" * (cast_expression "(undefined4 *)((int)pppuVar11 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar11 + -0x20)" ( (binary_expression "(int)pppuVar11 + -0x20" (cast_expression "(int)pppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)pppuVar11 + -0x24) = 0x79c7d;" (assignment_expression "*(undefined4 *)((int)pppuVar11 + -0x24) = 0x79c7d" (pointer_expression "*(undefined4 *)((int)pppuVar11 + -0x24)" * (cast_expression "(undefined4 *)((int)pppuVar11 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar11 + -0x24)" ( (binary_expression "(int)pppuVar11 + -0x24" (cast_expression "(int)pppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar6 = FUN_00079ae0();" (assignment_expression "uVar6 = FUN_00079ae0()" identifier = (call_expression "FUN_00079ae0()" identifier (argument_list "()" ( )))) ;) (return_statement "return uVar6;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , LIT , IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) ;) }) (else_clause else (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 *)) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))))) )) (argument_list ( IDENT ))))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) ;) }) (else_clause else (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 *)) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))))) )) (argument_list ( IDENT ))))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression * IDENT) , (binary_expression IDENT + (pointer_expression * IDENT)) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT) != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (pointer_expression & IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))) <= (unary_expression - IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT % (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) , IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression * IDENT) , LIT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression * IDENT) , (binary_expression (subscript_expression IDENT [ LIT ]) + (pointer_expression * IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT) != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (return_statement return IDENT ;) })))
(function_definition "undefined4\nFUN_00079ae0(int *param_1,undefined1 *param_2,int param_3,int *param_4,int *param_5,\n            longlong *param_6,int *param_7)\n\n{\n  undefined **ppuVar1;\n  undefined4 *puVar2;\n  undefined1 *puVar3;\n  int *piVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  char *pcVar7;\n  size_t sVar8;\n  int iVar9;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  undefined4 uVar10;\n  undefined1 ***pppuVar11;\n  longlong lVar12;\n  undefined1 **ppuStack_70;\n  int *local_6c;\n  int *local_68;\n  undefined1 **local_64;\n  int local_60;\n  undefined **local_5c;\n  undefined **local_58;\n  undefined1 local_54 [4];\n  char local_50;\n  undefined1 *local_48;\n  int local_44;\n  int local_40;\n  undefined1 *local_38;\n  undefined4 local_34;\n  undefined1 local_30 [16];\n  undefined4 local_20;\n  \n  local_58 = &__DT_PLTGOT;\n  local_60 = param_3;\n  local_64 = (undefined1 **)param_2;\n  lVar12 = FUN_000786a0(param_1,param_2,param_3,0,param_7,&local_44);\n  *param_6 = lVar12;\n  if (lVar12 == -1) {\n    return 0;\n  }\n  *param_4 = param_1[9];\n  iVar9 = param_1[0x2b];\n  *param_5 = (int)((int)local_64 + 0x3c);\n  param_5[1] = local_60 + (uint)((undefined1 *)0xffffffc3 < local_64);\n  if ((char)iVar9 == '\0') {\n    return 1;\n  }\n  local_5c = (undefined **)*param_7;\n  if (*(char *)local_5c != '/') {\n    local_5c = local_58 + -0xb0d4c;\n    if (*(undefined ***)(*param_1 + 8) == local_5c) {\n      puVar2 = (undefined4 *)(param_1[9] + 0x1c);\n    }\n    else {\n      puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n    }\n    local_64 = (undefined1 **)*puVar2;\n    puVar3 = (undefined1 *)FUN_001a99f0(local_64);\n    if (local_64 < puVar3) {\n      if (*(undefined ***)(*param_1 + 8) == local_5c) {\n        piVar4 = (int *)(param_1[9] + 0x1c);\n      }\n      else {\n        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n      }\n      local_38 = local_30;\n      ppuStack_70 = (undefined1 **)0x0;\n      uVar5 = (int)puVar3 - (int)local_64;\n      if ((uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64)) {\n        uVar5 = piVar4[1];\n      }\n      local_64 = (undefined1 **)local_38;\n      FUN_00056c80(&local_38,*piVar4,uVar5 + *piVar4);\n                    \n      FUN_001b50b0(param_7,0,0,local_38,local_34);\n      if ((undefined1 **)local_38 != local_64) {\n        FUN_001ac470(local_38);\n      }\n    }\n    local_5c = (undefined **)*param_7;\n  }\n  ppuVar1 = local_58;\n  pppuVar11 = (undefined1 ***)&local_6c;\n  if ((int)(uint)(local_44 != 0) <= -local_40) {\n    local_64 = (undefined1 **)FUN_00084ae0(param_1[9]);\n    local_58 = ppuVar1;\n    piVar4 = (int *)FUN_001aa8c0(0x4c);\n    local_68 = piVar4 + 2;\n    *piVar4 = (int)local_68;\n    pcVar7 = (char *)0xffffffff;\n    if (local_5c != (undefined **)0x0) {\n      sVar8 = strlen((char *)local_5c);\n      pcVar7 = (char *)((int)local_5c + sVar8);\n    }\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4,local_5c,pcVar7);\n    piVar4[6] = 0;\n    piVar4[7] = (int)(piVar4 + 9);\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);\n    *(undefined1 *)(piVar4 + 0xd) = 0;\n    piVar4[0xe] = (int)*local_64;\n    piVar4[0xf] = (int)local_64[1];\n    piVar4[0x10] = (int)local_64[2];\n    iVar9 = (int)local_64[3];\n    piVar4[0x12] = 0;\n    piVar4[0x11] = iVar9;\n    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);\n    *puVar2 = piVar4;\n    puVar2[1] = puVar2 + 3;\n    puVar2[7] = puVar2 + 9;\n    puVar2[0x1a] = puVar2 + 0x18;\n    puVar2[0x1b] = puVar2 + 0x18;\n    puVar2[0x1e] = puVar2 + 0x1d;\n    puVar2[0x1d] = puVar2 + 0x1d;\n    ppuStack_70 = &local_38;\n    puVar2[2] = 0;\n    *(undefined1 *)(puVar2 + 3) = 0;\n    puVar2[8] = 0;\n    *(undefined1 *)(puVar2 + 9) = 0;\n    puVar2[0xd] = 0xffffffff;\n    *(undefined1 *)(puVar2 + 0xe) = 0;\n    puVar2[0xf] = 0;\n    puVar2[0x10] = 0;\n    puVar2[0x11] = 0;\n    *(undefined1 *)(puVar2 + 0x12) = 0;\n    puVar2[0x13] = 0;\n    puVar2[0x14] = 0;\n    puVar2[0x15] = 0;\n    puVar2[0x16] = 0;\n    puVar2[0x18] = 0;\n    puVar2[0x19] = 0;\n    puVar2[0x1c] = 0;\n    puVar2[0x1f] = 0;\n    puVar2[0x20] = 0;\n    *(undefined1 *)(puVar2 + 0x21) = 1;\n    puVar2[0x22] = 0;\n    *(undefined1 *)(puVar2 + 0x23) = 0;\n    puVar2[0x24] = 0;\n    *param_4 = (int)puVar2;\n    local_38 = (undefined1 *)0x0;\n    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);\n    if ((char)uVar6 == '\0') {\n      return 0;\n    }\n    *param_5 = 0;\n    param_5[1] = 0;\n    uVar10 = *(undefined4 *)(*param_4 + 0x40);\n    *(undefined4 *)((int)param_6 + 4) = *(undefined4 *)(*param_4 + 0x44);\n    *(undefined4 *)param_6 = uVar10;\n    return uVar6;\n  }\n  pcVar7 = (char *)local_5c;\n  local_5c = (undefined **)(param_1 + 0x2c);\n  uVar5 = FUN_001aa970(pcVar7,param_7[1],0xc70f6907);\n  piVar4 = (int *)FUN_0007d090(param_1 + 0x2c,uVar5 % (uint)param_1[0x2d],param_7,uVar5);\n  if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n    local_64 = *(undefined1 ***)(local_58[0xbc] + 8);\n    if (local_64 == (undefined1 **)0x0) {\n      ppuStack_70 = local_64;\n                    \n      FUN_0008b620((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7);\n    }\n    local_68 = (int *)*param_7;\n    piVar4 = (int *)FUN_001aa8c0(0x4c);\n    local_6c = piVar4 + 2;\n    *piVar4 = (int)local_6c;\n    pcVar7 = (char *)0xffffffff;\n    if (local_68 != (int *)0x0) {\n      sVar8 = strlen((char *)local_68);\n      pcVar7 = (char *)((int)local_68 + sVar8);\n    }\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4,local_68,pcVar7);\n    local_68 = piVar4 + 9;\n    piVar4[6] = 0;\n    piVar4[7] = (int)local_68;\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);\n    *(undefined1 *)(piVar4 + 0xd) = 0;\n    *(undefined1 *)(piVar4 + 0xe) = *(undefined1 *)((int)local_64 + 0x2f5);\n    *(undefined1 *)((int)piVar4 + 0x39) = *(undefined1 *)((int)local_64 + 0x549);\n                    \n    iVar9 = FUN_000d81b0(local_64);\n    piVar4[0xf] = iVar9;\n    *(undefined1 *)(piVar4 + 0x10) = *(undefined1 *)((int)local_64 + 0x4a2d);\n    puVar3 = local_64[0x1685];\n    piVar4[0x12] = 0;\n    piVar4[0x11] = (int)puVar3;\n    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);\n    *puVar2 = piVar4;\n    puVar2[1] = puVar2 + 3;\n    puVar2[7] = puVar2 + 9;\n    puVar2[0x1a] = puVar2 + 0x18;\n    puVar2[0x1b] = puVar2 + 0x18;\n    puVar2[0x1e] = puVar2 + 0x1d;\n    puVar2[0x1d] = puVar2 + 0x1d;\n    ppuStack_70 = &local_48;\n    puVar2[2] = 0;\n    *(undefined1 *)(puVar2 + 3) = 0;\n    puVar2[8] = 0;\n    *(undefined1 *)(puVar2 + 9) = 0;\n    puVar2[0xd] = 0xffffffff;\n    *(undefined1 *)(puVar2 + 0xe) = 0;\n    puVar2[0xf] = 0;\n    puVar2[0x10] = 0;\n    puVar2[0x11] = 0;\n    *(undefined1 *)(puVar2 + 0x12) = 0;\n    puVar2[0x13] = 0;\n    puVar2[0x14] = 0;\n    puVar2[0x15] = 0;\n    puVar2[0x16] = 0;\n    puVar2[0x18] = 0;\n    puVar2[0x19] = 0;\n    puVar2[0x1c] = 0;\n    puVar2[0x1f] = 0;\n    puVar2[0x20] = 0;\n    *(undefined1 *)(puVar2 + 0x21) = 1;\n    puVar2[0x22] = 0;\n    *(undefined1 *)(puVar2 + 0x23) = 0;\n    puVar2[0x24] = 0;\n    *param_4 = (int)puVar2;\n    local_48 = (undefined1 *)0x0;\n    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);\n    if ((char)uVar6 == '\0') {\n      return uVar6;\n    }\n    uVar6 = FUN_001aa8c0(0xd8);\n                    \n    FUN_00079850(uVar6,param_7,*param_4,0,param_1[0x33],param_1[1]);\n    FUN_0007abc0(uVar6);\n    local_64 = (undefined1 **)local_30;\n    ppuStack_70 = (undefined1 **)0x0;\n    local_38 = (undefined1 *)local_64;\n    FUN_0007c4c0(&local_38,*param_7,param_7[1] + *param_7);\n    ppuStack_70 = &local_38;\n    local_20 = uVar6;\n                    \n    FUN_0007d3c0(local_54,local_5c,0);\n    uVar10 = extraout_ECX;\n    if ((undefined1 **)local_38 != local_64) {\n      FUN_001ac470(local_38);\n      uVar10 = extraout_ECX_00;\n    }\n    pppuVar11 = &ppuStack_70;\n    if (local_50 == '\0') {\n                    \n      FUN_0008b620((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10);\n    }\n  }\n  else {\n    uVar6 = *(undefined4 *)(*piVar4 + 0x1c);\n  }\n  *(int **)((int)pppuVar11 + -8) = param_7;\n  *(longlong **)((int)pppuVar11 + -0xc) = param_6;\n  *(int **)((int)pppuVar11 + -0x10) = param_5;\n  *(int **)((int)pppuVar11 + -0x14) = param_4;\n  *(int *)((int)pppuVar11 + -0x18) = local_40;\n  *(int *)((int)pppuVar11 + -0x1c) = local_44;\n  *(undefined4 *)((int)pppuVar11 + -0x20) = uVar6;\n  *(undefined4 *)((int)pppuVar11 + -0x24) = 0x79c7d;\n  uVar6 = FUN_00079ae0();\n  return uVar6;\n}" (type_identifier "undefined4") (function_declarator "FUN_00079ae0(int *param_1,undefined1 *param_2,int param_3,int *param_4,int *param_5,\n            longlong *param_6,int *param_7)" (identifier "FUN_00079ae0") (parameter_list "(int *param_1,undefined1 *param_2,int param_3,int *param_4,int *param_5,\n            longlong *param_6,int *param_7)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined1 *param_2" (type_identifier "undefined1") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "int *param_4" (primitive_type "int") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "int *param_5" (primitive_type "int") (pointer_declarator "*param_5" (* "*") (identifier "param_5"))) (, ",") (parameter_declaration "longlong *param_6" (type_identifier "longlong") (pointer_declarator "*param_6" (* "*") (identifier "param_6"))) (, ",") (parameter_declaration "int *param_7" (primitive_type "int") (pointer_declarator "*param_7" (* "*") (identifier "param_7"))) () ")"))) (compound_statement "{\n  undefined **ppuVar1;\n  undefined4 *puVar2;\n  undefined1 *puVar3;\n  int *piVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  char *pcVar7;\n  size_t sVar8;\n  int iVar9;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  undefined4 uVar10;\n  undefined1 ***pppuVar11;\n  longlong lVar12;\n  undefined1 **ppuStack_70;\n  int *local_6c;\n  int *local_68;\n  undefined1 **local_64;\n  int local_60;\n  undefined **local_5c;\n  undefined **local_58;\n  undefined1 local_54 [4];\n  char local_50;\n  undefined1 *local_48;\n  int local_44;\n  int local_40;\n  undefined1 *local_38;\n  undefined4 local_34;\n  undefined1 local_30 [16];\n  undefined4 local_20;\n  \n  local_58 = &__DT_PLTGOT;\n  local_60 = param_3;\n  local_64 = (undefined1 **)param_2;\n  lVar12 = FUN_000786a0(param_1,param_2,param_3,0,param_7,&local_44);\n  *param_6 = lVar12;\n  if (lVar12 == -1) {\n    return 0;\n  }\n  *param_4 = param_1[9];\n  iVar9 = param_1[0x2b];\n  *param_5 = (int)((int)local_64 + 0x3c);\n  param_5[1] = local_60 + (uint)((undefined1 *)0xffffffc3 < local_64);\n  if ((char)iVar9 == '\0') {\n    return 1;\n  }\n  local_5c = (undefined **)*param_7;\n  if (*(char *)local_5c != '/') {\n    local_5c = local_58 + -0xb0d4c;\n    if (*(undefined ***)(*param_1 + 8) == local_5c) {\n      puVar2 = (undefined4 *)(param_1[9] + 0x1c);\n    }\n    else {\n      puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n    }\n    local_64 = (undefined1 **)*puVar2;\n    puVar3 = (undefined1 *)FUN_001a99f0(local_64);\n    if (local_64 < puVar3) {\n      if (*(undefined ***)(*param_1 + 8) == local_5c) {\n        piVar4 = (int *)(param_1[9] + 0x1c);\n      }\n      else {\n        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n      }\n      local_38 = local_30;\n      ppuStack_70 = (undefined1 **)0x0;\n      uVar5 = (int)puVar3 - (int)local_64;\n      if ((uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64)) {\n        uVar5 = piVar4[1];\n      }\n      local_64 = (undefined1 **)local_38;\n      FUN_00056c80(&local_38,*piVar4,uVar5 + *piVar4);\n                    \n      FUN_001b50b0(param_7,0,0,local_38,local_34);\n      if ((undefined1 **)local_38 != local_64) {\n        FUN_001ac470(local_38);\n      }\n    }\n    local_5c = (undefined **)*param_7;\n  }\n  ppuVar1 = local_58;\n  pppuVar11 = (undefined1 ***)&local_6c;\n  if ((int)(uint)(local_44 != 0) <= -local_40) {\n    local_64 = (undefined1 **)FUN_00084ae0(param_1[9]);\n    local_58 = ppuVar1;\n    piVar4 = (int *)FUN_001aa8c0(0x4c);\n    local_68 = piVar4 + 2;\n    *piVar4 = (int)local_68;\n    pcVar7 = (char *)0xffffffff;\n    if (local_5c != (undefined **)0x0) {\n      sVar8 = strlen((char *)local_5c);\n      pcVar7 = (char *)((int)local_5c + sVar8);\n    }\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4,local_5c,pcVar7);\n    piVar4[6] = 0;\n    piVar4[7] = (int)(piVar4 + 9);\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);\n    *(undefined1 *)(piVar4 + 0xd) = 0;\n    piVar4[0xe] = (int)*local_64;\n    piVar4[0xf] = (int)local_64[1];\n    piVar4[0x10] = (int)local_64[2];\n    iVar9 = (int)local_64[3];\n    piVar4[0x12] = 0;\n    piVar4[0x11] = iVar9;\n    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);\n    *puVar2 = piVar4;\n    puVar2[1] = puVar2 + 3;\n    puVar2[7] = puVar2 + 9;\n    puVar2[0x1a] = puVar2 + 0x18;\n    puVar2[0x1b] = puVar2 + 0x18;\n    puVar2[0x1e] = puVar2 + 0x1d;\n    puVar2[0x1d] = puVar2 + 0x1d;\n    ppuStack_70 = &local_38;\n    puVar2[2] = 0;\n    *(undefined1 *)(puVar2 + 3) = 0;\n    puVar2[8] = 0;\n    *(undefined1 *)(puVar2 + 9) = 0;\n    puVar2[0xd] = 0xffffffff;\n    *(undefined1 *)(puVar2 + 0xe) = 0;\n    puVar2[0xf] = 0;\n    puVar2[0x10] = 0;\n    puVar2[0x11] = 0;\n    *(undefined1 *)(puVar2 + 0x12) = 0;\n    puVar2[0x13] = 0;\n    puVar2[0x14] = 0;\n    puVar2[0x15] = 0;\n    puVar2[0x16] = 0;\n    puVar2[0x18] = 0;\n    puVar2[0x19] = 0;\n    puVar2[0x1c] = 0;\n    puVar2[0x1f] = 0;\n    puVar2[0x20] = 0;\n    *(undefined1 *)(puVar2 + 0x21) = 1;\n    puVar2[0x22] = 0;\n    *(undefined1 *)(puVar2 + 0x23) = 0;\n    puVar2[0x24] = 0;\n    *param_4 = (int)puVar2;\n    local_38 = (undefined1 *)0x0;\n    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);\n    if ((char)uVar6 == '\0') {\n      return 0;\n    }\n    *param_5 = 0;\n    param_5[1] = 0;\n    uVar10 = *(undefined4 *)(*param_4 + 0x40);\n    *(undefined4 *)((int)param_6 + 4) = *(undefined4 *)(*param_4 + 0x44);\n    *(undefined4 *)param_6 = uVar10;\n    return uVar6;\n  }\n  pcVar7 = (char *)local_5c;\n  local_5c = (undefined **)(param_1 + 0x2c);\n  uVar5 = FUN_001aa970(pcVar7,param_7[1],0xc70f6907);\n  piVar4 = (int *)FUN_0007d090(param_1 + 0x2c,uVar5 % (uint)param_1[0x2d],param_7,uVar5);\n  if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n    local_64 = *(undefined1 ***)(local_58[0xbc] + 8);\n    if (local_64 == (undefined1 **)0x0) {\n      ppuStack_70 = local_64;\n                    \n      FUN_0008b620((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7);\n    }\n    local_68 = (int *)*param_7;\n    piVar4 = (int *)FUN_001aa8c0(0x4c);\n    local_6c = piVar4 + 2;\n    *piVar4 = (int)local_6c;\n    pcVar7 = (char *)0xffffffff;\n    if (local_68 != (int *)0x0) {\n      sVar8 = strlen((char *)local_68);\n      pcVar7 = (char *)((int)local_68 + sVar8);\n    }\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4,local_68,pcVar7);\n    local_68 = piVar4 + 9;\n    piVar4[6] = 0;\n    piVar4[7] = (int)local_68;\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);\n    *(undefined1 *)(piVar4 + 0xd) = 0;\n    *(undefined1 *)(piVar4 + 0xe) = *(undefined1 *)((int)local_64 + 0x2f5);\n    *(undefined1 *)((int)piVar4 + 0x39) = *(undefined1 *)((int)local_64 + 0x549);\n                    \n    iVar9 = FUN_000d81b0(local_64);\n    piVar4[0xf] = iVar9;\n    *(undefined1 *)(piVar4 + 0x10) = *(undefined1 *)((int)local_64 + 0x4a2d);\n    puVar3 = local_64[0x1685];\n    piVar4[0x12] = 0;\n    piVar4[0x11] = (int)puVar3;\n    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);\n    *puVar2 = piVar4;\n    puVar2[1] = puVar2 + 3;\n    puVar2[7] = puVar2 + 9;\n    puVar2[0x1a] = puVar2 + 0x18;\n    puVar2[0x1b] = puVar2 + 0x18;\n    puVar2[0x1e] = puVar2 + 0x1d;\n    puVar2[0x1d] = puVar2 + 0x1d;\n    ppuStack_70 = &local_48;\n    puVar2[2] = 0;\n    *(undefined1 *)(puVar2 + 3) = 0;\n    puVar2[8] = 0;\n    *(undefined1 *)(puVar2 + 9) = 0;\n    puVar2[0xd] = 0xffffffff;\n    *(undefined1 *)(puVar2 + 0xe) = 0;\n    puVar2[0xf] = 0;\n    puVar2[0x10] = 0;\n    puVar2[0x11] = 0;\n    *(undefined1 *)(puVar2 + 0x12) = 0;\n    puVar2[0x13] = 0;\n    puVar2[0x14] = 0;\n    puVar2[0x15] = 0;\n    puVar2[0x16] = 0;\n    puVar2[0x18] = 0;\n    puVar2[0x19] = 0;\n    puVar2[0x1c] = 0;\n    puVar2[0x1f] = 0;\n    puVar2[0x20] = 0;\n    *(undefined1 *)(puVar2 + 0x21) = 1;\n    puVar2[0x22] = 0;\n    *(undefined1 *)(puVar2 + 0x23) = 0;\n    puVar2[0x24] = 0;\n    *param_4 = (int)puVar2;\n    local_48 = (undefined1 *)0x0;\n    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);\n    if ((char)uVar6 == '\0') {\n      return uVar6;\n    }\n    uVar6 = FUN_001aa8c0(0xd8);\n                    \n    FUN_00079850(uVar6,param_7,*param_4,0,param_1[0x33],param_1[1]);\n    FUN_0007abc0(uVar6);\n    local_64 = (undefined1 **)local_30;\n    ppuStack_70 = (undefined1 **)0x0;\n    local_38 = (undefined1 *)local_64;\n    FUN_0007c4c0(&local_38,*param_7,param_7[1] + *param_7);\n    ppuStack_70 = &local_38;\n    local_20 = uVar6;\n                    \n    FUN_0007d3c0(local_54,local_5c,0);\n    uVar10 = extraout_ECX;\n    if ((undefined1 **)local_38 != local_64) {\n      FUN_001ac470(local_38);\n      uVar10 = extraout_ECX_00;\n    }\n    pppuVar11 = &ppuStack_70;\n    if (local_50 == '\0') {\n                    \n      FUN_0008b620((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10);\n    }\n  }\n  else {\n    uVar6 = *(undefined4 *)(*piVar4 + 0x1c);\n  }\n  *(int **)((int)pppuVar11 + -8) = param_7;\n  *(longlong **)((int)pppuVar11 + -0xc) = param_6;\n  *(int **)((int)pppuVar11 + -0x10) = param_5;\n  *(int **)((int)pppuVar11 + -0x14) = param_4;\n  *(int *)((int)pppuVar11 + -0x18) = local_40;\n  *(int *)((int)pppuVar11 + -0x1c) = local_44;\n  *(undefined4 *)((int)pppuVar11 + -0x20) = uVar6;\n  *(undefined4 *)((int)pppuVar11 + -0x24) = 0x79c7d;\n  uVar6 = FUN_00079ae0();\n  return uVar6;\n}" ({ "{") (declaration "undefined **ppuVar1;" (type_identifier "undefined") (pointer_declarator "**ppuVar1" (* "*") (pointer_declarator "*ppuVar1" (* "*") (identifier "ppuVar1"))) (; ";")) (declaration "undefined4 *puVar2;" (type_identifier "undefined4") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined1 *puVar3;" (type_identifier "undefined1") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "char *pcVar7;" (primitive_type "char") (pointer_declarator "*pcVar7" (* "*") (identifier "pcVar7")) (; ";")) (declaration "size_t sVar8;" (primitive_type "size_t") (identifier "sVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "undefined4 extraout_ECX;" (type_identifier "undefined4") (identifier "extraout_ECX") (; ";")) (declaration "undefined4 extraout_ECX_00;" (type_identifier "undefined4") (identifier "extraout_ECX_00") (; ";")) (declaration "undefined4 uVar10;" (type_identifier "undefined4") (identifier "uVar10") (; ";")) (declaration "undefined1 ***pppuVar11;" (type_identifier "undefined1") (pointer_declarator "***pppuVar11" (* "*") (pointer_declarator "**pppuVar11" (* "*") (pointer_declarator "*pppuVar11" (* "*") (identifier "pppuVar11")))) (; ";")) (declaration "longlong lVar12;" (type_identifier "longlong") (identifier "lVar12") (; ";")) (declaration "undefined1 **ppuStack_70;" (type_identifier "undefined1") (pointer_declarator "**ppuStack_70" (* "*") (pointer_declarator "*ppuStack_70" (* "*") (identifier "ppuStack_70"))) (; ";")) (declaration "int *local_6c;" (primitive_type "int") (pointer_declarator "*local_6c" (* "*") (identifier "local_6c")) (; ";")) (declaration "int *local_68;" (primitive_type "int") (pointer_declarator "*local_68" (* "*") (identifier "local_68")) (; ";")) (declaration "undefined1 **local_64;" (type_identifier "undefined1") (pointer_declarator "**local_64" (* "*") (pointer_declarator "*local_64" (* "*") (identifier "local_64"))) (; ";")) (declaration "int local_60;" (primitive_type "int") (identifier "local_60") (; ";")) (declaration "undefined **local_5c;" (type_identifier "undefined") (pointer_declarator "**local_5c" (* "*") (pointer_declarator "*local_5c" (* "*") (identifier "local_5c"))) (; ";")) (declaration "undefined **local_58;" (type_identifier "undefined") (pointer_declarator "**local_58" (* "*") (pointer_declarator "*local_58" (* "*") (identifier "local_58"))) (; ";")) (declaration "undefined1 local_54 [4];" (type_identifier "undefined1") (array_declarator "local_54 [4]" (identifier "local_54") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "char local_50;" (primitive_type "char") (identifier "local_50") (; ";")) (declaration "undefined1 *local_48;" (type_identifier "undefined1") (pointer_declarator "*local_48" (* "*") (identifier "local_48")) (; ";")) (declaration "int local_44;" (primitive_type "int") (identifier "local_44") (; ";")) (declaration "int local_40;" (primitive_type "int") (identifier "local_40") (; ";")) (declaration "undefined1 *local_38;" (type_identifier "undefined1") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "undefined4 local_34;" (type_identifier "undefined4") (identifier "local_34") (; ";")) (declaration "undefined1 local_30 [16];" (type_identifier "undefined1") (array_declarator "local_30 [16]" (identifier "local_30") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined4 local_20;" (type_identifier "undefined4") (identifier "local_20") (; ";")) (expression_statement "local_58 = &__DT_PLTGOT;" (assignment_expression "local_58 = &__DT_PLTGOT" (identifier "local_58") (= "=") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (; ";")) (expression_statement "local_60 = param_3;" (assignment_expression "local_60 = param_3" (identifier "local_60") (= "=") (identifier "param_3")) (; ";")) (expression_statement "local_64 = (undefined1 **)param_2;" (assignment_expression "local_64 = (undefined1 **)param_2" (identifier "local_64") (= "=") (cast_expression "(undefined1 **)param_2" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "param_2"))) (; ";")) (expression_statement "lVar12 = FUN_000786a0(param_1,param_2,param_3,0,param_7,&local_44);" (assignment_expression "lVar12 = FUN_000786a0(param_1,param_2,param_3,0,param_7,&local_44)" (identifier "lVar12") (= "=") (call_expression "FUN_000786a0(param_1,param_2,param_3,0,param_7,&local_44)" (identifier "FUN_000786a0") (argument_list "(param_1,param_2,param_3,0,param_7,&local_44)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (number_literal "0") (, ",") (identifier "param_7") (, ",") (pointer_expression "&local_44" (& "&") (identifier "local_44")) () ")")))) (; ";")) (expression_statement "*param_6 = lVar12;" (assignment_expression "*param_6 = lVar12" (pointer_expression "*param_6" (* "*") (identifier "param_6")) (= "=") (identifier "lVar12")) (; ";")) (if_statement "if (lVar12 == -1) {\n    return 0;\n  }" (if "if") (parenthesized_expression "(lVar12 == -1)" (( "(") (binary_expression "lVar12 == -1" (identifier "lVar12") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n    return 0;\n  }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "*param_4 = param_1[9];" (assignment_expression "*param_4 = param_1[9]" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (= "=") (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "iVar9 = param_1[0x2b];" (assignment_expression "iVar9 = param_1[0x2b]" (identifier "iVar9") (= "=") (subscript_expression "param_1[0x2b]" (identifier "param_1") ([ "[") (number_literal "0x2b") (] "]"))) (; ";")) (expression_statement "*param_5 = (int)((int)local_64 + 0x3c);" (assignment_expression "*param_5 = (int)((int)local_64 + 0x3c)" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (cast_expression "(int)((int)local_64 + 0x3c)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int)local_64 + 0x3c)" (( "(") (binary_expression "(int)local_64 + 0x3c" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (number_literal "0x3c")) () ")")))) (; ";")) (expression_statement "param_5[1] = local_60 + (uint)((undefined1 *)0xffffffc3 < local_64);" (assignment_expression "param_5[1] = local_60 + (uint)((undefined1 *)0xffffffc3 < local_64)" (subscript_expression "param_5[1]" (identifier "param_5") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "local_60 + (uint)((undefined1 *)0xffffffc3 < local_64)" (identifier "local_60") (+ "+") (call_expression "(uint)((undefined1 *)0xffffffc3 < local_64)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((undefined1 *)0xffffffc3 < local_64)" (( "(") (binary_expression "(undefined1 *)0xffffffc3 < local_64" (cast_expression "(undefined1 *)0xffffffc3" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffc3")) (< "<") (identifier "local_64")) () ")"))))) (; ";")) (if_statement "if ((char)iVar9 == '\0') {\n    return 1;\n  }" (if "if") (parenthesized_expression "((char)iVar9 == '\0')" (( "(") (binary_expression "(char)iVar9 == '\0'" (cast_expression "(char)iVar9" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "iVar9")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    return 1;\n  }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "local_5c = (undefined **)*param_7;" (assignment_expression "local_5c = (undefined **)*param_7" (identifier "local_5c") (= "=") (cast_expression "(undefined **)*param_7" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*param_7" (* "*") (identifier "param_7")))) (; ";")) (if_statement "if (*(char *)local_5c != '/') {\n    local_5c = local_58 + -0xb0d4c;\n    if (*(undefined ***)(*param_1 + 8) == local_5c) {\n      puVar2 = (undefined4 *)(param_1[9] + 0x1c);\n    }\n    else {\n      puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n    }\n    local_64 = (undefined1 **)*puVar2;\n    puVar3 = (undefined1 *)FUN_001a99f0(local_64);\n    if (local_64 < puVar3) {\n      if (*(undefined ***)(*param_1 + 8) == local_5c) {\n        piVar4 = (int *)(param_1[9] + 0x1c);\n      }\n      else {\n        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n      }\n      local_38 = local_30;\n      ppuStack_70 = (undefined1 **)0x0;\n      uVar5 = (int)puVar3 - (int)local_64;\n      if ((uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64)) {\n        uVar5 = piVar4[1];\n      }\n      local_64 = (undefined1 **)local_38;\n      FUN_00056c80(&local_38,*piVar4,uVar5 + *piVar4);\n                    \n      FUN_001b50b0(param_7,0,0,local_38,local_34);\n      if ((undefined1 **)local_38 != local_64) {\n        FUN_001ac470(local_38);\n      }\n    }\n    local_5c = (undefined **)*param_7;\n  }" (if "if") (parenthesized_expression "(*(char *)local_5c != '/')" (( "(") (binary_expression "*(char *)local_5c != '/'" (pointer_expression "*(char *)local_5c" (* "*") (cast_expression "(char *)local_5c" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_5c"))) (!= "!=") (char_literal "'/'" (' "'") (character "/") (' "'"))) () ")")) (compound_statement "{\n    local_5c = local_58 + -0xb0d4c;\n    if (*(undefined ***)(*param_1 + 8) == local_5c) {\n      puVar2 = (undefined4 *)(param_1[9] + 0x1c);\n    }\n    else {\n      puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n    }\n    local_64 = (undefined1 **)*puVar2;\n    puVar3 = (undefined1 *)FUN_001a99f0(local_64);\n    if (local_64 < puVar3) {\n      if (*(undefined ***)(*param_1 + 8) == local_5c) {\n        piVar4 = (int *)(param_1[9] + 0x1c);\n      }\n      else {\n        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n      }\n      local_38 = local_30;\n      ppuStack_70 = (undefined1 **)0x0;\n      uVar5 = (int)puVar3 - (int)local_64;\n      if ((uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64)) {\n        uVar5 = piVar4[1];\n      }\n      local_64 = (undefined1 **)local_38;\n      FUN_00056c80(&local_38,*piVar4,uVar5 + *piVar4);\n                    \n      FUN_001b50b0(param_7,0,0,local_38,local_34);\n      if ((undefined1 **)local_38 != local_64) {\n        FUN_001ac470(local_38);\n      }\n    }\n    local_5c = (undefined **)*param_7;\n  }" ({ "{") (expression_statement "local_5c = local_58 + -0xb0d4c;" (assignment_expression "local_5c = local_58 + -0xb0d4c" (identifier "local_5c") (= "=") (binary_expression "local_58 + -0xb0d4c" (identifier "local_58") (+ "+") (number_literal "-0xb0d4c"))) (; ";")) (if_statement "if (*(undefined ***)(*param_1 + 8) == local_5c) {\n      puVar2 = (undefined4 *)(param_1[9] + 0x1c);\n    }\n    else {\n      puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n    }" (if "if") (parenthesized_expression "(*(undefined ***)(*param_1 + 8) == local_5c)" (( "(") (binary_expression "*(undefined ***)(*param_1 + 8) == local_5c" (pointer_expression "*(undefined ***)(*param_1 + 8)" (* "*") (cast_expression "(undefined ***)(*param_1 + 8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*param_1 + 8)" (( "(") (binary_expression "*param_1 + 8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "8")) () ")")))) (== "==") (identifier "local_5c")) () ")")) (compound_statement "{\n      puVar2 = (undefined4 *)(param_1[9] + 0x1c);\n    }" ({ "{") (expression_statement "puVar2 = (undefined4 *)(param_1[9] + 0x1c);" (assignment_expression "puVar2 = (undefined4 *)(param_1[9] + 0x1c)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)(param_1[9] + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[9] + 0x1c)" (( "(") (binary_expression "param_1[9] + 0x1c" (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")) (+ "+") (number_literal "0x1c")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n      puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n    }" (else "else") (compound_statement "{\n      puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n    }" ({ "{") (expression_statement "puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);" (assignment_expression "puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)*(undefined ***)(*param_1 + 8))(param_1)" (parenthesized_expression "(*(code *)*(undefined ***)(*param_1 + 8))" (( "(") (pointer_expression "*(code *)*(undefined ***)(*param_1 + 8)" (* "*") (cast_expression "(code *)*(undefined ***)(*param_1 + 8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*(undefined ***)(*param_1 + 8)" (* "*") (cast_expression "(undefined ***)(*param_1 + 8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*param_1 + 8)" (( "(") (binary_expression "*param_1 + 8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "8")) () ")")))))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))))) (; ";")) (} "}")))) (expression_statement "local_64 = (undefined1 **)*puVar2;" (assignment_expression "local_64 = (undefined1 **)*puVar2" (identifier "local_64") (= "=") (cast_expression "(undefined1 **)*puVar2" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*puVar2" (* "*") (identifier "puVar2")))) (; ";")) (expression_statement "puVar3 = (undefined1 *)FUN_001a99f0(local_64);" (assignment_expression "puVar3 = (undefined1 *)FUN_001a99f0(local_64)" (identifier "puVar3") (= "=") (cast_expression "(undefined1 *)FUN_001a99f0(local_64)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001a99f0(local_64)" (identifier "FUN_001a99f0") (argument_list "(local_64)" (( "(") (identifier "local_64") () ")"))))) (; ";")) (if_statement "if (local_64 < puVar3) {\n      if (*(undefined ***)(*param_1 + 8) == local_5c) {\n        piVar4 = (int *)(param_1[9] + 0x1c);\n      }\n      else {\n        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n      }\n      local_38 = local_30;\n      ppuStack_70 = (undefined1 **)0x0;\n      uVar5 = (int)puVar3 - (int)local_64;\n      if ((uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64)) {\n        uVar5 = piVar4[1];\n      }\n      local_64 = (undefined1 **)local_38;\n      FUN_00056c80(&local_38,*piVar4,uVar5 + *piVar4);\n                    \n      FUN_001b50b0(param_7,0,0,local_38,local_34);\n      if ((undefined1 **)local_38 != local_64) {\n        FUN_001ac470(local_38);\n      }\n    }" (if "if") (parenthesized_expression "(local_64 < puVar3)" (( "(") (binary_expression "local_64 < puVar3" (identifier "local_64") (< "<") (identifier "puVar3")) () ")")) (compound_statement "{\n      if (*(undefined ***)(*param_1 + 8) == local_5c) {\n        piVar4 = (int *)(param_1[9] + 0x1c);\n      }\n      else {\n        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n      }\n      local_38 = local_30;\n      ppuStack_70 = (undefined1 **)0x0;\n      uVar5 = (int)puVar3 - (int)local_64;\n      if ((uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64)) {\n        uVar5 = piVar4[1];\n      }\n      local_64 = (undefined1 **)local_38;\n      FUN_00056c80(&local_38,*piVar4,uVar5 + *piVar4);\n                    \n      FUN_001b50b0(param_7,0,0,local_38,local_34);\n      if ((undefined1 **)local_38 != local_64) {\n        FUN_001ac470(local_38);\n      }\n    }" ({ "{") (if_statement "if (*(undefined ***)(*param_1 + 8) == local_5c) {\n        piVar4 = (int *)(param_1[9] + 0x1c);\n      }\n      else {\n        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n      }" (if "if") (parenthesized_expression "(*(undefined ***)(*param_1 + 8) == local_5c)" (( "(") (binary_expression "*(undefined ***)(*param_1 + 8) == local_5c" (pointer_expression "*(undefined ***)(*param_1 + 8)" (* "*") (cast_expression "(undefined ***)(*param_1 + 8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*param_1 + 8)" (( "(") (binary_expression "*param_1 + 8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "8")) () ")")))) (== "==") (identifier "local_5c")) () ")")) (compound_statement "{\n        piVar4 = (int *)(param_1[9] + 0x1c);\n      }" ({ "{") (expression_statement "piVar4 = (int *)(param_1[9] + 0x1c);" (assignment_expression "piVar4 = (int *)(param_1[9] + 0x1c)" (identifier "piVar4") (= "=") (cast_expression "(int *)(param_1[9] + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[9] + 0x1c)" (( "(") (binary_expression "param_1[9] + 0x1c" (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")) (+ "+") (number_literal "0x1c")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n      }" (else "else") (compound_statement "{\n        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);\n      }" ({ "{") (expression_statement "piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);" (assignment_expression "piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1)" (identifier "piVar4") (= "=") (cast_expression "(int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)*(undefined ***)(*param_1 + 8))(param_1)" (parenthesized_expression "(*(code *)*(undefined ***)(*param_1 + 8))" (( "(") (pointer_expression "*(code *)*(undefined ***)(*param_1 + 8)" (* "*") (cast_expression "(code *)*(undefined ***)(*param_1 + 8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*(undefined ***)(*param_1 + 8)" (* "*") (cast_expression "(undefined ***)(*param_1 + 8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*param_1 + 8)" (( "(") (binary_expression "*param_1 + 8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "8")) () ")")))))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))))) (; ";")) (} "}")))) (expression_statement "local_38 = local_30;" (assignment_expression "local_38 = local_30" (identifier "local_38") (= "=") (identifier "local_30")) (; ";")) (expression_statement "ppuStack_70 = (undefined1 **)0x0;" (assignment_expression "ppuStack_70 = (undefined1 **)0x0" (identifier "ppuStack_70") (= "=") (cast_expression "(undefined1 **)0x0" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar5 = (int)puVar3 - (int)local_64;" (assignment_expression "uVar5 = (int)puVar3 - (int)local_64" (identifier "uVar5") (= "=") (binary_expression "(int)puVar3 - (int)local_64" (cast_expression "(int)puVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar3")) (- "-") (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")))) (; ";")) (if_statement "if ((uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64)) {\n        uVar5 = piVar4[1];\n      }" (if "if") (parenthesized_expression "((uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64))" (( "(") (binary_expression "(uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64)" (cast_expression "(uint)piVar4[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar4[1]" (identifier "piVar4") ([ "[") (number_literal "1") (] "]"))) (< "<") (call_expression "(uint)((int)puVar3 - (int)local_64)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)puVar3 - (int)local_64)" (( "(") (binary_expression "(int)puVar3 - (int)local_64" (cast_expression "(int)puVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar3")) (- "-") (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64"))) () ")")))) () ")")) (compound_statement "{\n        uVar5 = piVar4[1];\n      }" ({ "{") (expression_statement "uVar5 = piVar4[1];" (assignment_expression "uVar5 = piVar4[1]" (identifier "uVar5") (= "=") (subscript_expression "piVar4[1]" (identifier "piVar4") ([ "[") (number_literal "1") (] "]"))) (; ";")) (} "}"))) (expression_statement "local_64 = (undefined1 **)local_38;" (assignment_expression "local_64 = (undefined1 **)local_38" (identifier "local_64") (= "=") (cast_expression "(undefined1 **)local_38" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "local_38"))) (; ";")) (expression_statement "FUN_00056c80(&local_38,*piVar4,uVar5 + *piVar4);" (call_expression "FUN_00056c80(&local_38,*piVar4,uVar5 + *piVar4)" (identifier "FUN_00056c80") (argument_list "(&local_38,*piVar4,uVar5 + *piVar4)" (( "(") (pointer_expression "&local_38" (& "&") (identifier "local_38")) (, ",") (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (, ",") (binary_expression "uVar5 + *piVar4" (identifier "uVar5") (+ "+") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) () ")"))) (; ";")) (expression_statement "FUN_001b50b0(param_7,0,0,local_38,local_34);" (call_expression "FUN_001b50b0(param_7,0,0,local_38,local_34)" (identifier "FUN_001b50b0") (argument_list "(param_7,0,0,local_38,local_34)" (( "(") (identifier "param_7") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "local_38") (, ",") (identifier "local_34") () ")"))) (; ";")) (if_statement "if ((undefined1 **)local_38 != local_64) {\n        FUN_001ac470(local_38);\n      }" (if "if") (parenthesized_expression "((undefined1 **)local_38 != local_64)" (( "(") (binary_expression "(undefined1 **)local_38 != local_64" (cast_expression "(undefined1 **)local_38" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "local_38")) (!= "!=") (identifier "local_64")) () ")")) (compound_statement "{\n        FUN_001ac470(local_38);\n      }" ({ "{") (expression_statement "FUN_001ac470(local_38);" (call_expression "FUN_001ac470(local_38)" (identifier "FUN_001ac470") (argument_list "(local_38)" (( "(") (identifier "local_38") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "local_5c = (undefined **)*param_7;" (assignment_expression "local_5c = (undefined **)*param_7" (identifier "local_5c") (= "=") (cast_expression "(undefined **)*param_7" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*param_7" (* "*") (identifier "param_7")))) (; ";")) (} "}"))) (expression_statement "ppuVar1 = local_58;" (assignment_expression "ppuVar1 = local_58" (identifier "ppuVar1") (= "=") (identifier "local_58")) (; ";")) (expression_statement "pppuVar11 = (undefined1 ***)&local_6c;" (assignment_expression "pppuVar11 = (undefined1 ***)&local_6c" (identifier "pppuVar11") (= "=") (cast_expression "(undefined1 ***)&local_6c" (( "(") (type_descriptor "undefined1 ***" (type_identifier "undefined1") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (pointer_expression "&local_6c" (& "&") (identifier "local_6c")))) (; ";")) (if_statement "if ((int)(uint)(local_44 != 0) <= -local_40) {\n    local_64 = (undefined1 **)FUN_00084ae0(param_1[9]);\n    local_58 = ppuVar1;\n    piVar4 = (int *)FUN_001aa8c0(0x4c);\n    local_68 = piVar4 + 2;\n    *piVar4 = (int)local_68;\n    pcVar7 = (char *)0xffffffff;\n    if (local_5c != (undefined **)0x0) {\n      sVar8 = strlen((char *)local_5c);\n      pcVar7 = (char *)((int)local_5c + sVar8);\n    }\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4,local_5c,pcVar7);\n    piVar4[6] = 0;\n    piVar4[7] = (int)(piVar4 + 9);\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);\n    *(undefined1 *)(piVar4 + 0xd) = 0;\n    piVar4[0xe] = (int)*local_64;\n    piVar4[0xf] = (int)local_64[1];\n    piVar4[0x10] = (int)local_64[2];\n    iVar9 = (int)local_64[3];\n    piVar4[0x12] = 0;\n    piVar4[0x11] = iVar9;\n    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);\n    *puVar2 = piVar4;\n    puVar2[1] = puVar2 + 3;\n    puVar2[7] = puVar2 + 9;\n    puVar2[0x1a] = puVar2 + 0x18;\n    puVar2[0x1b] = puVar2 + 0x18;\n    puVar2[0x1e] = puVar2 + 0x1d;\n    puVar2[0x1d] = puVar2 + 0x1d;\n    ppuStack_70 = &local_38;\n    puVar2[2] = 0;\n    *(undefined1 *)(puVar2 + 3) = 0;\n    puVar2[8] = 0;\n    *(undefined1 *)(puVar2 + 9) = 0;\n    puVar2[0xd] = 0xffffffff;\n    *(undefined1 *)(puVar2 + 0xe) = 0;\n    puVar2[0xf] = 0;\n    puVar2[0x10] = 0;\n    puVar2[0x11] = 0;\n    *(undefined1 *)(puVar2 + 0x12) = 0;\n    puVar2[0x13] = 0;\n    puVar2[0x14] = 0;\n    puVar2[0x15] = 0;\n    puVar2[0x16] = 0;\n    puVar2[0x18] = 0;\n    puVar2[0x19] = 0;\n    puVar2[0x1c] = 0;\n    puVar2[0x1f] = 0;\n    puVar2[0x20] = 0;\n    *(undefined1 *)(puVar2 + 0x21) = 1;\n    puVar2[0x22] = 0;\n    *(undefined1 *)(puVar2 + 0x23) = 0;\n    puVar2[0x24] = 0;\n    *param_4 = (int)puVar2;\n    local_38 = (undefined1 *)0x0;\n    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);\n    if ((char)uVar6 == '\0') {\n      return 0;\n    }\n    *param_5 = 0;\n    param_5[1] = 0;\n    uVar10 = *(undefined4 *)(*param_4 + 0x40);\n    *(undefined4 *)((int)param_6 + 4) = *(undefined4 *)(*param_4 + 0x44);\n    *(undefined4 *)param_6 = uVar10;\n    return uVar6;\n  }" (if "if") (parenthesized_expression "((int)(uint)(local_44 != 0) <= -local_40)" (( "(") (binary_expression "(int)(uint)(local_44 != 0) <= -local_40" (cast_expression "(int)(uint)(local_44 != 0)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)(local_44 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_44 != 0)" (( "(") (binary_expression "local_44 != 0" (identifier "local_44") (!= "!=") (number_literal "0")) () ")")))) (<= "<=") (unary_expression "-local_40" (- "-") (identifier "local_40"))) () ")")) (compound_statement "{\n    local_64 = (undefined1 **)FUN_00084ae0(param_1[9]);\n    local_58 = ppuVar1;\n    piVar4 = (int *)FUN_001aa8c0(0x4c);\n    local_68 = piVar4 + 2;\n    *piVar4 = (int)local_68;\n    pcVar7 = (char *)0xffffffff;\n    if (local_5c != (undefined **)0x0) {\n      sVar8 = strlen((char *)local_5c);\n      pcVar7 = (char *)((int)local_5c + sVar8);\n    }\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4,local_5c,pcVar7);\n    piVar4[6] = 0;\n    piVar4[7] = (int)(piVar4 + 9);\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);\n    *(undefined1 *)(piVar4 + 0xd) = 0;\n    piVar4[0xe] = (int)*local_64;\n    piVar4[0xf] = (int)local_64[1];\n    piVar4[0x10] = (int)local_64[2];\n    iVar9 = (int)local_64[3];\n    piVar4[0x12] = 0;\n    piVar4[0x11] = iVar9;\n    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);\n    *puVar2 = piVar4;\n    puVar2[1] = puVar2 + 3;\n    puVar2[7] = puVar2 + 9;\n    puVar2[0x1a] = puVar2 + 0x18;\n    puVar2[0x1b] = puVar2 + 0x18;\n    puVar2[0x1e] = puVar2 + 0x1d;\n    puVar2[0x1d] = puVar2 + 0x1d;\n    ppuStack_70 = &local_38;\n    puVar2[2] = 0;\n    *(undefined1 *)(puVar2 + 3) = 0;\n    puVar2[8] = 0;\n    *(undefined1 *)(puVar2 + 9) = 0;\n    puVar2[0xd] = 0xffffffff;\n    *(undefined1 *)(puVar2 + 0xe) = 0;\n    puVar2[0xf] = 0;\n    puVar2[0x10] = 0;\n    puVar2[0x11] = 0;\n    *(undefined1 *)(puVar2 + 0x12) = 0;\n    puVar2[0x13] = 0;\n    puVar2[0x14] = 0;\n    puVar2[0x15] = 0;\n    puVar2[0x16] = 0;\n    puVar2[0x18] = 0;\n    puVar2[0x19] = 0;\n    puVar2[0x1c] = 0;\n    puVar2[0x1f] = 0;\n    puVar2[0x20] = 0;\n    *(undefined1 *)(puVar2 + 0x21) = 1;\n    puVar2[0x22] = 0;\n    *(undefined1 *)(puVar2 + 0x23) = 0;\n    puVar2[0x24] = 0;\n    *param_4 = (int)puVar2;\n    local_38 = (undefined1 *)0x0;\n    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);\n    if ((char)uVar6 == '\0') {\n      return 0;\n    }\n    *param_5 = 0;\n    param_5[1] = 0;\n    uVar10 = *(undefined4 *)(*param_4 + 0x40);\n    *(undefined4 *)((int)param_6 + 4) = *(undefined4 *)(*param_4 + 0x44);\n    *(undefined4 *)param_6 = uVar10;\n    return uVar6;\n  }" ({ "{") (expression_statement "local_64 = (undefined1 **)FUN_00084ae0(param_1[9]);" (assignment_expression "local_64 = (undefined1 **)FUN_00084ae0(param_1[9])" (identifier "local_64") (= "=") (cast_expression "(undefined1 **)FUN_00084ae0(param_1[9])" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "FUN_00084ae0(param_1[9])" (identifier "FUN_00084ae0") (argument_list "(param_1[9])" (( "(") (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")) () ")"))))) (; ";")) (expression_statement "local_58 = ppuVar1;" (assignment_expression "local_58 = ppuVar1" (identifier "local_58") (= "=") (identifier "ppuVar1")) (; ";")) (expression_statement "piVar4 = (int *)FUN_001aa8c0(0x4c);" (assignment_expression "piVar4 = (int *)FUN_001aa8c0(0x4c)" (identifier "piVar4") (= "=") (cast_expression "(int *)FUN_001aa8c0(0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001aa8c0(0x4c)" (identifier "FUN_001aa8c0") (argument_list "(0x4c)" (( "(") (number_literal "0x4c") () ")"))))) (; ";")) (expression_statement "local_68 = piVar4 + 2;" (assignment_expression "local_68 = piVar4 + 2" (identifier "local_68") (= "=") (binary_expression "piVar4 + 2" (identifier "piVar4") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*piVar4 = (int)local_68;" (assignment_expression "*piVar4 = (int)local_68" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (= "=") (cast_expression "(int)local_68" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_68"))) (; ";")) (expression_statement "pcVar7 = (char *)0xffffffff;" (assignment_expression "pcVar7 = (char *)0xffffffff" (identifier "pcVar7") (= "=") (cast_expression "(char *)0xffffffff" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (if_statement "if (local_5c != (undefined **)0x0) {\n      sVar8 = strlen((char *)local_5c);\n      pcVar7 = (char *)((int)local_5c + sVar8);\n    }" (if "if") (parenthesized_expression "(local_5c != (undefined **)0x0)" (( "(") (binary_expression "local_5c != (undefined **)0x0" (identifier "local_5c") (!= "!=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      sVar8 = strlen((char *)local_5c);\n      pcVar7 = (char *)((int)local_5c + sVar8);\n    }" ({ "{") (expression_statement "sVar8 = strlen((char *)local_5c);" (assignment_expression "sVar8 = strlen((char *)local_5c)" (identifier "sVar8") (= "=") (call_expression "strlen((char *)local_5c)" (identifier "strlen") (argument_list "((char *)local_5c)" (( "(") (cast_expression "(char *)local_5c" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_5c")) () ")")))) (; ";")) (expression_statement "pcVar7 = (char *)((int)local_5c + sVar8);" (assignment_expression "pcVar7 = (char *)((int)local_5c + sVar8)" (identifier "pcVar7") (= "=") (cast_expression "(char *)((int)local_5c + sVar8)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_5c + sVar8)" (( "(") (binary_expression "(int)local_5c + sVar8" (cast_expression "(int)local_5c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_5c")) (+ "+") (identifier "sVar8")) () ")")))) (; ";")) (} "}"))) (expression_statement "ppuStack_70 = (undefined1 **)0x0;" (assignment_expression "ppuStack_70 = (undefined1 **)0x0" (identifier "ppuStack_70") (= "=") (cast_expression "(undefined1 **)0x0" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "FUN_00056c80(piVar4,local_5c,pcVar7);" (call_expression "FUN_00056c80(piVar4,local_5c,pcVar7)" (identifier "FUN_00056c80") (argument_list "(piVar4,local_5c,pcVar7)" (( "(") (identifier "piVar4") (, ",") (identifier "local_5c") (, ",") (identifier "pcVar7") () ")"))) (; ";")) (expression_statement "piVar4[6] = 0;" (assignment_expression "piVar4[6] = 0" (subscript_expression "piVar4[6]" (identifier "piVar4") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[7] = (int)(piVar4 + 9);" (assignment_expression "piVar4[7] = (int)(piVar4 + 9)" (subscript_expression "piVar4[7]" (identifier "piVar4") ([ "[") (number_literal "7") (] "]")) (= "=") (cast_expression "(int)(piVar4 + 9)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(piVar4 + 9)" (( "(") (binary_expression "piVar4 + 9" (identifier "piVar4") (+ "+") (number_literal "9")) () ")")))) (; ";")) (expression_statement "ppuStack_70 = (undefined1 **)0x0;" (assignment_expression "ppuStack_70 = (undefined1 **)0x0" (identifier "ppuStack_70") (= "=") (cast_expression "(undefined1 **)0x0" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);" (call_expression "FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a)" (identifier "FUN_00056c80") (argument_list "(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a)" (( "(") (binary_expression "piVar4 + 7" (identifier "piVar4") (+ "+") (number_literal "7")) (, ",") (binary_expression "(int)local_58 + -0xd834a" (cast_expression "(int)local_58" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_58")) (+ "+") (number_literal "-0xd834a")) (, ",") (binary_expression "(int)local_58 + -0xd834a" (cast_expression "(int)local_58" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_58")) (+ "+") (number_literal "-0xd834a")) () ")"))) (; ";")) (expression_statement "*(undefined1 *)(piVar4 + 0xd) = 0;" (assignment_expression "*(undefined1 *)(piVar4 + 0xd) = 0" (pointer_expression "*(undefined1 *)(piVar4 + 0xd)" (* "*") (cast_expression "(undefined1 *)(piVar4 + 0xd)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4 + 0xd)" (( "(") (binary_expression "piVar4 + 0xd" (identifier "piVar4") (+ "+") (number_literal "0xd")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0xe] = (int)*local_64;" (assignment_expression "piVar4[0xe] = (int)*local_64" (subscript_expression "piVar4[0xe]" (identifier "piVar4") ([ "[") (number_literal "0xe") (] "]")) (= "=") (cast_expression "(int)*local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*local_64" (* "*") (identifier "local_64")))) (; ";")) (expression_statement "piVar4[0xf] = (int)local_64[1];" (assignment_expression "piVar4[0xf] = (int)local_64[1]" (subscript_expression "piVar4[0xf]" (identifier "piVar4") ([ "[") (number_literal "0xf") (] "]")) (= "=") (cast_expression "(int)local_64[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_64[1]" (identifier "local_64") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "piVar4[0x10] = (int)local_64[2];" (assignment_expression "piVar4[0x10] = (int)local_64[2]" (subscript_expression "piVar4[0x10]" (identifier "piVar4") ([ "[") (number_literal "0x10") (] "]")) (= "=") (cast_expression "(int)local_64[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_64[2]" (identifier "local_64") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "iVar9 = (int)local_64[3];" (assignment_expression "iVar9 = (int)local_64[3]" (identifier "iVar9") (= "=") (cast_expression "(int)local_64[3]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_64[3]" (identifier "local_64") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "piVar4[0x12] = 0;" (assignment_expression "piVar4[0x12] = 0" (subscript_expression "piVar4[0x12]" (identifier "piVar4") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x11] = iVar9;" (assignment_expression "piVar4[0x11] = iVar9" (subscript_expression "piVar4[0x11]" (identifier "piVar4") ([ "[") (number_literal "0x11") (] "]")) (= "=") (identifier "iVar9")) (; ";")) (expression_statement "puVar2 = (undefined4 *)FUN_001aa8c0(0x94);" (assignment_expression "puVar2 = (undefined4 *)FUN_001aa8c0(0x94)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)FUN_001aa8c0(0x94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001aa8c0(0x94)" (identifier "FUN_001aa8c0") (argument_list "(0x94)" (( "(") (number_literal "0x94") () ")"))))) (; ";")) (expression_statement "*puVar2 = piVar4;" (assignment_expression "*puVar2 = piVar4" (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (= "=") (identifier "piVar4")) (; ";")) (expression_statement "puVar2[1] = puVar2 + 3;" (assignment_expression "puVar2[1] = puVar2 + 3" (subscript_expression "puVar2[1]" (identifier "puVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "puVar2 + 3" (identifier "puVar2") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "puVar2[7] = puVar2 + 9;" (assignment_expression "puVar2[7] = puVar2 + 9" (subscript_expression "puVar2[7]" (identifier "puVar2") ([ "[") (number_literal "7") (] "]")) (= "=") (binary_expression "puVar2 + 9" (identifier "puVar2") (+ "+") (number_literal "9"))) (; ";")) (expression_statement "puVar2[0x1a] = puVar2 + 0x18;" (assignment_expression "puVar2[0x1a] = puVar2 + 0x18" (subscript_expression "puVar2[0x1a]" (identifier "puVar2") ([ "[") (number_literal "0x1a") (] "]")) (= "=") (binary_expression "puVar2 + 0x18" (identifier "puVar2") (+ "+") (number_literal "0x18"))) (; ";")) (expression_statement "puVar2[0x1b] = puVar2 + 0x18;" (assignment_expression "puVar2[0x1b] = puVar2 + 0x18" (subscript_expression "puVar2[0x1b]" (identifier "puVar2") ([ "[") (number_literal "0x1b") (] "]")) (= "=") (binary_expression "puVar2 + 0x18" (identifier "puVar2") (+ "+") (number_literal "0x18"))) (; ";")) (expression_statement "puVar2[0x1e] = puVar2 + 0x1d;" (assignment_expression "puVar2[0x1e] = puVar2 + 0x1d" (subscript_expression "puVar2[0x1e]" (identifier "puVar2") ([ "[") (number_literal "0x1e") (] "]")) (= "=") (binary_expression "puVar2 + 0x1d" (identifier "puVar2") (+ "+") (number_literal "0x1d"))) (; ";")) (expression_statement "puVar2[0x1d] = puVar2 + 0x1d;" (assignment_expression "puVar2[0x1d] = puVar2 + 0x1d" (subscript_expression "puVar2[0x1d]" (identifier "puVar2") ([ "[") (number_literal "0x1d") (] "]")) (= "=") (binary_expression "puVar2 + 0x1d" (identifier "puVar2") (+ "+") (number_literal "0x1d"))) (; ";")) (expression_statement "ppuStack_70 = &local_38;" (assignment_expression "ppuStack_70 = &local_38" (identifier "ppuStack_70") (= "=") (pointer_expression "&local_38" (& "&") (identifier "local_38"))) (; ";")) (expression_statement "puVar2[2] = 0;" (assignment_expression "puVar2[2] = 0" (subscript_expression "puVar2[2]" (identifier "puVar2") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puVar2 + 3) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 3) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 3)" (* "*") (cast_expression "(undefined1 *)(puVar2 + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 3)" (( "(") (binary_expression "puVar2 + 3" (identifier "puVar2") (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[8] = 0;" (assignment_expression "puVar2[8] = 0" (subscript_expression "puVar2[8]" (identifier "puVar2") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puVar2 + 9) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 9) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 9)" (* "*") (cast_expression "(undefined1 *)(puVar2 + 9)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 9)" (( "(") (binary_expression "puVar2 + 9" (identifier "puVar2") (+ "+") (number_literal "9")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0xd] = 0xffffffff;" (assignment_expression "puVar2[0xd] = 0xffffffff" (subscript_expression "puVar2[0xd]" (identifier "puVar2") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "*(undefined1 *)(puVar2 + 0xe) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 0xe) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 0xe)" (* "*") (cast_expression "(undefined1 *)(puVar2 + 0xe)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 0xe)" (( "(") (binary_expression "puVar2 + 0xe" (identifier "puVar2") (+ "+") (number_literal "0xe")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0xf] = 0;" (assignment_expression "puVar2[0xf] = 0" (subscript_expression "puVar2[0xf]" (identifier "puVar2") ([ "[") (number_literal "0xf") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0x10] = 0;" (assignment_expression "puVar2[0x10] = 0" (subscript_expression "puVar2[0x10]" (identifier "puVar2") ([ "[") (number_literal "0x10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0x11] = 0;" (assignment_expression "puVar2[0x11] = 0" (subscript_expression "puVar2[0x11]" (identifier "puVar2") ([ "[") (number_literal "0x11") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puVar2 + 0x12) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 0x12) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 0x12)" (* "*") (cast_expression "(undefined1 *)(puVar2 + 0x12)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 0x12)" (( "(") (binary_expression "puVar2 + 0x12" (identifier "puVar2") (+ "+") (number_literal "0x12")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0x13] = 0;" (assignment_expression "puVar2[0x13] = 0" (subscript_expression "puVar2[0x13]" (identifier "puVar2") ([ "[") (number_literal "0x13") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0x14] = 0;" (assignment_expression "puVar2[0x14] = 0" (subscript_expression "puVar2[0x14]" (identifier "puVar2") ([ "[") (number_literal "0x14") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0x15] = 0;" (assignment_expression "puVar2[0x15] = 0" (subscript_expression "puVar2[0x15]" (identifier "puVar2") ([ "[") (number_literal "0x15") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0x16] = 0;" (assignment_expression "puVar2[0x16] = 0" (subscript_expression "puVar2[0x16]" (identifier "puVar2") ([ "[") (number_literal "0x16") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0x18] = 0;" (assignment_expression "puVar2[0x18] = 0" (subscript_expression "puVar2[0x18]" (identifier "puVar2") ([ "[") (number_literal "0x18") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0x19] = 0;" (assignment_expression "puVar2[0x19] = 0" (subscript_expression "puVar2[0x19]" (identifier "puVar2") ([ "[") (number_literal "0x19") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0x1c] = 0;" (assignment_expression "puVar2[0x1c] = 0" (subscript_expression "puVar2[0x1c]" (identifier "puVar2") ([ "[") (number_literal "0x1c") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0x1f] = 0;" (assignment_expression "puVar2[0x1f] = 0" (subscript_expression "puVar2[0x1f]" (identifier "puVar2") ([ "[") (number_literal "0x1f") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0x20] = 0;" (assignment_expression "puVar2[0x20] = 0" (subscript_expression "puVar2[0x20]" (identifier "puVar2") ([ "[") (number_literal "0x20") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puVar2 + 0x21) = 1;" (assignment_expression "*(undefined1 *)(puVar2 + 0x21) = 1" (pointer_expression "*(undefined1 *)(puVar2 + 0x21)" (* "*") (cast_expression "(undefined1 *)(puVar2 + 0x21)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 0x21)" (( "(") (binary_expression "puVar2 + 0x21" (identifier "puVar2") (+ "+") (number_literal "0x21")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar2[0x22] = 0;" (assignment_expression "puVar2[0x22] = 0" (subscript_expression "puVar2[0x22]" (identifier "puVar2") ([ "[") (number_literal "0x22") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puVar2 + 0x23) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 0x23) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 0x23)" (* "*") (cast_expression "(undefined1 *)(puVar2 + 0x23)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 0x23)" (( "(") (binary_expression "puVar2 + 0x23" (identifier "puVar2") (+ "+") (number_literal "0x23")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0x24] = 0;" (assignment_expression "puVar2[0x24] = 0" (subscript_expression "puVar2[0x24]" (identifier "puVar2") ([ "[") (number_literal "0x24") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*param_4 = (int)puVar2;" (assignment_expression "*param_4 = (int)puVar2" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (= "=") (cast_expression "(int)puVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar2"))) (; ";")) (expression_statement "local_38 = (undefined1 *)0x0;" (assignment_expression "local_38 = (undefined1 *)0x0" (identifier "local_38") (= "=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);" (assignment_expression "uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1])" (identifier "uVar6") (= "=") (call_expression "FUN_000867f0(puVar2,param_1[0x33],param_1[1])" (identifier "FUN_000867f0") (argument_list "(puVar2,param_1[0x33],param_1[1])" (( "(") (identifier "puVar2") (, ",") (subscript_expression "param_1[0x33]" (identifier "param_1") ([ "[") (number_literal "0x33") (] "]")) (, ",") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) () ")")))) (; ";")) (if_statement "if ((char)uVar6 == '\0') {\n      return 0;\n    }" (if "if") (parenthesized_expression "((char)uVar6 == '\0')" (( "(") (binary_expression "(char)uVar6 == '\0'" (cast_expression "(char)uVar6" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar6")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      return 0;\n    }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "*param_5 = 0;" (assignment_expression "*param_5 = 0" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_5[1] = 0;" (assignment_expression "param_5[1] = 0" (subscript_expression "param_5[1]" (identifier "param_5") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar10 = *(undefined4 *)(*param_4 + 0x40);" (assignment_expression "uVar10 = *(undefined4 *)(*param_4 + 0x40)" (identifier "uVar10") (= "=") (pointer_expression "*(undefined4 *)(*param_4 + 0x40)" (* "*") (cast_expression "(undefined4 *)(*param_4 + 0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_4 + 0x40)" (( "(") (binary_expression "*param_4 + 0x40" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)param_6 + 4) = *(undefined4 *)(*param_4 + 0x44);" (assignment_expression "*(undefined4 *)((int)param_6 + 4) = *(undefined4 *)(*param_4 + 0x44)" (pointer_expression "*(undefined4 *)((int)param_6 + 4)" (* "*") (cast_expression "(undefined4 *)((int)param_6 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_6 + 4)" (( "(") (binary_expression "(int)param_6 + 4" (cast_expression "(int)param_6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_6")) (+ "+") (number_literal "4")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(*param_4 + 0x44)" (* "*") (cast_expression "(undefined4 *)(*param_4 + 0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_4 + 0x44)" (( "(") (binary_expression "*param_4 + 0x44" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (+ "+") (number_literal "0x44")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)param_6 = uVar10;" (assignment_expression "*(undefined4 *)param_6 = uVar10" (pointer_expression "*(undefined4 *)param_6" (* "*") (cast_expression "(undefined4 *)param_6" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_6"))) (= "=") (identifier "uVar10")) (; ";")) (return_statement "return uVar6;" (return "return") (identifier "uVar6") (; ";")) (} "}"))) (expression_statement "pcVar7 = (char *)local_5c;" (assignment_expression "pcVar7 = (char *)local_5c" (identifier "pcVar7") (= "=") (cast_expression "(char *)local_5c" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_5c"))) (; ";")) (expression_statement "local_5c = (undefined **)(param_1 + 0x2c);" (assignment_expression "local_5c = (undefined **)(param_1 + 0x2c)" (identifier "local_5c") (= "=") (cast_expression "(undefined **)(param_1 + 0x2c)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")")))) (; ";")) (expression_statement "uVar5 = FUN_001aa970(pcVar7,param_7[1],0xc70f6907);" (assignment_expression "uVar5 = FUN_001aa970(pcVar7,param_7[1],0xc70f6907)" (identifier "uVar5") (= "=") (call_expression "FUN_001aa970(pcVar7,param_7[1],0xc70f6907)" (identifier "FUN_001aa970") (argument_list "(pcVar7,param_7[1],0xc70f6907)" (( "(") (identifier "pcVar7") (, ",") (subscript_expression "param_7[1]" (identifier "param_7") ([ "[") (number_literal "1") (] "]")) (, ",") (number_literal "0xc70f6907") () ")")))) (; ";")) (expression_statement "piVar4 = (int *)FUN_0007d090(param_1 + 0x2c,uVar5 % (uint)param_1[0x2d],param_7,uVar5);" (assignment_expression "piVar4 = (int *)FUN_0007d090(param_1 + 0x2c,uVar5 % (uint)param_1[0x2d],param_7,uVar5)" (identifier "piVar4") (= "=") (cast_expression "(int *)FUN_0007d090(param_1 + 0x2c,uVar5 % (uint)param_1[0x2d],param_7,uVar5)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0007d090(param_1 + 0x2c,uVar5 % (uint)param_1[0x2d],param_7,uVar5)" (identifier "FUN_0007d090") (argument_list "(param_1 + 0x2c,uVar5 % (uint)param_1[0x2d],param_7,uVar5)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) (, ",") (binary_expression "uVar5 % (uint)param_1[0x2d]" (identifier "uVar5") (% "%") (cast_expression "(uint)param_1[0x2d]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0x2d]" (identifier "param_1") ([ "[") (number_literal "0x2d") (] "]")))) (, ",") (identifier "param_7") (, ",") (identifier "uVar5") () ")"))))) (; ";")) (if_statement "if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n    local_64 = *(undefined1 ***)(local_58[0xbc] + 8);\n    if (local_64 == (undefined1 **)0x0) {\n      ppuStack_70 = local_64;\n                    \n      FUN_0008b620((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7);\n    }\n    local_68 = (int *)*param_7;\n    piVar4 = (int *)FUN_001aa8c0(0x4c);\n    local_6c = piVar4 + 2;\n    *piVar4 = (int)local_6c;\n    pcVar7 = (char *)0xffffffff;\n    if (local_68 != (int *)0x0) {\n      sVar8 = strlen((char *)local_68);\n      pcVar7 = (char *)((int)local_68 + sVar8);\n    }\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4,local_68,pcVar7);\n    local_68 = piVar4 + 9;\n    piVar4[6] = 0;\n    piVar4[7] = (int)local_68;\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);\n    *(undefined1 *)(piVar4 + 0xd) = 0;\n    *(undefined1 *)(piVar4 + 0xe) = *(undefined1 *)((int)local_64 + 0x2f5);\n    *(undefined1 *)((int)piVar4 + 0x39) = *(undefined1 *)((int)local_64 + 0x549);\n                    \n    iVar9 = FUN_000d81b0(local_64);\n    piVar4[0xf] = iVar9;\n    *(undefined1 *)(piVar4 + 0x10) = *(undefined1 *)((int)local_64 + 0x4a2d);\n    puVar3 = local_64[0x1685];\n    piVar4[0x12] = 0;\n    piVar4[0x11] = (int)puVar3;\n    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);\n    *puVar2 = piVar4;\n    puVar2[1] = puVar2 + 3;\n    puVar2[7] = puVar2 + 9;\n    puVar2[0x1a] = puVar2 + 0x18;\n    puVar2[0x1b] = puVar2 + 0x18;\n    puVar2[0x1e] = puVar2 + 0x1d;\n    puVar2[0x1d] = puVar2 + 0x1d;\n    ppuStack_70 = &local_48;\n    puVar2[2] = 0;\n    *(undefined1 *)(puVar2 + 3) = 0;\n    puVar2[8] = 0;\n    *(undefined1 *)(puVar2 + 9) = 0;\n    puVar2[0xd] = 0xffffffff;\n    *(undefined1 *)(puVar2 + 0xe) = 0;\n    puVar2[0xf] = 0;\n    puVar2[0x10] = 0;\n    puVar2[0x11] = 0;\n    *(undefined1 *)(puVar2 + 0x12) = 0;\n    puVar2[0x13] = 0;\n    puVar2[0x14] = 0;\n    puVar2[0x15] = 0;\n    puVar2[0x16] = 0;\n    puVar2[0x18] = 0;\n    puVar2[0x19] = 0;\n    puVar2[0x1c] = 0;\n    puVar2[0x1f] = 0;\n    puVar2[0x20] = 0;\n    *(undefined1 *)(puVar2 + 0x21) = 1;\n    puVar2[0x22] = 0;\n    *(undefined1 *)(puVar2 + 0x23) = 0;\n    puVar2[0x24] = 0;\n    *param_4 = (int)puVar2;\n    local_48 = (undefined1 *)0x0;\n    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);\n    if ((char)uVar6 == '\0') {\n      return uVar6;\n    }\n    uVar6 = FUN_001aa8c0(0xd8);\n                    \n    FUN_00079850(uVar6,param_7,*param_4,0,param_1[0x33],param_1[1]);\n    FUN_0007abc0(uVar6);\n    local_64 = (undefined1 **)local_30;\n    ppuStack_70 = (undefined1 **)0x0;\n    local_38 = (undefined1 *)local_64;\n    FUN_0007c4c0(&local_38,*param_7,param_7[1] + *param_7);\n    ppuStack_70 = &local_38;\n    local_20 = uVar6;\n                    \n    FUN_0007d3c0(local_54,local_5c,0);\n    uVar10 = extraout_ECX;\n    if ((undefined1 **)local_38 != local_64) {\n      FUN_001ac470(local_38);\n      uVar10 = extraout_ECX_00;\n    }\n    pppuVar11 = &ppuStack_70;\n    if (local_50 == '\0') {\n                    \n      FUN_0008b620((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10);\n    }\n  }\n  else {\n    uVar6 = *(undefined4 *)(*piVar4 + 0x1c);\n  }" (if "if") (parenthesized_expression "((piVar4 == (int *)0x0) || (*piVar4 == 0))" (( "(") (binary_expression "(piVar4 == (int *)0x0) || (*piVar4 == 0)" (parenthesized_expression "(piVar4 == (int *)0x0)" (( "(") (binary_expression "piVar4 == (int *)0x0" (identifier "piVar4") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(*piVar4 == 0)" (( "(") (binary_expression "*piVar4 == 0" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    local_64 = *(undefined1 ***)(local_58[0xbc] + 8);\n    if (local_64 == (undefined1 **)0x0) {\n      ppuStack_70 = local_64;\n                    \n      FUN_0008b620((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7);\n    }\n    local_68 = (int *)*param_7;\n    piVar4 = (int *)FUN_001aa8c0(0x4c);\n    local_6c = piVar4 + 2;\n    *piVar4 = (int)local_6c;\n    pcVar7 = (char *)0xffffffff;\n    if (local_68 != (int *)0x0) {\n      sVar8 = strlen((char *)local_68);\n      pcVar7 = (char *)((int)local_68 + sVar8);\n    }\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4,local_68,pcVar7);\n    local_68 = piVar4 + 9;\n    piVar4[6] = 0;\n    piVar4[7] = (int)local_68;\n    ppuStack_70 = (undefined1 **)0x0;\n                    \n    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);\n    *(undefined1 *)(piVar4 + 0xd) = 0;\n    *(undefined1 *)(piVar4 + 0xe) = *(undefined1 *)((int)local_64 + 0x2f5);\n    *(undefined1 *)((int)piVar4 + 0x39) = *(undefined1 *)((int)local_64 + 0x549);\n                    \n    iVar9 = FUN_000d81b0(local_64);\n    piVar4[0xf] = iVar9;\n    *(undefined1 *)(piVar4 + 0x10) = *(undefined1 *)((int)local_64 + 0x4a2d);\n    puVar3 = local_64[0x1685];\n    piVar4[0x12] = 0;\n    piVar4[0x11] = (int)puVar3;\n    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);\n    *puVar2 = piVar4;\n    puVar2[1] = puVar2 + 3;\n    puVar2[7] = puVar2 + 9;\n    puVar2[0x1a] = puVar2 + 0x18;\n    puVar2[0x1b] = puVar2 + 0x18;\n    puVar2[0x1e] = puVar2 + 0x1d;\n    puVar2[0x1d] = puVar2 + 0x1d;\n    ppuStack_70 = &local_48;\n    puVar2[2] = 0;\n    *(undefined1 *)(puVar2 + 3) = 0;\n    puVar2[8] = 0;\n    *(undefined1 *)(puVar2 + 9) = 0;\n    puVar2[0xd] = 0xffffffff;\n    *(undefined1 *)(puVar2 + 0xe) = 0;\n    puVar2[0xf] = 0;\n    puVar2[0x10] = 0;\n    puVar2[0x11] = 0;\n    *(undefined1 *)(puVar2 + 0x12) = 0;\n    puVar2[0x13] = 0;\n    puVar2[0x14] = 0;\n    puVar2[0x15] = 0;\n    puVar2[0x16] = 0;\n    puVar2[0x18] = 0;\n    puVar2[0x19] = 0;\n    puVar2[0x1c] = 0;\n    puVar2[0x1f] = 0;\n    puVar2[0x20] = 0;\n    *(undefined1 *)(puVar2 + 0x21) = 1;\n    puVar2[0x22] = 0;\n    *(undefined1 *)(puVar2 + 0x23) = 0;\n    puVar2[0x24] = 0;\n    *param_4 = (int)puVar2;\n    local_48 = (undefined1 *)0x0;\n    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);\n    if ((char)uVar6 == '\0') {\n      return uVar6;\n    }\n    uVar6 = FUN_001aa8c0(0xd8);\n                    \n    FUN_00079850(uVar6,param_7,*param_4,0,param_1[0x33],param_1[1]);\n    FUN_0007abc0(uVar6);\n    local_64 = (undefined1 **)local_30;\n    ppuStack_70 = (undefined1 **)0x0;\n    local_38 = (undefined1 *)local_64;\n    FUN_0007c4c0(&local_38,*param_7,param_7[1] + *param_7);\n    ppuStack_70 = &local_38;\n    local_20 = uVar6;\n                    \n    FUN_0007d3c0(local_54,local_5c,0);\n    uVar10 = extraout_ECX;\n    if ((undefined1 **)local_38 != local_64) {\n      FUN_001ac470(local_38);\n      uVar10 = extraout_ECX_00;\n    }\n    pppuVar11 = &ppuStack_70;\n    if (local_50 == '\0') {\n                    \n      FUN_0008b620((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10);\n    }\n  }" ({ "{") (expression_statement "local_64 = *(undefined1 ***)(local_58[0xbc] + 8);" (assignment_expression "local_64 = *(undefined1 ***)(local_58[0xbc] + 8)" (identifier "local_64") (= "=") (pointer_expression "*(undefined1 ***)(local_58[0xbc] + 8)" (* "*") (cast_expression "(undefined1 ***)(local_58[0xbc] + 8)" (( "(") (type_descriptor "undefined1 ***" (type_identifier "undefined1") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(local_58[0xbc] + 8)" (( "(") (binary_expression "local_58[0xbc] + 8" (subscript_expression "local_58[0xbc]" (identifier "local_58") ([ "[") (number_literal "0xbc") (] "]")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (local_64 == (undefined1 **)0x0) {\n      ppuStack_70 = local_64;\n                    \n      FUN_0008b620((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7);\n    }" (if "if") (parenthesized_expression "(local_64 == (undefined1 **)0x0)" (( "(") (binary_expression "local_64 == (undefined1 **)0x0" (identifier "local_64") (== "==") (cast_expression "(undefined1 **)0x0" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      ppuStack_70 = local_64;\n                    \n      FUN_0008b620((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7);\n    }" ({ "{") (expression_statement "ppuStack_70 = local_64;" (assignment_expression "ppuStack_70 = local_64" (identifier "ppuStack_70") (= "=") (identifier "local_64")) (; ";")) (expression_statement "FUN_0008b620((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7);" (call_expression "FUN_0008b620((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7)" (identifier "FUN_0008b620") (argument_list "((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7)" (( "(") (binary_expression "(int)local_58 + -0xf8d93" (cast_expression "(int)local_58" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_58")) (+ "+") (number_literal "-0xf8d93")) (, ",") (number_literal "0x5c") (, ",") (binary_expression "local_58 + -0x3b3a7" (identifier "local_58") (+ "+") (number_literal "-0x3b3a7")) () ")"))) (; ";")) (} "}"))) (expression_statement "local_68 = (int *)*param_7;" (assignment_expression "local_68 = (int *)*param_7" (identifier "local_68") (= "=") (cast_expression "(int *)*param_7" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_7" (* "*") (identifier "param_7")))) (; ";")) (expression_statement "piVar4 = (int *)FUN_001aa8c0(0x4c);" (assignment_expression "piVar4 = (int *)FUN_001aa8c0(0x4c)" (identifier "piVar4") (= "=") (cast_expression "(int *)FUN_001aa8c0(0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001aa8c0(0x4c)" (identifier "FUN_001aa8c0") (argument_list "(0x4c)" (( "(") (number_literal "0x4c") () ")"))))) (; ";")) (expression_statement "local_6c = piVar4 + 2;" (assignment_expression "local_6c = piVar4 + 2" (identifier "local_6c") (= "=") (binary_expression "piVar4 + 2" (identifier "piVar4") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*piVar4 = (int)local_6c;" (assignment_expression "*piVar4 = (int)local_6c" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (= "=") (cast_expression "(int)local_6c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_6c"))) (; ";")) (expression_statement "pcVar7 = (char *)0xffffffff;" (assignment_expression "pcVar7 = (char *)0xffffffff" (identifier "pcVar7") (= "=") (cast_expression "(char *)0xffffffff" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (if_statement "if (local_68 != (int *)0x0) {\n      sVar8 = strlen((char *)local_68);\n      pcVar7 = (char *)((int)local_68 + sVar8);\n    }" (if "if") (parenthesized_expression "(local_68 != (int *)0x0)" (( "(") (binary_expression "local_68 != (int *)0x0" (identifier "local_68") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      sVar8 = strlen((char *)local_68);\n      pcVar7 = (char *)((int)local_68 + sVar8);\n    }" ({ "{") (expression_statement "sVar8 = strlen((char *)local_68);" (assignment_expression "sVar8 = strlen((char *)local_68)" (identifier "sVar8") (= "=") (call_expression "strlen((char *)local_68)" (identifier "strlen") (argument_list "((char *)local_68)" (( "(") (cast_expression "(char *)local_68" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_68")) () ")")))) (; ";")) (expression_statement "pcVar7 = (char *)((int)local_68 + sVar8);" (assignment_expression "pcVar7 = (char *)((int)local_68 + sVar8)" (identifier "pcVar7") (= "=") (cast_expression "(char *)((int)local_68 + sVar8)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_68 + sVar8)" (( "(") (binary_expression "(int)local_68 + sVar8" (cast_expression "(int)local_68" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_68")) (+ "+") (identifier "sVar8")) () ")")))) (; ";")) (} "}"))) (expression_statement "ppuStack_70 = (undefined1 **)0x0;" (assignment_expression "ppuStack_70 = (undefined1 **)0x0" (identifier "ppuStack_70") (= "=") (cast_expression "(undefined1 **)0x0" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "FUN_00056c80(piVar4,local_68,pcVar7);" (call_expression "FUN_00056c80(piVar4,local_68,pcVar7)" (identifier "FUN_00056c80") (argument_list "(piVar4,local_68,pcVar7)" (( "(") (identifier "piVar4") (, ",") (identifier "local_68") (, ",") (identifier "pcVar7") () ")"))) (; ";")) (expression_statement "local_68 = piVar4 + 9;" (assignment_expression "local_68 = piVar4 + 9" (identifier "local_68") (= "=") (binary_expression "piVar4 + 9" (identifier "piVar4") (+ "+") (number_literal "9"))) (; ";")) (expression_statement "piVar4[6] = 0;" (assignment_expression "piVar4[6] = 0" (subscript_expression "piVar4[6]" (identifier "piVar4") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[7] = (int)local_68;" (assignment_expression "piVar4[7] = (int)local_68" (subscript_expression "piVar4[7]" (identifier "piVar4") ([ "[") (number_literal "7") (] "]")) (= "=") (cast_expression "(int)local_68" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_68"))) (; ";")) (expression_statement "ppuStack_70 = (undefined1 **)0x0;" (assignment_expression "ppuStack_70 = (undefined1 **)0x0" (identifier "ppuStack_70") (= "=") (cast_expression "(undefined1 **)0x0" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);" (call_expression "FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a)" (identifier "FUN_00056c80") (argument_list "(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a)" (( "(") (binary_expression "piVar4 + 7" (identifier "piVar4") (+ "+") (number_literal "7")) (, ",") (binary_expression "(int)local_58 + -0xd834a" (cast_expression "(int)local_58" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_58")) (+ "+") (number_literal "-0xd834a")) (, ",") (binary_expression "(int)local_58 + -0xd834a" (cast_expression "(int)local_58" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_58")) (+ "+") (number_literal "-0xd834a")) () ")"))) (; ";")) (expression_statement "*(undefined1 *)(piVar4 + 0xd) = 0;" (assignment_expression "*(undefined1 *)(piVar4 + 0xd) = 0" (pointer_expression "*(undefined1 *)(piVar4 + 0xd)" (* "*") (cast_expression "(undefined1 *)(piVar4 + 0xd)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4 + 0xd)" (( "(") (binary_expression "piVar4 + 0xd" (identifier "piVar4") (+ "+") (number_literal "0xd")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(piVar4 + 0xe) = *(undefined1 *)((int)local_64 + 0x2f5);" (assignment_expression "*(undefined1 *)(piVar4 + 0xe) = *(undefined1 *)((int)local_64 + 0x2f5)" (pointer_expression "*(undefined1 *)(piVar4 + 0xe)" (* "*") (cast_expression "(undefined1 *)(piVar4 + 0xe)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4 + 0xe)" (( "(") (binary_expression "piVar4 + 0xe" (identifier "piVar4") (+ "+") (number_literal "0xe")) () ")")))) (= "=") (pointer_expression "*(undefined1 *)((int)local_64 + 0x2f5)" (* "*") (cast_expression "(undefined1 *)((int)local_64 + 0x2f5)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_64 + 0x2f5)" (( "(") (binary_expression "(int)local_64 + 0x2f5" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (number_literal "0x2f5")) () ")"))))) (; ";")) (expression_statement "*(undefined1 *)((int)piVar4 + 0x39) = *(undefined1 *)((int)local_64 + 0x549);" (assignment_expression "*(undefined1 *)((int)piVar4 + 0x39) = *(undefined1 *)((int)local_64 + 0x549)" (pointer_expression "*(undefined1 *)((int)piVar4 + 0x39)" (* "*") (cast_expression "(undefined1 *)((int)piVar4 + 0x39)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar4 + 0x39)" (( "(") (binary_expression "(int)piVar4 + 0x39" (cast_expression "(int)piVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar4")) (+ "+") (number_literal "0x39")) () ")")))) (= "=") (pointer_expression "*(undefined1 *)((int)local_64 + 0x549)" (* "*") (cast_expression "(undefined1 *)((int)local_64 + 0x549)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_64 + 0x549)" (( "(") (binary_expression "(int)local_64 + 0x549" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (number_literal "0x549")) () ")"))))) (; ";")) (expression_statement "iVar9 = FUN_000d81b0(local_64);" (assignment_expression "iVar9 = FUN_000d81b0(local_64)" (identifier "iVar9") (= "=") (call_expression "FUN_000d81b0(local_64)" (identifier "FUN_000d81b0") (argument_list "(local_64)" (( "(") (identifier "local_64") () ")")))) (; ";")) (expression_statement "piVar4[0xf] = iVar9;" (assignment_expression "piVar4[0xf] = iVar9" (subscript_expression "piVar4[0xf]" (identifier "piVar4") ([ "[") (number_literal "0xf") (] "]")) (= "=") (identifier "iVar9")) (; ";")) (expression_statement "*(undefined1 *)(piVar4 + 0x10) = *(undefined1 *)((int)local_64 + 0x4a2d);" (assignment_expression "*(undefined1 *)(piVar4 + 0x10) = *(undefined1 *)((int)local_64 + 0x4a2d)" (pointer_expression "*(undefined1 *)(piVar4 + 0x10)" (* "*") (cast_expression "(undefined1 *)(piVar4 + 0x10)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4 + 0x10)" (( "(") (binary_expression "piVar4 + 0x10" (identifier "piVar4") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (pointer_expression "*(undefined1 *)((int)local_64 + 0x4a2d)" (* "*") (cast_expression "(undefined1 *)((int)local_64 + 0x4a2d)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_64 + 0x4a2d)" (( "(") (binary_expression "(int)local_64 + 0x4a2d" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (number_literal "0x4a2d")) () ")"))))) (; ";")) (expression_statement "puVar3 = local_64[0x1685];" (assignment_expression "puVar3 = local_64[0x1685]" (identifier "puVar3") (= "=") (subscript_expression "local_64[0x1685]" (identifier "local_64") ([ "[") (number_literal "0x1685") (] "]"))) (; ";")) (expression_statement "piVar4[0x12] = 0;" (assignment_expression "piVar4[0x12] = 0" (subscript_expression "piVar4[0x12]" (identifier "piVar4") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x11] = (int)puVar3;" (assignment_expression "piVar4[0x11] = (int)puVar3" (subscript_expression "piVar4[0x11]" (identifier "piVar4") ([ "[") (number_literal "0x11") (] "]")) (= "=") (cast_expression "(int)puVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar3"))) (; ";")) (expression_statement "puVar2 = (undefined4 *)FUN_001aa8c0(0x94);" (assignment_expression "puVar2 = (undefined4 *)FUN_001aa8c0(0x94)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)FUN_001aa8c0(0x94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001aa8c0(0x94)" (identifier "FUN_001aa8c0") (argument_list "(0x94)" (( "(") (number_literal "0x94") () ")"))))) (; ";")) (expression_statement "*puVar2 = piVar4;" (assignment_expression "*puVar2 = piVar4" (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (= "=") (identifier "piVar4")) (; ";")) (expression_statement "puVar2[1] = puVar2 + 3;" (assignment_expression "puVar2[1] = puVar2 + 3" (subscript_expression "puVar2[1]" (identifier "puVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "puVar2 + 3" (identifier "puVar2") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "puVar2[7] = puVar2 + 9;" (assignment_expression "puVar2[7] = puVar2 + 9" (subscript_expression "puVar2[7]" (identifier "puVar2") ([ "[") (number_literal "7") (] "]")) (= "=") (binary_expression "puVar2 + 9" (identifier "puVar2") (+ "+") (number_literal "9"))) (; ";")) (expression_statement "puVar2[0x1a] = puVar2 + 0x18;" (assignment_expression "puVar2[0x1a] = puVar2 + 0x18" (subscript_expression "puVar2[0x1a]" (identifier "puVar2") ([ "[") (number_literal "0x1a") (] "]")) (= "=") (binary_expression "puVar2 + 0x18" (identifier "puVar2") (+ "+") (number_literal "0x18"))) (; ";")) (expression_statement "puVar2[0x1b] = puVar2 + 0x18;" (assignment_expression "puVar2[0x1b] = puVar2 + 0x18" (subscript_expression "puVar2[0x1b]" (identifier "puVar2") ([ "[") (number_literal "0x1b") (] "]")) (= "=") (binary_expression "puVar2 + 0x18" (identifier "puVar2") (+ "+") (number_literal "0x18"))) (; ";")) (expression_statement "puVar2[0x1e] = puVar2 + 0x1d;" (assignment_expression "puVar2[0x1e] = puVar2 + 0x1d" (subscript_expression "puVar2[0x1e]" (identifier "puVar2") ([ "[") (number_literal "0x1e") (] "]")) (= "=") (binary_expression "puVar2 + 0x1d" (identifier "puVar2") (+ "+") (number_literal "0x1d"))) (; ";")) (expression_statement "puVar2[0x1d] = puVar2 + 0x1d;" (assignment_expression "puVar2[0x1d] = puVar2 + 0x1d" (subscript_expression "puVar2[0x1d]" (identifier "puVar2") ([ "[") (number_literal "0x1d") (] "]")) (= "=") (binary_expression "puVar2 + 0x1d" (identifier "puVar2") (+ "+") (number_literal "0x1d"))) (; ";")) (expression_statement "ppuStack_70 = &local_48;" (assignment_expression "ppuStack_70 = &local_48" (identifier "ppuStack_70") (= "=") (pointer_expression "&local_48" (& "&") (identifier "local_48"))) (; ";")) (expression_statement "puVar2[2] = 0;" (assignment_expression "puVar2[2] = 0" (subscript_expression "puVar2[2]" (identifier "puVar2") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puVar2 + 3) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 3) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 3)" (* "*") (cast_expression "(undefined1 *)(puVar2 + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 3)" (( "(") (binary_expression "puVar2 + 3" (identifier "puVar2") (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[8] = 0;" (assignment_expression "puVar2[8] = 0" (subscript_expression "puVar2[8]" (identifier "puVar2") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puVar2 + 9) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 9) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 9)" (* "*") (cast_expression "(undefined1 *)(puVar2 + 9)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 9)" (( "(") (binary_expression "puVar2 + 9" (identifier "puVar2") (+ "+") (number_literal "9")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0xd] = 0xffffffff;" (assignment_expression "puVar2[0xd] = 0xffffffff" (subscript_expression "puVar2[0xd]" (identifier "puVar2") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "*(undefined1 *)(puVar2 + 0xe) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 0xe) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 0xe)" (* "*") (cast_expression "(undefined1 *)(puVar2 + 0xe)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 0xe)" (( "(") (binary_expression "puVar2 + 0xe" (identifier "puVar2") (+ "+") (number_literal "0xe")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0xf] = 0;" (assignment_expression "puVar2[0xf] = 0" (subscript_expression "puVar2[0xf]" (identifier "puVar2") ([ "[") (number_literal "0xf") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0x10] = 0;" (assignment_expression "puVar2[0x10] = 0" (subscript_expression "puVar2[0x10]" (identifier "puVar2") ([ "[") (number_literal "0x10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0x11] = 0;" (assignment_expression "puVar2[0x11] = 0" (subscript_expression "puVar2[0x11]" (identifier "puVar2") ([ "[") (number_literal "0x11") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puVar2 + 0x12) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 0x12) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 0x12)" (* "*") (cast_expression "(undefined1 *)(puVar2 + 0x12)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 0x12)" (( "(") (binary_expression "puVar2 + 0x12" (identifier "puVar2") (+ "+") (number_literal "0x12")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0x13] = 0;" (assignment_expression "puVar2[0x13] = 0" (subscript_expression "puVar2[0x13]" (identifier "puVar2") ([ "[") (number_literal "0x13") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0x14] = 0;" (assignment_expression "puVar2[0x14] = 0" (subscript_expression "puVar2[0x14]" (identifier "puVar2") ([ "[") (number_literal "0x14") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0x15] = 0;" (assignment_expression "puVar2[0x15] = 0" (subscript_expression "puVar2[0x15]" (identifier "puVar2") ([ "[") (number_literal "0x15") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0x16] = 0;" (assignment_expression "puVar2[0x16] = 0" (subscript_expression "puVar2[0x16]" (identifier "puVar2") ([ "[") (number_literal "0x16") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0x18] = 0;" (assignment_expression "puVar2[0x18] = 0" (subscript_expression "puVar2[0x18]" (identifier "puVar2") ([ "[") (number_literal "0x18") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0x19] = 0;" (assignment_expression "puVar2[0x19] = 0" (subscript_expression "puVar2[0x19]" (identifier "puVar2") ([ "[") (number_literal "0x19") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0x1c] = 0;" (assignment_expression "puVar2[0x1c] = 0" (subscript_expression "puVar2[0x1c]" (identifier "puVar2") ([ "[") (number_literal "0x1c") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0x1f] = 0;" (assignment_expression "puVar2[0x1f] = 0" (subscript_expression "puVar2[0x1f]" (identifier "puVar2") ([ "[") (number_literal "0x1f") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0x20] = 0;" (assignment_expression "puVar2[0x20] = 0" (subscript_expression "puVar2[0x20]" (identifier "puVar2") ([ "[") (number_literal "0x20") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puVar2 + 0x21) = 1;" (assignment_expression "*(undefined1 *)(puVar2 + 0x21) = 1" (pointer_expression "*(undefined1 *)(puVar2 + 0x21)" (* "*") (cast_expression "(undefined1 *)(puVar2 + 0x21)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 0x21)" (( "(") (binary_expression "puVar2 + 0x21" (identifier "puVar2") (+ "+") (number_literal "0x21")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar2[0x22] = 0;" (assignment_expression "puVar2[0x22] = 0" (subscript_expression "puVar2[0x22]" (identifier "puVar2") ([ "[") (number_literal "0x22") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puVar2 + 0x23) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 0x23) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 0x23)" (* "*") (cast_expression "(undefined1 *)(puVar2 + 0x23)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 0x23)" (( "(") (binary_expression "puVar2 + 0x23" (identifier "puVar2") (+ "+") (number_literal "0x23")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0x24] = 0;" (assignment_expression "puVar2[0x24] = 0" (subscript_expression "puVar2[0x24]" (identifier "puVar2") ([ "[") (number_literal "0x24") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*param_4 = (int)puVar2;" (assignment_expression "*param_4 = (int)puVar2" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (= "=") (cast_expression "(int)puVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar2"))) (; ";")) (expression_statement "local_48 = (undefined1 *)0x0;" (assignment_expression "local_48 = (undefined1 *)0x0" (identifier "local_48") (= "=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);" (assignment_expression "uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1])" (identifier "uVar6") (= "=") (call_expression "FUN_000867f0(puVar2,param_1[0x33],param_1[1])" (identifier "FUN_000867f0") (argument_list "(puVar2,param_1[0x33],param_1[1])" (( "(") (identifier "puVar2") (, ",") (subscript_expression "param_1[0x33]" (identifier "param_1") ([ "[") (number_literal "0x33") (] "]")) (, ",") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) () ")")))) (; ";")) (if_statement "if ((char)uVar6 == '\0') {\n      return uVar6;\n    }" (if "if") (parenthesized_expression "((char)uVar6 == '\0')" (( "(") (binary_expression "(char)uVar6 == '\0'" (cast_expression "(char)uVar6" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar6")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      return uVar6;\n    }" ({ "{") (return_statement "return uVar6;" (return "return") (identifier "uVar6") (; ";")) (} "}"))) (expression_statement "uVar6 = FUN_001aa8c0(0xd8);" (assignment_expression "uVar6 = FUN_001aa8c0(0xd8)" (identifier "uVar6") (= "=") (call_expression "FUN_001aa8c0(0xd8)" (identifier "FUN_001aa8c0") (argument_list "(0xd8)" (( "(") (number_literal "0xd8") () ")")))) (; ";")) (expression_statement "FUN_00079850(uVar6,param_7,*param_4,0,param_1[0x33],param_1[1]);" (call_expression "FUN_00079850(uVar6,param_7,*param_4,0,param_1[0x33],param_1[1])" (identifier "FUN_00079850") (argument_list "(uVar6,param_7,*param_4,0,param_1[0x33],param_1[1])" (( "(") (identifier "uVar6") (, ",") (identifier "param_7") (, ",") (pointer_expression "*param_4" (* "*") (identifier "param_4")) (, ",") (number_literal "0") (, ",") (subscript_expression "param_1[0x33]" (identifier "param_1") ([ "[") (number_literal "0x33") (] "]")) (, ",") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) () ")"))) (; ";")) (expression_statement "FUN_0007abc0(uVar6);" (call_expression "FUN_0007abc0(uVar6)" (identifier "FUN_0007abc0") (argument_list "(uVar6)" (( "(") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "local_64 = (undefined1 **)local_30;" (assignment_expression "local_64 = (undefined1 **)local_30" (identifier "local_64") (= "=") (cast_expression "(undefined1 **)local_30" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "local_30"))) (; ";")) (expression_statement "ppuStack_70 = (undefined1 **)0x0;" (assignment_expression "ppuStack_70 = (undefined1 **)0x0" (identifier "ppuStack_70") (= "=") (cast_expression "(undefined1 **)0x0" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_38 = (undefined1 *)local_64;" (assignment_expression "local_38 = (undefined1 *)local_64" (identifier "local_38") (= "=") (cast_expression "(undefined1 *)local_64" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_64"))) (; ";")) (expression_statement "FUN_0007c4c0(&local_38,*param_7,param_7[1] + *param_7);" (call_expression "FUN_0007c4c0(&local_38,*param_7,param_7[1] + *param_7)" (identifier "FUN_0007c4c0") (argument_list "(&local_38,*param_7,param_7[1] + *param_7)" (( "(") (pointer_expression "&local_38" (& "&") (identifier "local_38")) (, ",") (pointer_expression "*param_7" (* "*") (identifier "param_7")) (, ",") (binary_expression "param_7[1] + *param_7" (subscript_expression "param_7[1]" (identifier "param_7") ([ "[") (number_literal "1") (] "]")) (+ "+") (pointer_expression "*param_7" (* "*") (identifier "param_7"))) () ")"))) (; ";")) (expression_statement "ppuStack_70 = &local_38;" (assignment_expression "ppuStack_70 = &local_38" (identifier "ppuStack_70") (= "=") (pointer_expression "&local_38" (& "&") (identifier "local_38"))) (; ";")) (expression_statement "local_20 = uVar6;" (assignment_expression "local_20 = uVar6" (identifier "local_20") (= "=") (identifier "uVar6")) (; ";")) (expression_statement "FUN_0007d3c0(local_54,local_5c,0);" (call_expression "FUN_0007d3c0(local_54,local_5c,0)" (identifier "FUN_0007d3c0") (argument_list "(local_54,local_5c,0)" (( "(") (identifier "local_54") (, ",") (identifier "local_5c") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "uVar10 = extraout_ECX;" (assignment_expression "uVar10 = extraout_ECX" (identifier "uVar10") (= "=") (identifier "extraout_ECX")) (; ";")) (if_statement "if ((undefined1 **)local_38 != local_64) {\n      FUN_001ac470(local_38);\n      uVar10 = extraout_ECX_00;\n    }" (if "if") (parenthesized_expression "((undefined1 **)local_38 != local_64)" (( "(") (binary_expression "(undefined1 **)local_38 != local_64" (cast_expression "(undefined1 **)local_38" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "local_38")) (!= "!=") (identifier "local_64")) () ")")) (compound_statement "{\n      FUN_001ac470(local_38);\n      uVar10 = extraout_ECX_00;\n    }" ({ "{") (expression_statement "FUN_001ac470(local_38);" (call_expression "FUN_001ac470(local_38)" (identifier "FUN_001ac470") (argument_list "(local_38)" (( "(") (identifier "local_38") () ")"))) (; ";")) (expression_statement "uVar10 = extraout_ECX_00;" (assignment_expression "uVar10 = extraout_ECX_00" (identifier "uVar10") (= "=") (identifier "extraout_ECX_00")) (; ";")) (} "}"))) (expression_statement "pppuVar11 = &ppuStack_70;" (assignment_expression "pppuVar11 = &ppuStack_70" (identifier "pppuVar11") (= "=") (pointer_expression "&ppuStack_70" (& "&") (identifier "ppuStack_70"))) (; ";")) (if_statement "if (local_50 == '\0') {\n                    \n      FUN_0008b620((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10);\n    }" (if "if") (parenthesized_expression "(local_50 == '\0')" (( "(") (binary_expression "local_50 == '\0'" (identifier "local_50") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    \n      FUN_0008b620((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10);\n    }" ({ "{") (expression_statement "FUN_0008b620((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10);" (call_expression "FUN_0008b620((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10)" (identifier "FUN_0008b620") (argument_list "((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10)" (( "(") (binary_expression "(int)local_58 + -0xed22f" (cast_expression "(int)local_58" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_58")) (+ "+") (number_literal "-0xed22f")) (, ",") (number_literal "0x288") (, ",") (binary_expression "local_58 + -0x3b3b4" (identifier "local_58") (+ "+") (number_literal "-0x3b3b4")) (, ",") (identifier "uVar10") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    uVar6 = *(undefined4 *)(*piVar4 + 0x1c);\n  }" (else "else") (compound_statement "{\n    uVar6 = *(undefined4 *)(*piVar4 + 0x1c);\n  }" ({ "{") (expression_statement "uVar6 = *(undefined4 *)(*piVar4 + 0x1c);" (assignment_expression "uVar6 = *(undefined4 *)(*piVar4 + 0x1c)" (identifier "uVar6") (= "=") (pointer_expression "*(undefined4 *)(*piVar4 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(*piVar4 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar4 + 0x1c)" (( "(") (binary_expression "*piVar4 + 0x1c" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (} "}")))) (expression_statement "*(int **)((int)pppuVar11 + -8) = param_7;" (assignment_expression "*(int **)((int)pppuVar11 + -8) = param_7" (pointer_expression "*(int **)((int)pppuVar11 + -8)" (* "*") (cast_expression "(int **)((int)pppuVar11 + -8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pppuVar11 + -8)" (( "(") (binary_expression "(int)pppuVar11 + -8" (cast_expression "(int)pppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar11")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "param_7")) (; ";")) (expression_statement "*(longlong **)((int)pppuVar11 + -0xc) = param_6;" (assignment_expression "*(longlong **)((int)pppuVar11 + -0xc) = param_6" (pointer_expression "*(longlong **)((int)pppuVar11 + -0xc)" (* "*") (cast_expression "(longlong **)((int)pppuVar11 + -0xc)" (( "(") (type_descriptor "longlong **" (type_identifier "longlong") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pppuVar11 + -0xc)" (( "(") (binary_expression "(int)pppuVar11 + -0xc" (cast_expression "(int)pppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar11")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "param_6")) (; ";")) (expression_statement "*(int **)((int)pppuVar11 + -0x10) = param_5;" (assignment_expression "*(int **)((int)pppuVar11 + -0x10) = param_5" (pointer_expression "*(int **)((int)pppuVar11 + -0x10)" (* "*") (cast_expression "(int **)((int)pppuVar11 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pppuVar11 + -0x10)" (( "(") (binary_expression "(int)pppuVar11 + -0x10" (cast_expression "(int)pppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar11")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "param_5")) (; ";")) (expression_statement "*(int **)((int)pppuVar11 + -0x14) = param_4;" (assignment_expression "*(int **)((int)pppuVar11 + -0x14) = param_4" (pointer_expression "*(int **)((int)pppuVar11 + -0x14)" (* "*") (cast_expression "(int **)((int)pppuVar11 + -0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pppuVar11 + -0x14)" (( "(") (binary_expression "(int)pppuVar11 + -0x14" (cast_expression "(int)pppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar11")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "param_4")) (; ";")) (expression_statement "*(int *)((int)pppuVar11 + -0x18) = local_40;" (assignment_expression "*(int *)((int)pppuVar11 + -0x18) = local_40" (pointer_expression "*(int *)((int)pppuVar11 + -0x18)" (* "*") (cast_expression "(int *)((int)pppuVar11 + -0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar11 + -0x18)" (( "(") (binary_expression "(int)pppuVar11 + -0x18" (cast_expression "(int)pppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar11")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "local_40")) (; ";")) (expression_statement "*(int *)((int)pppuVar11 + -0x1c) = local_44;" (assignment_expression "*(int *)((int)pppuVar11 + -0x1c) = local_44" (pointer_expression "*(int *)((int)pppuVar11 + -0x1c)" (* "*") (cast_expression "(int *)((int)pppuVar11 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar11 + -0x1c)" (( "(") (binary_expression "(int)pppuVar11 + -0x1c" (cast_expression "(int)pppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar11")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "local_44")) (; ";")) (expression_statement "*(undefined4 *)((int)pppuVar11 + -0x20) = uVar6;" (assignment_expression "*(undefined4 *)((int)pppuVar11 + -0x20) = uVar6" (pointer_expression "*(undefined4 *)((int)pppuVar11 + -0x20)" (* "*") (cast_expression "(undefined4 *)((int)pppuVar11 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar11 + -0x20)" (( "(") (binary_expression "(int)pppuVar11 + -0x20" (cast_expression "(int)pppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar11")) (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "*(undefined4 *)((int)pppuVar11 + -0x24) = 0x79c7d;" (assignment_expression "*(undefined4 *)((int)pppuVar11 + -0x24) = 0x79c7d" (pointer_expression "*(undefined4 *)((int)pppuVar11 + -0x24)" (* "*") (cast_expression "(undefined4 *)((int)pppuVar11 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar11 + -0x24)" (( "(") (binary_expression "(int)pppuVar11 + -0x24" (cast_expression "(int)pppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar11")) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x79c7d")) (; ";")) (expression_statement "uVar6 = FUN_00079ae0();" (assignment_expression "uVar6 = FUN_00079ae0()" (identifier "uVar6") (= "=") (call_expression "FUN_00079ae0()" (identifier "FUN_00079ae0") (argument_list "()" (( "(") () ")")))) (; ";")) (return_statement "return uVar6;" (return "return") (identifier "uVar6") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: bool get_file_and_offset(Archive * this, off_t off, Input_file * *
   input_file, off_t * memoff, off_t * memsize, string * member_name) */

bool __thiscall
gold::type_1::function_1
          (type_1 *this,type_2 var_9,type_3 **input_file,type_2 *memoff,type_2 *memsize,
          type_4 *member_name)

{
  type_5 *p_Var1;
  type_6 *pSVar2;
  type_7 *var_11;
  type_8 *var_36;
  type_9 IVar4;
  anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
  *var_5;
  type_10 uVar6;
  type_11 uVar7;
  bool var_10;
  char *var_15;
  type_12 var_16;
  type_13 *var_35;
  type_14 *pPVar12;
  type_15 *pIVar13;
  char *var_14;
  size_t var_28;
  type_16 OVar16;
  type_3 *pIVar17;
  int iVar18;
  type_1 *this_01;
  type_17 *pFVar19;
  type_12 var_21;
  type_2 var_8;
  anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
  *var_6;
  type_18 var_20;
  char local_50;
  int dummy_1;
  type_2 nested_off;
  int var_19;
  type_12 local_34;
  type_19 var_23 [16];
  type_1 *local_20;
  
  var_8 = var_7(this,var_9,false,member_name,&nested_off);
  *memsize = var_8;
  if (var_8 == -1) {
    return false;
  }
  *input_file = this->input_file_;
  var_10 = this->is_thin_archive_;
  *memoff = var_9 + 0x3c;
  if (var_10 == false) {
    return true;
  }
  var_14 = (member_name->_M_dataplus)._M_p;
  if (*var_14 != '/') {
    var_11 = (this->super_Library_base)._vptr_Library_base[2];
    if (var_11 == var_12) {
      pFVar19 = &this->input_file_->file_;
    }
    else {
      pFVar19 = (type_17 *)(*var_11)(this);
    }
    var_14 = (pFVar19->name_)._M_dataplus._M_p;
    var_15 = var_13(var_14);
    if (var_14 < var_15) {
      var_11 = (this->super_Library_base)._vptr_Library_base[2];
      if (var_11 == var_12) {
        pFVar19 = &this->input_file_->file_;
      }
      else {
        pFVar19 = (type_17 *)(*var_11)(this);
      }
      var_20 = (pFVar19->name_)._M_dataplus._M_p;
      var_16 = (pFVar19->name_)._M_string_length;
      var_21 = (int)var_15 - (int)var_14;
      if (var_16 < (type_12)((int)var_15 - (int)var_14)) {
        var_21 = var_16;
      }
      var_19 = (int)var_23;
      std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
      var_17<var_18*>
                ((basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3> *)&var_19,var_20
                 ,var_20 + var_21,0);
                    /* try { // try from 00079bec to 00079bf0 has its CatchHandler @ 0007a14d */
      std::string::var_22((type_4 *)member_name,0,0,(char *)var_19,local_34);
      if ((type_19 *)var_19 != var_23) {
        var_24((void *)var_19);
      }
    }
    var_14 = (member_name->_M_dataplus)._M_p;
  }
  if ((int)(type_12)((int)nested_off != 0) <= -nested_off._4_4_) {
    pPVar12 = type_3::var_25(this->input_file_);
    pIVar13 = (type_15 *)var_26(0x4c);
    (pIVar13->name_)._M_dataplus._M_p = (type_18)&(pIVar13->name_).field_2;
    var_15 = (char *)0xffffffff;
    if (var_14 != (char *)0x0) {
      var_28 = var_27(var_14);
      var_15 = var_14 + var_28;
    }
                    /* try { // try from 00079ce7 to 00079ceb has its CatchHandler @ 0007a169 */
    std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
    var_17<var_18*>
              ((basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3> *)pIVar13,var_14,
               var_15,0);
    pIVar13->type_ = INPUT_FILE_TYPE_FILE;
    (pIVar13->extra_search_path_)._M_dataplus._M_p = (type_18)&(pIVar13->extra_search_path_).field_2
    ;
                    /* try { // try from 00079d0d to 00079d11 has its CatchHandler @ 0007a170 */
    std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
    var_17<var_18*>(&pIVar13->extra_search_path_,"","",0);
    pIVar13->just_symbols_ = false;
    var_10 = pPVar12->Bdynamic_;
    uVar6 = *(type_10 *)&pPVar12->field_0x2;
    (pIVar13->options_).as_needed_ = pPVar12->as_needed_;
    (pIVar13->options_).Bdynamic_ = var_10;
    *(type_10 *)&(pIVar13->options_).field_0x2 = uVar6;
    (pIVar13->options_).format_enum_ = pPVar12->format_enum_;
    uVar7 = *(type_11 *)&pPVar12->field_0x9;
    (pIVar13->options_).whole_archive_ = pPVar12->whole_archive_;
    *(type_11 *)&(pIVar13->options_).field_0x9 = uVar7;
    IVar4 = pPVar12->incremental_disposition_;
    pIVar13->arg_serial_ = 0;
    (pIVar13->options_).incremental_disposition_ = IVar4;
    pIVar17 = (type_3 *)var_26(0x94);
    pIVar17->input_argument_ = pIVar13;
    (pIVar17->found_name_)._M_dataplus._M_p = (type_18)&(pIVar17->found_name_).field_2;
    (pIVar17->file_).name_._M_dataplus._M_p = (type_18)&(pIVar17->file_).name_.field_2;
    p_Var1 = &(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header;
    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left =
         &p_Var1->_M_header;
    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_right =
         &p_Var1->_M_header;
    pSVar2 = &(pIVar17->file_).saved_views_;
    (pIVar17->file_).saved_views_.
    super__List_base<gold::type_17::type_24*,_std::var_1<gold::type_17::type_24*>var_3>._M_impl.
    _M_node.super__List_node_base._M_prev = (type_20 *)pSVar2;
    (pIVar17->file_).saved_views_.
    super__List_base<gold::type_17::type_24*,_std::var_1<gold::type_17::type_24*>var_3>._M_impl.
    _M_node.super__List_node_base._M_next = (type_20 *)pSVar2;
    (pIVar17->found_name_)._M_string_length = 0;
    (pIVar17->found_name_).field_2._M_local_buf[0] = '\0';
    (pIVar17->file_).name_._M_string_length = 0;
    (pIVar17->file_).name_.field_2._M_local_buf[0] = '\0';
    (pIVar17->file_).descriptor_ = -1;
    (pIVar17->file_).is_descriptor_opened_ = false;
    (pIVar17->file_).object_count_ = 0;
    *(type_21 *)&(pIVar17->file_).size_ = 0;
    *(type_21 *)((int)&(pIVar17->file_).size_ + 4) = 0;
    (pIVar17->file_).token_.is_blocker_ = false;
    (pIVar17->file_).token_.blockers_ = 0;
    (pIVar17->file_).token_.writer_ = (type_22 *)0x0;
    (pIVar17->file_).token_.waiting_.head_ = (type_22 *)0x0;
    (pIVar17->file_).token_.waiting_.tail_ = (type_22 *)0x0;
    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;
    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (type_23)0x0;
    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;
    (pIVar17->file_).saved_views_.
    super__List_base<gold::type_17::type_24*,_std::var_1<gold::type_17::type_24*>var_3>._M_impl.
    _M_node._M_size = 0;
    (pIVar17->file_).mapped_bytes_ = 0;
    (pIVar17->file_).released_ = true;
    (pIVar17->file_).whole_file_view_ = (type_24 *)0x0;
    pIVar17->is_in_sysroot_ = false;
    pIVar17->format_ = FORMAT_NONE;
    *input_file = pIVar17;
    var_19 = 0;
    iVar18 = type_3::var_29(pIVar17,(char *)this->dirpath_,(int)(this->super_Library_base).task_,
                              &var_19);
    if (var_30(iVar18,0) == false) {
      return false;
    }
    *(type_21 *)memoff = 0;
    *(type_21 *)((int)memoff + 4) = 0;
    var_8 = ((*input_file)->file_).size_;
    *(type_21 *)((int)memsize + 4) = *(type_21 *)((int)&((*input_file)->file_).size_ + 4);
    *(int *)memsize = (int)var_8;
    return var_30(iVar18,0);
  }
  var_16 = std::var_31(var_14,member_name->_M_string_length,0xc70f6907);
  var_35 = std::
            _Hashtable<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::pair<const_std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_gold::type_1*>,_std::var_1<std::pair<const_std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_gold::type_1*>var_3>,_std::var_40::_Select1st,_std::equal_to<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>,_std::hash<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_32<true,_false,var_33>var_3>
            ::var_34
                      ((_Hashtable<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::pair<const_std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_gold::type_1*>,_std::var_1<std::pair<const_std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_gold::type_1*>var_3>,_std::var_40::_Select1st,_std::equal_to<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>,_std::hash<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>,_std::var_40::_Mod_range_hashing,_std::var_40::_Default_ranged_hash,_std::var_40::_Prime_rehash_policy,_std::var_40::var_32<true,_false,var_33>var_3>
                        *)&this->nested_archives_,
                       var_16 % (this->nested_archives_)._M_h._M_bucket_count,member_name,var_16);
  if ((var_35 == (type_13 *)0x0) || (var_35->_M_nxt == (type_25 *)0x0)) {
    var_36 = parameters->options_;
    if (var_36 == (type_8 *)0x0) {
                    /* WARNING: Subroutine does not return */
      var_37("../../gold/parameters.h",0x5c,"options");
    }
    var_20 = (member_name->_M_dataplus)._M_p;
    pIVar13 = (type_15 *)var_26(0x4c);
    var_6 = &(pIVar13->name_).field_2;
    (pIVar13->name_)._M_dataplus._M_p = (type_18)var_6;
    var_14 = (char *)0xffffffff;
    if (var_20 != (char *)0x0) {
      var_28 = var_27(var_20);
      var_14 = var_20 + var_28;
    }
                    /* try { // try from 00079ee0 to 00079ee4 has its CatchHandler @ 0007a154 */
    std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
    var_17<var_18*>
              ((basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3> *)pIVar13,var_20,
               var_14,0,var_6);
    var_5 = &(pIVar13->extra_search_path_).field_2;
    pIVar13->type_ = INPUT_FILE_TYPE_FILE;
    (pIVar13->extra_search_path_)._M_dataplus._M_p = (type_18)var_5;
                    /* try { // try from 00079f09 to 00079f0d has its CatchHandler @ 0007a17e */
    std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
    var_17<var_18*>(&pIVar13->extra_search_path_,"","",0,var_6,var_5);
    pIVar13->just_symbols_ = false;
    (pIVar13->options_).as_needed_ = (var_36->as_needed_).value;
    (pIVar13->options_).Bdynamic_ = (var_36->Bdynamic_).value;
                    /* try { // try from 00079f2f to 00079f33 has its CatchHandler @ 0007a177 */
    OVar16 = type_8::var_38(var_36);
    (pIVar13->options_).format_enum_ = OVar16;
    (pIVar13->options_).whole_archive_ = (var_36->whole_archive_).value;
    IVar4 = var_36->incremental_disposition_;
    pIVar13->arg_serial_ = 0;
    (pIVar13->options_).incremental_disposition_ = IVar4;
    pIVar17 = (type_3 *)var_26(0x94);
    pIVar17->input_argument_ = pIVar13;
    (pIVar17->found_name_)._M_dataplus._M_p = (type_18)&(pIVar17->found_name_).field_2;
    (pIVar17->file_).name_._M_dataplus._M_p = (type_18)&(pIVar17->file_).name_.field_2;
    p_Var1 = &(pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header;
    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left =
         &p_Var1->_M_header;
    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_right =
         &p_Var1->_M_header;
    pSVar2 = &(pIVar17->file_).saved_views_;
    (pIVar17->file_).saved_views_.
    super__List_base<gold::type_17::type_24*,_std::var_1<gold::type_17::type_24*>var_3>._M_impl.
    _M_node.super__List_node_base._M_prev = (type_20 *)pSVar2;
    (pIVar17->file_).saved_views_.
    super__List_base<gold::type_17::type_24*,_std::var_1<gold::type_17::type_24*>var_3>._M_impl.
    _M_node.super__List_node_base._M_next = (type_20 *)pSVar2;
    (pIVar17->found_name_)._M_string_length = 0;
    (pIVar17->found_name_).field_2._M_local_buf[0] = '\0';
    (pIVar17->file_).name_._M_string_length = 0;
    (pIVar17->file_).name_.field_2._M_local_buf[0] = '\0';
    (pIVar17->file_).descriptor_ = -1;
    (pIVar17->file_).is_descriptor_opened_ = false;
    (pIVar17->file_).object_count_ = 0;
    *(type_21 *)&(pIVar17->file_).size_ = 0;
    *(type_21 *)((int)&(pIVar17->file_).size_ + 4) = 0;
    (pIVar17->file_).token_.is_blocker_ = false;
    (pIVar17->file_).token_.blockers_ = 0;
    (pIVar17->file_).token_.writer_ = (type_22 *)0x0;
    (pIVar17->file_).token_.waiting_.head_ = (type_22 *)0x0;
    (pIVar17->file_).token_.waiting_.tail_ = (type_22 *)0x0;
    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;
    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (type_23)0x0;
    (pIVar17->file_).views_._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;
    (pIVar17->file_).saved_views_.
    super__List_base<gold::type_17::type_24*,_std::var_1<gold::type_17::type_24*>var_3>._M_impl.
    _M_node._M_size = 0;
    (pIVar17->file_).mapped_bytes_ = 0;
    (pIVar17->file_).released_ = true;
    (pIVar17->file_).whole_file_view_ = (type_24 *)0x0;
    pIVar17->is_in_sysroot_ = false;
    pIVar17->format_ = FORMAT_NONE;
    *input_file = pIVar17;
    dummy_1 = 0;
    iVar18 = type_3::var_29(pIVar17,(char *)this->dirpath_,(int)(this->super_Library_base).task_,
                              &dummy_1);
    if ((char)iVar18 == '\0') {
      return false;
    }
    this_01 = (type_1 *)var_26(0xd8);
                    /* try { // try from 0007a079 to 0007a07d has its CatchHandler @ 0007a162 */
    type_1(this_01,member_name,*input_file,false,this->dirpath_,(this->super_Library_base).task_);
    var_39(this_01);
    var_20 = (member_name->_M_dataplus)._M_p;
    var_19 = (int)var_23;
    std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
    var_17<var_2*>((basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3> *)&var_19,
                        var_20,var_20 + member_name->_M_string_length,0);
    local_20 = this_01;
                    /* try { // try from 0007a0ba to 0007a0be has its CatchHandler @ 0007a15b */
    std::
    _Hashtable<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::pair<const_std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_gold::type_1*>,_std::var_1<std::pair<const_std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_gold::type_1*>var_3>,_std::var_40::_Select1st,_std::equal_to<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>,_std::hash<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::var_40::_Prime_rehash_policy,_std::var_40::var_32<true,_false,var_33>var_3>
    ::
    _M_emplace<std::pair<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_gold::type_1*>var_3>
              ((_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::var_1<std::pair<const_gold::Symbol*_const,_int>var_3>,_std::var_40::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::var_40::_Mod_range_hashing,_std::var_40::_Default_ranged_hash,_std::var_40::_Prime_rehash_policy,_std::var_40::var_32<false,_false,var_33>var_3>
                *)&stack0xffffffac,&this->nested_archives_,0,
               (basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3> *)&var_19);
    if ((type_19 *)var_19 != var_23) {
      var_24((void *)var_19);
    }
    if (local_50 == '\0') {
                    /* WARNING: Subroutine does not return */
      var_37("../../gold/archive.cc",0x288,"get_file_and_offset");
    }
  }
  else {
    this_01 = (type_1 *)var_35->_M_nxt[7]._M_nxt;
  }
  var_10 = function_1(this_01,CONCAT44(nested_off._4_4_,(int)nested_off),input_file,memoff,
                              memsize,member_name);
  return var_10;
}


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

/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

undefined4
MASKED(int *param_1,undefined1 *param_2,int param_3,int *param_4,int *param_5,
            longlong *param_6,int *param_7)

{
  undefined **ppuVar1;
  undefined4 *puVar2;
  undefined1 *puVar3;
  int *piVar4;
  uint uVar5;
  undefined4 uVar6;
  char *pcVar7;
  size_t sVar8;
  int iVar9;
  undefined4 extraout_ECX;
  undefined4 extraout_ECX_00;
  undefined4 uVar10;
  undefined1 ***pppuVar11;
  longlong lVar12;
  undefined1 **ppuStack_70;
  int *local_6c;
  int *local_68;
  undefined1 **local_64;
  int local_60;
  undefined **local_5c;
  undefined **local_58;
  undefined1 local_54 [4];
  char local_50;
  undefined1 *local_48;
  int local_44;
  int local_40;
  undefined1 *local_38;
  undefined4 local_34;
  undefined1 local_30 [16];
  undefined4 local_20;
  
  local_58 = &__DT_PLTGOT;
  local_60 = param_3;
  local_64 = (undefined1 **)param_2;
  lVar12 = FUN_000786a0(param_1,param_2,param_3,0,param_7,&local_44);
  *param_6 = lVar12;
  if (lVar12 == -1) {
    return 0;
  }
  *param_4 = param_1[9];
  iVar9 = param_1[0x2b];
  *param_5 = (int)((int)local_64 + 0x3c);
  param_5[1] = local_60 + (uint)((undefined1 *)0xffffffc3 < local_64);
  if ((char)iVar9 == '\0') {
    return 1;
  }
  local_5c = (undefined **)*param_7;
  if (*(char *)local_5c != '/') {
    local_5c = local_58 + -0xb0d4c;
    if (*(undefined ***)(*param_1 + 8) == local_5c) {
      puVar2 = (undefined4 *)(param_1[9] + 0x1c);
    }
    else {
      puVar2 = (undefined4 *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);
    }
    local_64 = (undefined1 **)*puVar2;
    puVar3 = (undefined1 *)FUN_001a99f0(local_64);
    if (local_64 < puVar3) {
      if (*(undefined ***)(*param_1 + 8) == local_5c) {
        piVar4 = (int *)(param_1[9] + 0x1c);
      }
      else {
        piVar4 = (int *)(*(code *)*(undefined ***)(*param_1 + 8))(param_1);
      }
      local_38 = local_30;
      ppuStack_70 = (undefined1 **)0x0;
      uVar5 = (int)puVar3 - (int)local_64;
      if ((uint)piVar4[1] < (uint)((int)puVar3 - (int)local_64)) {
        uVar5 = piVar4[1];
      }
      local_64 = (undefined1 **)local_38;
      FUN_00056c80(&local_38,*piVar4,uVar5 + *piVar4);
                    /* try { // try from 00079bec to 00079bf0 has its CatchHandler @ 0007a14d */
      FUN_001b50b0(param_7,0,0,local_38,local_34);
      if ((undefined1 **)local_38 != local_64) {
        FUN_001ac470(local_38);
      }
    }
    local_5c = (undefined **)*param_7;
  }
  ppuVar1 = local_58;
  pppuVar11 = (undefined1 ***)&local_6c;
  if ((int)(uint)(local_44 != 0) <= -local_40) {
    local_64 = (undefined1 **)FUN_00084ae0(param_1[9]);
    local_58 = ppuVar1;
    piVar4 = (int *)FUN_001aa8c0(0x4c);
    local_68 = piVar4 + 2;
    *piVar4 = (int)local_68;
    pcVar7 = (char *)0xffffffff;
    if (local_5c != (undefined **)0x0) {
      sVar8 = strlen((char *)local_5c);
      pcVar7 = (char *)((int)local_5c + sVar8);
    }
    ppuStack_70 = (undefined1 **)0x0;
                    /* try { // try from 00079ce7 to 00079ceb has its CatchHandler @ 0007a169 */
    FUN_00056c80(piVar4,local_5c,pcVar7);
    piVar4[6] = 0;
    piVar4[7] = (int)(piVar4 + 9);
    ppuStack_70 = (undefined1 **)0x0;
                    /* try { // try from 00079d0d to 00079d11 has its CatchHandler @ 0007a170 */
    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);
    *(undefined1 *)(piVar4 + 0xd) = 0;
    piVar4[0xe] = (int)*local_64;
    piVar4[0xf] = (int)local_64[1];
    piVar4[0x10] = (int)local_64[2];
    iVar9 = (int)local_64[3];
    piVar4[0x12] = 0;
    piVar4[0x11] = iVar9;
    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);
    *puVar2 = piVar4;
    puVar2[1] = puVar2 + 3;
    puVar2[7] = puVar2 + 9;
    puVar2[0x1a] = puVar2 + 0x18;
    puVar2[0x1b] = puVar2 + 0x18;
    puVar2[0x1e] = puVar2 + 0x1d;
    puVar2[0x1d] = puVar2 + 0x1d;
    ppuStack_70 = &local_38;
    puVar2[2] = 0;
    *(undefined1 *)(puVar2 + 3) = 0;
    puVar2[8] = 0;
    *(undefined1 *)(puVar2 + 9) = 0;
    puVar2[0xd] = 0xffffffff;
    *(undefined1 *)(puVar2 + 0xe) = 0;
    puVar2[0xf] = 0;
    puVar2[0x10] = 0;
    puVar2[0x11] = 0;
    *(undefined1 *)(puVar2 + 0x12) = 0;
    puVar2[0x13] = 0;
    puVar2[0x14] = 0;
    puVar2[0x15] = 0;
    puVar2[0x16] = 0;
    puVar2[0x18] = 0;
    puVar2[0x19] = 0;
    puVar2[0x1c] = 0;
    puVar2[0x1f] = 0;
    puVar2[0x20] = 0;
    *(undefined1 *)(puVar2 + 0x21) = 1;
    puVar2[0x22] = 0;
    *(undefined1 *)(puVar2 + 0x23) = 0;
    puVar2[0x24] = 0;
    *param_4 = (int)puVar2;
    local_38 = (undefined1 *)0x0;
    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);
    if ((char)uVar6 == '\0') {
      return 0;
    }
    *param_5 = 0;
    param_5[1] = 0;
    uVar10 = *(undefined4 *)(*param_4 + 0x40);
    *(undefined4 *)((int)param_6 + 4) = *(undefined4 *)(*param_4 + 0x44);
    *(undefined4 *)param_6 = uVar10;
    return uVar6;
  }
  pcVar7 = (char *)local_5c;
  local_5c = (undefined **)(param_1 + 0x2c);
  uVar5 = FUN_001aa970(pcVar7,param_7[1],0xc70f6907);
  piVar4 = (int *)FUN_0007d090(param_1 + 0x2c,uVar5 % (uint)param_1[0x2d],param_7,uVar5);
  if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {
    local_64 = *(undefined1 ***)(local_58[0xbc] + 8);
    if (local_64 == (undefined1 **)0x0) {
      ppuStack_70 = local_64;
                    /* WARNING: Subroutine does not return */
      FUN_0008b620((int)local_58 + -0xf8d93,0x5c,local_58 + -0x3b3a7);
    }
    local_68 = (int *)*param_7;
    piVar4 = (int *)FUN_001aa8c0(0x4c);
    local_6c = piVar4 + 2;
    *piVar4 = (int)local_6c;
    pcVar7 = (char *)0xffffffff;
    if (local_68 != (int *)0x0) {
      sVar8 = strlen((char *)local_68);
      pcVar7 = (char *)((int)local_68 + sVar8);
    }
    ppuStack_70 = (undefined1 **)0x0;
                    /* try { // try from 00079ee0 to 00079ee4 has its CatchHandler @ 0007a154 */
    FUN_00056c80(piVar4,local_68,pcVar7);
    local_68 = piVar4 + 9;
    piVar4[6] = 0;
    piVar4[7] = (int)local_68;
    ppuStack_70 = (undefined1 **)0x0;
                    /* try { // try from 00079f09 to 00079f0d has its CatchHandler @ 0007a17e */
    FUN_00056c80(piVar4 + 7,(int)local_58 + -0xd834a,(int)local_58 + -0xd834a);
    *(undefined1 *)(piVar4 + 0xd) = 0;
    *(undefined1 *)(piVar4 + 0xe) = *(undefined1 *)((int)local_64 + 0x2f5);
    *(undefined1 *)((int)piVar4 + 0x39) = *(undefined1 *)((int)local_64 + 0x549);
                    /* try { // try from 00079f2f to 00079f33 has its CatchHandler @ 0007a177 */
    iVar9 = FUN_000d81b0(local_64);
    piVar4[0xf] = iVar9;
    *(undefined1 *)(piVar4 + 0x10) = *(undefined1 *)((int)local_64 + 0x4a2d);
    puVar3 = local_64[0x1685];
    piVar4[0x12] = 0;
    piVar4[0x11] = (int)puVar3;
    puVar2 = (undefined4 *)FUN_001aa8c0(0x94);
    *puVar2 = piVar4;
    puVar2[1] = puVar2 + 3;
    puVar2[7] = puVar2 + 9;
    puVar2[0x1a] = puVar2 + 0x18;
    puVar2[0x1b] = puVar2 + 0x18;
    puVar2[0x1e] = puVar2 + 0x1d;
    puVar2[0x1d] = puVar2 + 0x1d;
    ppuStack_70 = &local_48;
    puVar2[2] = 0;
    *(undefined1 *)(puVar2 + 3) = 0;
    puVar2[8] = 0;
    *(undefined1 *)(puVar2 + 9) = 0;
    puVar2[0xd] = 0xffffffff;
    *(undefined1 *)(puVar2 + 0xe) = 0;
    puVar2[0xf] = 0;
    puVar2[0x10] = 0;
    puVar2[0x11] = 0;
    *(undefined1 *)(puVar2 + 0x12) = 0;
    puVar2[0x13] = 0;
    puVar2[0x14] = 0;
    puVar2[0x15] = 0;
    puVar2[0x16] = 0;
    puVar2[0x18] = 0;
    puVar2[0x19] = 0;
    puVar2[0x1c] = 0;
    puVar2[0x1f] = 0;
    puVar2[0x20] = 0;
    *(undefined1 *)(puVar2 + 0x21) = 1;
    puVar2[0x22] = 0;
    *(undefined1 *)(puVar2 + 0x23) = 0;
    puVar2[0x24] = 0;
    *param_4 = (int)puVar2;
    local_48 = (undefined1 *)0x0;
    uVar6 = FUN_000867f0(puVar2,param_1[0x33],param_1[1]);
    if ((char)uVar6 == '\0') {
      return uVar6;
    }
    uVar6 = FUN_001aa8c0(0xd8);
                    /* try { // try from 0007a079 to 0007a07d has its CatchHandler @ 0007a162 */
    FUN_00079850(uVar6,param_7,*param_4,0,param_1[0x33],param_1[1]);
    FUN_0007abc0(uVar6);
    local_64 = (undefined1 **)local_30;
    ppuStack_70 = (undefined1 **)0x0;
    local_38 = (undefined1 *)local_64;
    FUN_0007c4c0(&local_38,*param_7,param_7[1] + *param_7);
    ppuStack_70 = &local_38;
    local_20 = uVar6;
                    /* try { // try from 0007a0ba to 0007a0be has its CatchHandler @ 0007a15b */
    FUN_0007d3c0(local_54,local_5c,0);
    uVar10 = extraout_ECX;
    if ((undefined1 **)local_38 != local_64) {
      FUN_001ac470(local_38);
      uVar10 = extraout_ECX_00;
    }
    pppuVar11 = &ppuStack_70;
    if (local_50 == '\0') {
                    /* WARNING: Subroutine does not return */
      FUN_0008b620((int)local_58 + -0xed22f,0x288,local_58 + -0x3b3b4,uVar10);
    }
  }
  else {
    uVar6 = *(undefined4 *)(*piVar4 + 0x1c);
  }
  *(int **)((int)pppuVar11 + -8) = param_7;
  *(longlong **)((int)pppuVar11 + -0xc) = param_6;
  *(int **)((int)pppuVar11 + -0x10) = param_5;
  *(int **)((int)pppuVar11 + -0x14) = param_4;
  *(int *)((int)pppuVar11 + -0x18) = local_40;
  *(int *)((int)pppuVar11 + -0x1c) = local_44;
  *(undefined4 *)((int)pppuVar11 + -0x20) = uVar6;
  *(undefined4 *)((int)pppuVar11 + -0x24) = 0x79c7d;
  uVar6 = MASKED();
  return uVar6;
}

