
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void finalize(General_options * this) */

void __thiscall gold::General_options::finalize(General_options *this)

{
  pointer *ppSVar1;
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *paVar2;
  double dVar3;
  ctype<char> *this_00;
  undefined **ppuVar4;
  iterator iVar5;
  string *psVar6;
  undefined **ppuVar7;
  char cVar8;
  ctype<char> cVar9;
  __node_base *p_Var10;
  undefined4 *puVar11;
  Object_format OVar12;
  size_t sVar13;
  uint uVar14;
  char *pcVar15;
  demangling_styles style;
  int *piVar16;
  char *pcVar17;
  char *format;
  int iVar18;
  undefined *puVar19;
  uint uVar20;
  undefined1 *puVar21;
  undefined1 *puVar22;
  byte *pbVar23;
  byte *pbVar24;
  byte *pbVar25;
  byte *pbVar26;
  bool bVar27;
  bool bVar28;
  bool bVar29;
  byte bVar30;
  undefined4 uStack_230;
  uint uVar31;
  undefined4 uVar32;
  undefined1 auStack_20c [12];
  undefined **local_200;
  undefined **local_1fc;
  undefined *local_1f8;
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *local_1f4;
  byte *local_1f0;
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *local_1ec;
  ios_base *local_1e8;
  undefined1 *local_1e4;
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *local_1e0;
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *local_1dc;
  Dir_list *local_1d8;
  string *local_1d4;
  Search_directory *local_1d0;
  double local_1cc;
  undefined **local_1c4;
  undefined1 local_1c0 [4];
  string libpath;
  Search_directory local_1a4;
  Search_directory local_188;
  Search_directory local_16c;
  string line;
  ifstream in;
  size_type local_130;
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  local_12c;
  undefined2 local_11c;
  undefined1 local_110 [28];
  undefined1 local_f4 [60];
  int aiStack_b8 [5];
  undefined **local_a4 [5];
  byte local_90;
  undefined4 local_34;
  undefined2 local_30;
  undefined4 local_2c;
  undefined4 local_28;
  undefined4 local_24;
  undefined4 local_20;
  
  bVar30 = 0;
  local_1c4 = &_GLOBAL_OFFSET_TABLE_;
  bVar29 = (this->strip_all_).value;
  if (bVar29 == false) {
    if ((this->strip_debug_).value != false) goto LAB_002bfd3a;
    if ((this->strip_debug_non_line_).value != false) {
      bVar27 = false;
      goto LAB_002bfd49;
    }
    bVar27 = false;
    if ((this->Bshareable_).value != false) goto LAB_002bfd5c;
  }
  else {
    (this->strip_debug_).value = true;
LAB_002bfd3a:
    bVar27 = true;
    (this->strip_debug_non_line_).value = true;
LAB_002bfd49:
    (this->strip_debug_gdb_).value = true;
    if ((this->Bshareable_).value != false) {
LAB_002bfd5c:
      (this->shared_).value = true;
    }
    if (((bVar29 != false) && ((this->relocatable_).value != false)) &&
       ((this->strip_all_).value = false, !bVar27)) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/options.cc",0x453,"finalize");
    }
  }
  if ((this->dc_).value != false) {
    (this->define_common_).value = true;
  }
  if ((this->dp_).value != false) {
    (this->define_common_).value = true;
  }
  if ((this->define_common_).user_set_via_option == false) {
    bVar29 = (this->relocatable_).value;
    local_1cc = (double)CONCAT71(local_1cc._1_7_,bVar29);
    (this->define_common_).value = (bool)(bVar29 ^ 1);
  }
  bVar29 = (this->execstack_).value == false;
  if (bVar29) {
    bVar29 = (this->noexecstack_).value == false;
    if (!bVar29) {
      this->execstack_status_ = EXECSTACK_NO;
    }
  }
  else {
    this->execstack_status_ = EXECSTACK_YES;
  }
  bVar27 = false;
  iVar18 = 5;
  pbVar23 = (byte *)(this->icf_).value;
  local_1f0 = (byte *)0x48e342;
  pbVar24 = pbVar23;
  pbVar26 = (byte *)0x48e342;
  do {
    pbVar25 = pbVar26;
    if (iVar18 == 0) break;
    iVar18 = iVar18 + -1;
    pbVar25 = pbVar26 + 1;
    bVar27 = *pbVar24 < *pbVar26;
    bVar29 = *pbVar24 == *pbVar26;
    pbVar24 = pbVar24 + 1;
    pbVar26 = pbVar25;
  } while (bVar29);
  bVar28 = false;
  bVar29 = (!bVar27 && !bVar29) == bVar27;
  if (bVar29) {
    this->icf_status_ = ICF_NONE;
  }
  else {
    iVar18 = 5;
    pbVar24 = (byte *)0x48dc94;
    do {
      pbVar25 = pbVar24;
      if (iVar18 == 0) break;
      iVar18 = iVar18 + -1;
      pbVar25 = pbVar24 + 1;
      bVar28 = *pbVar23 < *pbVar24;
      bVar29 = *pbVar23 == *pbVar24;
      pbVar23 = pbVar23 + 1;
      pbVar24 = pbVar25;
    } while (bVar29);
    this->icf_status_ = ((!bVar28 && !bVar29) == bVar28) + ICF_ALL;
  }
  if ((this->demangle_).user_set_via_option == false) {
    if ((this->no_demangle_).user_set_via_option == false) {
      pcVar15 = getenv("COLLECT_NO_DEMANGLE");
      this->do_demangle_ = pcVar15 == (char *)0x0;
    }
    else {
      this->do_demangle_ = false;
    }
  }
  else {
    pcVar15 = (this->demangle_).value;
    this->do_demangle_ = true;
    if (*pcVar15 != '\0') {
      style = cplus_demangle_name_to_style(pcVar15);
      if (style == unknown_demangling) {
                    /* WARNING: Subroutine does not return */
        gold_fatal((char *)(local_1c4 + -0x56e9a),pcVar15,pbVar25,pbVar25);
      }
      cplus_demangle_set_style(style);
    }
  }
  bVar29 = false;
  bVar27 = (this->orphan_handling_).user_set_via_option == false;
  if (!bVar27) {
    pbVar23 = (byte *)(this->orphan_handling_).value;
    iVar18 = 6;
    pbVar24 = pbVar23;
    pbVar26 = (byte *)((int)local_1c4 + -0x1477fe);
    do {
      if (iVar18 == 0) break;
      iVar18 = iVar18 + -1;
      bVar29 = *pbVar24 < *pbVar26;
      bVar27 = *pbVar24 == *pbVar26;
      pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;
      pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;
    } while (bVar27);
    bVar28 = false;
    bVar29 = (!bVar29 && !bVar27) == bVar29;
    if (bVar29) {
      this->orphan_handling_enum_ = ORPHAN_PLACE;
    }
    else {
      iVar18 = 8;
      pbVar24 = pbVar23;
      pbVar26 = (byte *)((int)local_1c4 + -0x1a1fb3);
      do {
        if (iVar18 == 0) break;
        iVar18 = iVar18 + -1;
        bVar28 = *pbVar24 < *pbVar26;
        bVar29 = *pbVar24 == *pbVar26;
        pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;
        pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;
      } while (bVar29);
      bVar27 = false;
      bVar29 = (!bVar28 && !bVar29) == bVar28;
      if (bVar29) {
        this->orphan_handling_enum_ = ORPHAN_DISCARD;
      }
      else {
        iVar18 = 5;
        pbVar24 = pbVar23;
        pbVar26 = (byte *)((int)local_1c4 + -0x1a1fab);
        do {
          if (iVar18 == 0) break;
          iVar18 = iVar18 + -1;
          bVar27 = *pbVar24 < *pbVar26;
          bVar29 = *pbVar24 == *pbVar26;
          pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;
          pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;
        } while (bVar29);
        bVar28 = false;
        bVar29 = (!bVar27 && !bVar29) == bVar27;
        if (bVar29) {
          this->orphan_handling_enum_ = ORPHAN_WARN;
        }
        else {
          iVar18 = 6;
          pbVar24 = (byte *)((int)local_1c4 + -0x146582);
          do {
            if (iVar18 == 0) break;
            iVar18 = iVar18 + -1;
            bVar28 = *pbVar23 < *pbVar24;
            bVar29 = *pbVar23 == *pbVar24;
            pbVar23 = pbVar23 + (uint)bVar30 * -2 + 1;
            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;
          } while (bVar29);
          if ((!bVar28 && !bVar29) == bVar28) {
            this->orphan_handling_enum_ = ORPHAN_ERROR;
          }
        }
      }
    }
  }
  if (((this->print_map_).value != false) && ((this->Map_).user_set_via_option == false)) {
    (this->Map_).user_set_via_option = true;
    (this->Map_).value = (char *)(local_1c4 + -0x573ca);
  }
  if (((this->nmagic_).value != false) || ((this->omagic_).value != false)) {
    this->static_ = true;
  }
  iVar18 = (this->thread_count_).value;
  if (0 < iVar18) {
    if ((this->thread_count_initial_).value == 0) {
      (this->thread_count_initial_).value = iVar18;
    }
    if ((this->thread_count_middle_).value == 0) {
      (this->thread_count_middle_).value = iVar18;
    }
    if ((this->thread_count_final_).value == 0) {
      (this->thread_count_final_).value = iVar18;
    }
  }
  libpath.field_2._M_local_buf[0] = '\0';
  local_1d4 = &libpath;
  local_1ec = &libpath.field_2;
  libpath._M_dataplus._M_p = (pointer)&libpath.field_2;
  libpath._M_string_length = 0;
  if ((this->Y_).user_set_via_option == false) {
    if ((this->nostdlib_).value == false) {
      local_1dc = &local_12c;
      local_1d0 = (Search_directory *)&in;
      _in = (pointer)local_1dc;
                    /* try { // try from 002c0505 to 002c0509 has its CatchHandler @ 002c0e87 */
      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>_> *)local_1d0,
                 (int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);
      paVar2 = &local_1a4.name_.field_2;
      local_1a4.name_._M_dataplus._M_p = (pointer)paVar2;
                    /* try { // try from 002c0532 to 002c0536 has its CatchHandler @ 002c0ef5 */
      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
      _M_construct<char*>(&local_1a4.name_,_in,(filebuf *)(_in + local_130),0);
      local_1a4.put_in_sysroot_ = true;
      local_1a4.is_in_sysroot_ = false;
      if (local_1a4.name_._M_string_length == 0) {
                    /* try { // try from 002c0957 to 002c095b has its CatchHandler @ 002c0e8e */
        std::string::_M_replace((string *)&local_1a4,0,0,(char *)((int)local_1c4 + -0x15ca25),1);
      }
      local_1d8 = &(this->library_path_).value;
      iVar5._M_current =
           (this->library_path_).value.
           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.
           _M_impl._M_finish;
      if (iVar5._M_current ==
          (this->library_path_).value.
          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.
          _M_impl._M_end_of_storage) {
                    /* try { // try from 002c0973 to 002c0977 has its CatchHandler @ 002c0e95 */
        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::
        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_1a4);
      }
      else {
        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2
        ;
                    /* try { // try from 002c058f to 002c0593 has its CatchHandler @ 002c0e95 */
        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
        _M_construct<char*>(&(iVar5._M_current)->name_,local_1a4.name_._M_dataplus._M_p,
                            local_1a4.name_._M_dataplus._M_p + local_1a4.name_._M_string_length,0);
        (iVar5._M_current)->put_in_sysroot_ = local_1a4.put_in_sysroot_;
        (iVar5._M_current)->is_in_sysroot_ = local_1a4.is_in_sysroot_;
        ppSVar1 = &(this->library_path_).value.
                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>
                   ._M_impl._M_finish;
        *ppSVar1 = *ppSVar1 + 1;
      }
      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
           *)local_1a4.name_._M_dataplus._M_p != paVar2) {
        operator_delete(local_1a4.name_._M_dataplus._M_p);
      }
      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
           *)_in != local_1dc) {
        operator_delete(_in);
      }
      _in = (pointer)local_1dc;
                    /* try { // try from 002c0619 to 002c061d has its CatchHandler @ 002c0e87 */
      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
      _M_construct<char_const*>
                (&local_1d0->name_,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);
      paVar2 = &local_188.name_.field_2;
      local_188.name_._M_dataplus._M_p = (pointer)paVar2;
                    /* try { // try from 002c0646 to 002c064a has its CatchHandler @ 002c0ecd */
      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
      _M_construct<char*>(&local_188.name_,_in,(filebuf *)(_in + local_130),0);
      local_188.put_in_sysroot_ = true;
      local_188.is_in_sysroot_ = false;
      if (local_188.name_._M_string_length == 0) {
                    /* try { // try from 002c0af7 to 002c0afb has its CatchHandler @ 002c0eb8 */
        std::string::_M_replace((string *)&local_188,0,0,(char *)((int)local_1c4 + -0x15ca25),1);
      }
      iVar5._M_current =
           (this->library_path_).value.
           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.
           _M_impl._M_finish;
      if (iVar5._M_current ==
          (this->library_path_).value.
          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.
          _M_impl._M_end_of_storage) {
                    /* try { // try from 002c0b8b to 002c0b8f has its CatchHandler @ 002c0ebf */
        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::
        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_188);
      }
      else {
        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2
        ;
                    /* try { // try from 002c0695 to 002c0699 has its CatchHandler @ 002c0ebf */
        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
        _M_construct<char*>(&(iVar5._M_current)->name_,local_188.name_._M_dataplus._M_p,
                            local_188.name_._M_dataplus._M_p + local_188.name_._M_string_length,0);
        (iVar5._M_current)->put_in_sysroot_ = local_188.put_in_sysroot_;
        (iVar5._M_current)->is_in_sysroot_ = local_188.is_in_sysroot_;
        ppSVar1 = &(this->library_path_).value.
                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>
                   ._M_impl._M_finish;
        *ppSVar1 = *ppSVar1 + 1;
      }
      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
           *)local_188.name_._M_dataplus._M_p != paVar2) {
        operator_delete(local_188.name_._M_dataplus._M_p);
      }
      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
           *)_in != local_1dc) {
        operator_delete(_in);
      }
      _in = (pointer)local_1dc;
                    /* try { // try from 002c071f to 002c0723 has its CatchHandler @ 002c0e87 */
      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
      _M_construct<char_const*>
                (&local_1d0->name_,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);
      paVar2 = &local_16c.name_.field_2;
      local_16c.name_._M_dataplus._M_p = (pointer)paVar2;
                    /* try { // try from 002c074c to 002c0750 has its CatchHandler @ 002c0ec6 */
      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
      _M_construct<char*>(&local_16c.name_,_in,(filebuf *)(_in + local_130),0);
      local_16c.put_in_sysroot_ = true;
      local_16c.is_in_sysroot_ = false;
      if (local_16c.name_._M_string_length == 0) {
                    /* try { // try from 002c0b1f to 002c0b23 has its CatchHandler @ 002c0eb1 */
        std::string::_M_replace((string *)&local_16c,0,0,(char *)((int)local_1c4 + -0x15ca25),1);
      }
      iVar5._M_current =
           (this->library_path_).value.
           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.
           _M_impl._M_finish;
      if (iVar5._M_current ==
          (this->library_path_).value.
          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.
          _M_impl._M_end_of_storage) {
                    /* try { // try from 002c0b6b to 002c0b6f has its CatchHandler @ 002c0e9c */
        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::
        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_16c);
      }
      else {
        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2
        ;
                    /* try { // try from 002c079b to 002c079f has its CatchHandler @ 002c0e9c */
        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
        _M_construct<char*>(&(iVar5._M_current)->name_,local_16c.name_._M_dataplus._M_p,
                            local_16c.name_._M_dataplus._M_p + local_16c.name_._M_string_length,0);
        (iVar5._M_current)->put_in_sysroot_ = local_16c.put_in_sysroot_;
        (iVar5._M_current)->is_in_sysroot_ = local_16c.is_in_sysroot_;
        ppSVar1 = &(this->library_path_).value.
                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>
                   ._M_impl._M_finish;
        *ppSVar1 = *ppSVar1 + 1;
      }
      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
           *)local_16c.name_._M_dataplus._M_p != paVar2) {
        operator_delete(local_16c.name_._M_dataplus._M_p);
      }
      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
           *)_in != local_1dc) {
        operator_delete(_in);
      }
      _in = (pointer)local_1dc;
                    /* try { // try from 002c0825 to 002c0829 has its CatchHandler @ 002c0e87 */
      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
      _M_construct<char_const*>
                (&local_1d0->name_,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);
      local_1e0 = &line.field_2;
      local_1cc = (double)CONCAT44(local_1cc._4_4_,&line);
      line._M_dataplus._M_p = (pointer)local_1e0;
                    /* try { // try from 002c085e to 002c0862 has its CatchHandler @ 002c0e6b */
      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
      _M_construct<char*>(&line,_in,(filebuf *)(_in + local_130),0);
      if (line._M_string_length == 0) {
                    /* try { // try from 002c0b4c to 002c0b50 has its CatchHandler @ 002c0eaa */
        std::string::_M_replace
                  ((string *)local_1cc._0_4_,0,0,(char *)((int)local_1c4 + -0x15ca25),1);
      }
      iVar5._M_current =
           (this->library_path_).value.
           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.
           _M_impl._M_finish;
      if (iVar5._M_current ==
          (this->library_path_).value.
          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.
          _M_impl._M_end_of_storage) {
                    /* try { // try from 002c0bb0 to 002c0bb4 has its CatchHandler @ 002c0e64 */
        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::
        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,local_1cc._0_4_);
      }
      else {
        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2
        ;
                    /* try { // try from 002c08ad to 002c08b1 has its CatchHandler @ 002c0e64 */
        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
        _M_construct<char*>(&(iVar5._M_current)->name_,line._M_dataplus._M_p,
                            line._M_dataplus._M_p + line._M_string_length,0);
        (iVar5._M_current)->put_in_sysroot_ = true;
        (iVar5._M_current)->is_in_sysroot_ = false;
        ppSVar1 = &(this->library_path_).value.
                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>
                   ._M_impl._M_finish;
        *ppSVar1 = *ppSVar1 + 1;
      }
      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
           *)line._M_dataplus._M_p != local_1e0) {
        operator_delete(line._M_dataplus._M_p);
      }
      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
           *)_in != local_1dc) {
        operator_delete(_in);
      }
      goto LAB_002c0258;
    }
  }
  else {
    pcVar15 = (this->Y_).value;
    sVar13 = strlen(pcVar15);
    psVar6 = local_1d4;
                    /* try { // try from 002c022e to 002c02de has its CatchHandler @ 002c0e87 */
    std::string::_M_replace((string *)local_1d4,0,0,pcVar15,sVar13);
    iVar18 = std::string::compare((uint)psVar6,0,(char *)0x2);
    if (iVar18 == 0) {
                    /* try { // try from 002c0acd to 002c0ad1 has its CatchHandler @ 002c0e87 */
      std::string::_M_erase((uint)local_1d4,0);
    }
LAB_002c0258:
    uVar31 = 0;
    local_1cc = (double)CONCAT44(local_1cc._4_4_,&line);
    if (libpath._M_string_length != 0) {
      do {
        iVar18 = std::string::find((char)local_1d4,0x3a);
        uVar20 = 0xffffffff;
        if ((iVar18 == -1) || (uVar20 = iVar18 - uVar31, uVar20 != 0)) {
          if (libpath._M_string_length < uVar31) {
                    /* WARNING: Subroutine does not return */
            std::__throw_out_of_range_fmt
                      ((char *)(local_1c4 + -0x58f98),(int)local_1c4 + -0x1641fb,uVar31,
                       libpath._M_string_length);
          }
          local_1e0 = &line.field_2;
          uVar14 = libpath._M_string_length - uVar31;
          if (uVar20 < libpath._M_string_length - uVar31) {
            uVar14 = uVar20;
          }
          line._M_dataplus._M_p = (pointer)local_1e0;
          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
          _M_construct<char_const*>
                    (&(local_1cc._0_4_)->name_,libpath._M_dataplus._M_p + uVar31,
                     libpath._M_dataplus._M_p + uVar31 + uVar14,0);
          local_1dc = &local_12c;
          local_1d0 = (Search_directory *)&in;
          _in = (pointer)local_1dc;
                    /* try { // try from 002c0313 to 002c0317 has its CatchHandler @ 002c0ea3 */
          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>_> *)
                              local_1d0,line._M_dataplus._M_p,
                              line._M_dataplus._M_p + line._M_string_length,0);
          local_11c._0_1_ = true;
          local_11c._1_1_ = false;
          if (local_130 == 0) {
                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */
            std::string::_M_replace((string *)local_1d0,0,0,(char *)((int)local_1c4 + -0x15ca25),1);
          }
          iVar5._M_current =
               (this->library_path_).value.
               super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.
               _M_impl._M_finish;
          if (iVar5._M_current ==
              (this->library_path_).value.
              super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.
              _M_impl._M_end_of_storage) {
                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */
            std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::
            _M_realloc_insert<const_gold::Search_directory&>
                      (&(this->library_path_).value,iVar5,local_1d0);
          }
          else {
            ((iVar5._M_current)->name_)._M_dataplus._M_p =
                 (pointer)&((iVar5._M_current)->name_).field_2;
                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */
            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
            _M_construct<char*>(&(iVar5._M_current)->name_,_in,(filebuf *)(_in + local_130),0);
            (iVar5._M_current)->put_in_sysroot_ = local_11c._0_1_;
            (iVar5._M_current)->is_in_sysroot_ = local_11c._1_1_;
            ppSVar1 = &(this->library_path_).value.
                       super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>
                       ._M_impl._M_finish;
            *ppSVar1 = *ppSVar1 + 1;
          }
          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
               *)_in != local_1dc) {
            operator_delete(_in);
          }
          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
               *)line._M_dataplus._M_p != local_1e0) {
            operator_delete(line._M_dataplus._M_p);
          }
          if (iVar18 == -1) break;
        }
        uVar31 = iVar18 + 1;
      } while( true );
    }
  }
  ppuVar7 = local_1c4;
  puVar21 = auStack_20c;
  puVar22 = auStack_20c;
  if ((this->retain_symbols_file_).value != (char *)0x0) {
    local_1e8 = (ios_base *)local_a4;
    local_1d0 = (Search_directory *)&in;
    std::ios_base::ios_base(local_1e8);
    local_1fc = ppuVar7 + -0xa0e;
    local_34 = 0;
    local_2c = 0;
    local_a4[0] = ppuVar7 + -0xa0c;
    local_30 = 0;
    local_28 = 0;
    local_1f4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                 *)ppuVar7[-0x9d3];
    local_1f8 = ppuVar7[-0x9d2];
    local_24 = 0;
    local_20 = 0;
    _in = (pointer)local_1f4;
    *(undefined **)(&in + *(int *)(local_1f4->_M_local_buf + -0xc)) = local_1f8;
                    /* try { // try from 002bfb07 to 002bfb0b has its CatchHandler @ 002c0ee2 */
    std::ios::init((streambuf *)
                   ((int)&(((Search_directory *)&in)->name_)._M_dataplus._M_p +
                   *(int *)(local_1f4->_M_local_buf + -0xc)));
    local_200 = ppuVar7 + -0x9d0;
    _in = (pointer)(ppuVar7 + -0x9cd);
    local_a4[0] = ppuVar7 + -0x9c8;
    local_1dc = &local_12c;
                    /* try { // try from 002bfb39 to 002bfb3d has its CatchHandler @ 002c0ed4 */
    std::filebuf::filebuf((filebuf *)local_12c._M_local_buf);
                    /* try { // try from 002bfb47 to 002bfb4b has its CatchHandler @ 002c0e79 */
    std::ios::init((streambuf *)local_1e8);
    uVar32 = 8;
                    /* try { // try from 002bfb5b to 002bfb8a has its CatchHandler @ 002c0e80 */
    iVar18 = std::filebuf::open(local_12c._M_local_buf,
                                (_Ios_Openmode)(this->retain_symbols_file_).value);
    puVar19 = *(undefined **)(_in + -0xc) + (int)&(local_1d0->name_)._M_dataplus;
    if (iVar18 == 0) {
      uVar31 = *(uint *)(puVar19 + 0x14) | 4;
                    /* try { // try from 002c0aa1 to 002c0aa5 has its CatchHandler @ 002c0e80 */
      std::ios::clear((_Ios_Iostate)puVar19);
    }
    else {
      uVar31 = 0;
      std::ios::clear((_Ios_Iostate)puVar19);
    }
    ppuVar7 = local_1c4;
    if ((local_90 & 5) != 0) {
      piVar16 = __errno_location();
      pcVar17 = strerror(*piVar16);
      pcVar15 = (this->retain_symbols_file_).value;
      format = (char *)gettext(local_1c4 + -0x5645f,uVar31);
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002c0d5c to 002c0d60 has its CatchHandler @ 002c0e80 */
      gold_fatal(format,pcVar15,pcVar17);
    }
    line.field_2._M_local_buf[0] = '\0';
    local_1e0 = &line.field_2;
    line._M_dataplus._M_p = (pointer)&line.field_2;
    line._M_string_length = 0;
    this_00 = *(ctype<char> **)((int)aiStack_b8 + (int)*(undefined **)(_in + -0xc));
    if (this_00 == (ctype<char> *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002c0e40 to 002c0e44 has its CatchHandler @ 002c0edb */
      std::__throw_bad_cast();
    }
    if (this_00[0x1c] == (ctype<char>)0x0) {
                    /* try { // try from 002c043c to 002c0463 has its CatchHandler @ 002c0edb */
      std::ctype<char>::_M_widen_init(this_00);
      cVar9 = (ctype<char>)0xa;
      if (*(undefined ***)(*(int *)this_00 + 0x18) != ppuVar7 + -0xdabd4) {
        cVar9 = (ctype<char>)(*(code *)*(undefined ***)(*(int *)this_00 + 0x18))(this_00,10,uVar32);
      }
    }
    else {
      cVar9 = this_00[0x27];
    }
    local_1cc = (double)CONCAT44(local_1cc._4_4_,&line);
                    /* try { // try from 002bfc01 to 002bfc46 has its CatchHandler @ 002c0edb */
    std::getline<char,std::char_traits<char>,std::allocator<char>>
              ((istream *)local_1d0,(string *)&line,(char)cVar9);
    local_1d4 = (string *)&this->symbols_to_retain_;
    local_1e4 = local_1c0;
    while ((local_90 & 5) == 0) {
      if ((line._M_string_length != 0) && (line._M_dataplus._M_p[line._M_string_length - 1] == '\r')
         ) {
        *(undefined4 *)(puVar21 + -8) = 0;
        *(size_type *)(puVar21 + -0xc) = line._M_string_length - 1;
        *(Search_directory **)(puVar21 + -0x10) = local_1cc._0_4_;
                    /* try { // try from 002c0182 to 002c0186 has its CatchHandler @ 002c0edb */
        *(undefined4 *)(puVar21 + -0x14) = 0x2c0187;
        std::string::resize(*(uint *)(puVar21 + -0x10),puVar21[-0xc]);
      }
      *(undefined4 *)(puVar21 + -8) = 0xc70f6907;
      *(size_type *)(puVar21 + -0xc) = line._M_string_length;
      *(pointer *)(puVar21 + -0x10) = line._M_dataplus._M_p;
      *(undefined4 *)(puVar21 + -0x14) = 0x2bfc8a;
      uVar31 = std::_Hash_bytes(*(void **)(puVar21 + -0x10),*(uint *)(puVar21 + -0xc),
                                *(uint *)(puVar21 + -8));
      local_1d8 = (Dir_list *)(uVar31 % (this->symbols_to_retain_)._M_h._M_bucket_count);
      *(uint *)(puVar21 + -0x14) = uVar31;
      *(Search_directory **)(puVar21 + -0x18) = local_1cc._0_4_;
      *(Dir_list **)(puVar21 + -0x1c) = local_1d8;
      *(string **)(puVar21 + -0x20) = local_1d4;
      *(undefined4 *)(puVar21 + -0x24) = 0x2bfcb0;
      p_Var10 = std::
                _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
                ::_M_find_before_node
                          (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
                             **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),
                           *(key_type **)(puVar21 + -0x18),*(__hash_code *)(puVar21 + -0x14));
      if ((p_Var10 == (__node_base *)0x0) || (p_Var10->_M_nxt == (_Hash_node_base *)0x0)) {
        *(undefined4 *)(puVar21 + -0x10) = 0x20;
                    /* try { // try from 002bfdcb to 002bfdcf has its CatchHandler @ 002c0edb */
        *(undefined4 *)(puVar21 + -0x14) = 0x2bfdd0;
        puVar11 = (undefined4 *)operator_new(*(uint *)(puVar21 + -0x10));
        *puVar11 = 0;
        puVar11[1] = puVar11 + 3;
        *(undefined4 *)(puVar21 + -4) = 0;
        *(pointer *)(puVar21 + -8) = line._M_dataplus._M_p + line._M_string_length;
        *(pointer *)(puVar21 + -0xc) = line._M_dataplus._M_p;
        *(undefined4 **)(puVar21 + -0x10) = puVar11 + 1;
                    /* try { // try from 002bfdf7 to 002bfdfb has its CatchHandler @ 002c0ee9 */
        *(undefined4 *)(puVar21 + -0x14) = 0x2bfdfc;
        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
        _M_construct<char*>();
        *(undefined4 *)(puVar21 + -0xc) = 1;
        *(undefined4 **)(puVar21 + -0x10) = puVar11;
        *(uint *)(puVar21 + -0x14) = uVar31;
        *(Dir_list **)(puVar21 + -0x18) = local_1d8;
        *(string **)(puVar21 + -0x1c) = local_1d4;
        *(undefined1 **)(puVar21 + -0x20) = local_1e4;
                    /* try { // try from 002bfe14 to 002bfe18 has its CatchHandler @ 002c0edb */
        *(undefined4 *)(puVar21 + -0x24) = 0x2bfe19;
        std::
        _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
        ::_M_insert_unique_node
                  (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
                     **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),
                   *(__hash_code *)(puVar21 + -0x18),*(__node_type **)(puVar21 + -0x14),
                   *(size_type *)(puVar21 + -0x10));
        puVar21 = puVar21 + -4;
      }
      ppuVar7 = local_1c4;
      piVar16 = *(int **)((int)aiStack_b8 + (int)*(undefined **)(_in + -0xc));
      if (piVar16 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002c0bfa to 002c0bfe has its CatchHandler @ 002c0edb */
        *(undefined4 *)(puVar21 + -4) = 0x2c0bff;
        std::__throw_bad_cast();
      }
      if ((char)piVar16[7] == '\0') {
        *(int **)(puVar21 + -0x10) = piVar16;
                    /* try { // try from 002bfcf3 to 002bfd1a has its CatchHandler @ 002c0edb */
        *(undefined4 *)(puVar21 + -0x14) = 0x2bfcf8;
        std::ctype<char>::_M_widen_init(*(ctype<char> **)(puVar21 + -0x10));
        ppuVar4 = *(undefined ***)(*piVar16 + 0x18);
        iVar18 = 10;
        if (ppuVar4 != ppuVar7 + -0xdabd4) {
          *(undefined4 *)(puVar21 + -0xc) = 10;
          *(int **)(puVar21 + -0x10) = piVar16;
          *(undefined4 *)(puVar21 + -0x14) = 0x2bfd1b;
          cVar8 = (*(code *)ppuVar4)();
          iVar18 = (int)cVar8;
        }
      }
      else {
        iVar18 = (int)*(char *)((int)piVar16 + 0x27);
      }
      *(int *)(puVar21 + -8) = iVar18;
      *(Search_directory **)(puVar21 + -0xc) = local_1cc._0_4_;
      *(Search_directory **)(puVar21 + -0x10) = local_1d0;
      *(undefined4 *)(puVar21 + -0x14) = 0x2bfc47;
      std::getline<char,std::char_traits<char>,std::allocator<char>>
                (*(istream **)(puVar21 + -0x10),*(string **)(puVar21 + -0xc),puVar21[-8]);
    }
    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
         *)line._M_dataplus._M_p != local_1e0) {
      *(pointer *)(puVar21 + -0x10) = line._M_dataplus._M_p;
      *(undefined4 *)(puVar21 + -0x14) = 0x2bfe3f;
      operator_delete(*(void **)(puVar21 + -0x10));
    }
    ppuVar7 = local_1c4;
    *(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
      **)(puVar21 + -0x10) = local_1dc;
    _in = (pointer)(local_200 + 3);
    local_a4[0] = local_200 + 8;
    local_12c._M_allocated_capacity = (size_type)(local_1c4 + -0x9ec);
    *(undefined4 *)(puVar21 + -0x14) = 0x2bfe7f;
    std::filebuf::close(*(filebuf **)(puVar21 + -0x10));
    *(undefined1 **)(puVar21 + -0x10) = local_f4;
    *(undefined4 *)(puVar21 + -0x14) = 0x2bfe8d;
    std::__basic_file<char>::~__basic_file(*(__basic_file<char> **)(puVar21 + -0x10));
    local_12c._M_allocated_capacity = (size_type)(ppuVar7 + -0xbd1);
    *(undefined1 **)(puVar21 + -0x10) = local_110;
    *(undefined4 *)(puVar21 + -0x14) = 0x2bfeaa;
    std::locale::~locale(*(locale **)(puVar21 + -0x10));
    _in = (pointer)local_1f4;
    *(undefined **)(&in + *(int *)(local_1f4->_M_local_buf + -0xc)) = local_1f8;
    local_a4[0] = local_1fc + 2;
    *(ios_base **)(puVar21 + -0x10) = local_1e8;
    *(undefined4 *)(puVar21 + -0x14) = 0x2bfeeb;
    std::ios_base::~ios_base(*(ios_base **)(puVar21 + -0x10));
    puVar22 = puVar21;
  }
  if (((this->Bgroup_).value != false) && ((this->unresolved_symbols_).user_set_via_option == false)
     ) {
    (this->unresolved_symbols_).value = (char *)((int)local_1c4 + -0x1a1f9b);
  }
  if (((this->shared_).value != false) &&
     ((this->allow_shlib_undefined_).user_set_via_option == false)) {
    (this->allow_shlib_undefined_).value = true;
  }
  *(General_options **)(puVar22 + -0x10) = this;
                    /* try { // try from 002bff3a to 002c016a has its CatchHandler @ 002c0e87 */
  *(undefined4 *)(puVar22 + -0x14) = 0x2bff3f;
  add_sysroot(*(General_options **)(puVar22 + -0x10));
  if ((this->shared_).value == false) {
    if ((this->pie_).value != false) {
      if (this->static_ != false) {
        *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56440;
        *(undefined4 *)(puVar22 + -0x14) = 0x2c0e5c;
        uVar32 = gettext();
        *(undefined4 *)(puVar22 + -0x10) = uVar32;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002c0e5f to 002c0e63 has its CatchHandler @ 002c0e87 */
        *(undefined1 **)(puVar22 + -0x14) = &LAB_002c0e64;
        gold_fatal(*(char **)(puVar22 + -0x10));
      }
      if ((this->relocatable_).value != false) {
        *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56e83;
        *(undefined4 *)(puVar22 + -0x14) = 0x2c0cbd;
        uVar32 = gettext();
        *(undefined4 *)(puVar22 + -0x10) = uVar32;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar22 + -0x14) = 0x2c0cc5;
        gold_fatal(*(char **)(puVar22 + -0x10));
      }
    }
    if ((this->filter_).value != (char *)0x0) {
      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5642f;
      *(undefined4 *)(puVar22 + -0x14) = 0x2c0cdc;
      uVar32 = gettext();
      *(undefined4 *)(puVar22 + -0x10) = uVar32;
                    /* WARNING: Subroutine does not return */
      *(undefined4 *)(puVar22 + -0x14) = 0x2c0ce4;
      gold_fatal(*(char **)(puVar22 + -0x10));
    }
    if ((this->auxiliary_).value._M_h._M_element_count != 0) {
      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56424;
      *(undefined4 *)(puVar22 + -0x14) = 0x2c0d10;
      uVar32 = gettext();
      *(undefined4 *)(puVar22 + -0x10) = uVar32;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002c0d13 to 002c0d17 has its CatchHandler @ 002c0e87 */
      *(undefined4 *)(puVar22 + -0x14) = 0x2c0d18;
      gold_fatal(*(char **)(puVar22 + -0x10));
    }
    if (((this->relocatable_).value != false) && ((this->retain_symbols_file_).value != (char *)0x0)
       ) {
      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56418;
      *(undefined4 *)(puVar22 + -0x14) = 0x2c0163;
      uVar32 = gettext();
      *(undefined4 *)(puVar22 + -0x10) = uVar32;
                    /* WARNING: Subroutine does not return */
      *(undefined **)(puVar22 + -0x14) = &UNK_002c016b;
      gold_fatal(*(char **)(puVar22 + -0x10));
    }
  }
  else {
    if (this->static_ != false) {
      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56453;
      *(undefined4 *)(puVar22 + -0x14) = 0x2c0e32;
      uVar32 = gettext();
      *(undefined4 *)(puVar22 + -0x10) = uVar32;
                    /* WARNING: Subroutine does not return */
      *(undefined4 *)(puVar22 + -0x14) = 0x2c0e3a;
      gold_fatal(*(char **)(puVar22 + -0x10));
    }
    if ((this->pie_).value != false) {
      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56449;
      *(undefined4 *)(puVar22 + -0x14) = 0x2c0c7f;
      uVar32 = gettext();
      *(undefined4 *)(puVar22 + -0x10) = uVar32;
                    /* WARNING: Subroutine does not return */
      *(undefined4 *)(puVar22 + -0x14) = 0x2c0c87;
      gold_fatal(*(char **)(puVar22 + -0x10));
    }
    if ((this->relocatable_).value != false) {
      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56437;
      *(undefined4 *)(puVar22 + -0x14) = 0x2c0c9e;
      uVar32 = gettext();
      *(undefined4 *)(puVar22 + -0x10) = uVar32;
                    /* WARNING: Subroutine does not return */
      *(undefined4 *)(puVar22 + -0x14) = 0x2c0ca6;
      gold_fatal(*(char **)(puVar22 + -0x10));
    }
  }
  *(char **)(puVar22 + -0x10) = (this->oformat_).value;
  *(undefined4 *)(puVar22 + -0x14) = 0x2bff90;
  OVar12 = string_to_object_format(*(char **)(puVar22 + -0x10));
  if ((OVar12 != OBJECT_FORMAT_ELF) &&
     ((((this->shared_).value != false || ((this->pie_).value != false)) ||
      ((this->relocatable_).value != false)))) {
    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5640c;
    *(undefined4 *)(puVar22 + -0x14) = 0x2c0c60;
    uVar32 = gettext();
    *(undefined4 *)(puVar22 + -0x10) = uVar32;
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)(puVar22 + -0x14) = 0x2c0c68;
    gold_fatal(*(char **)(puVar22 + -0x10));
  }
  if (((this->hash_bucket_empty_fraction_).user_set_via_option != false) &&
     ((dVar3 = (this->hash_bucket_empty_fraction_).value, dVar3 < 0.0 || (1.0 <= dVar3)))) {
    local_1cc = dVar3;
    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563fc;
    *(undefined4 *)(puVar22 + -0x14) = 0x2c0c1c;
    uVar32 = gettext();
    dVar3 = local_1cc;
    *(undefined4 *)(puVar22 + -0x10) = uVar32;
    *(double *)(puVar22 + -0xc) = dVar3;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002c0c29 to 002c0ce3 has its CatchHandler @ 002c0e87 */
    *(undefined4 *)(puVar22 + -0x14) = 0x2c0c2e;
    gold_fatal(*(char **)(puVar22 + -0x10));
  }
  if (this->implicit_incremental_ == false) {
    if (this->incremental_mode_ == INCREMENTAL_OFF) goto LAB_002c00a3;
  }
  else if (this->incremental_mode_ == INCREMENTAL_OFF) {
    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563ec;
    *(undefined4 *)(puVar22 + -0x14) = 0x2c0db6;
    uVar32 = gettext();
    *(undefined4 *)(puVar22 + -0x10) = uVar32;
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)(puVar22 + -0x14) = 0x2c0dbe;
    gold_fatal(*(char **)(puVar22 + -0x10));
  }
  if ((this->relocatable_).value != false) {
    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563d0;
    *(undefined4 *)(puVar22 + -0x14) = 0x2c0dd5;
    uVar32 = gettext();
    *(undefined4 *)(puVar22 + -0x10) = uVar32;
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)(puVar22 + -0x14) = 0x2c0ddd;
    gold_fatal(*(char **)(puVar22 + -0x10));
  }
  if ((this->emit_relocs_).value != false) {
    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563c4;
    *(undefined4 *)(puVar22 + -0x14) = 0x2c0df4;
    uVar32 = gettext();
    *(undefined4 *)(puVar22 + -0x10) = uVar32;
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)(puVar22 + -0x14) = 0x2c0dfc;
    gold_fatal(*(char **)(puVar22 + -0x10));
  }
  if (this->plugins_ != (Plugin_manager *)0x0) {
    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563b5;
    *(undefined4 *)(puVar22 + -0x14) = 0x2c0e13;
    uVar32 = gettext();
    *(undefined4 *)(puVar22 + -0x10) = uVar32;
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)(puVar22 + -0x14) = 0x2c0e1b;
    gold_fatal(*(char **)(puVar22 + -0x10));
  }
  if ((this->relro_).value != false) {
    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563a8;
    *(undefined4 *)(puVar22 + -0x14) = 0x2c0d78;
    uVar32 = gettext();
    *(undefined4 *)(puVar22 + -0x10) = uVar32;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002c0d7b to 002c0e39 has its CatchHandler @ 002c0e87 */
    *(undefined4 *)(puVar22 + -0x14) = 0x2c0d80;
    gold_fatal(*(char **)(puVar22 + -0x10));
  }
  if ((this->pie_).value != false) {
    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5639b;
    *(undefined4 *)(puVar22 + -0x14) = 0x2c0d97;
    uVar32 = gettext();
    *(undefined4 *)(puVar22 + -0x10) = uVar32;
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)(puVar22 + -0x14) = 0x2c0d9f;
    gold_fatal(*(char **)(puVar22 + -0x10));
  }
  if ((this->gc_sections_).value != false) {
    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5638f;
    *(undefined4 *)(puVar22 + -0x14) = 0x2c0a6f;
    uVar32 = gettext();
    *(undefined4 *)(puVar22 + -0x10) = uVar32;
    *(undefined4 *)(puVar22 + -0x14) = 0x2c0a77;
    gold_warning(*(char **)(puVar22 + -0x10));
    (this->gc_sections_).value = false;
  }
  bVar27 = this->icf_status_ == ICF_NONE;
  bVar29 = !bVar27;
  if (bVar29) {
    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56383;
    *(undefined4 *)(puVar22 + -0x14) = 0x2c0a37;
    uVar32 = gettext();
    *(undefined4 *)(puVar22 + -0x10) = uVar32;
    *(undefined4 *)(puVar22 + -0x14) = 0x2c0a3f;
    gold_warning(*(char **)(puVar22 + -0x10));
    this->icf_status_ = ICF_NONE;
  }
  bVar29 = bVar29 && (undefined1 *)0xffffffef < puVar22 + -0x10;
  bVar27 = bVar27 || puVar22 == (undefined1 *)0x0;
  iVar18 = 5;
  pbVar23 = (byte *)(this->compress_debug_sections_).value;
  pbVar24 = local_1f0;
  do {
    if (iVar18 == 0) break;
    iVar18 = iVar18 + -1;
    bVar29 = *pbVar23 < *pbVar24;
    bVar27 = *pbVar23 == *pbVar24;
    pbVar23 = pbVar23 + (uint)bVar30 * -2 + 1;
    pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;
  } while (bVar27);
  if ((!bVar29 && !bVar27) != bVar29) {
    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56379;
    *(undefined4 *)(puVar22 + -0x14) = 0x2c09ff;
    uVar32 = gettext();
    *(undefined4 *)(puVar22 + -0x10) = uVar32;
                    /* try { // try from 002c0a02 to 002c0a76 has its CatchHandler @ 002c0e87 */
    *(undefined4 *)(puVar22 + -0x14) = 0x2c0a07;
    gold_warning(*(char **)(puVar22 + -0x10));
    (this->compress_debug_sections_).value = (char *)local_1f0;
  }
LAB_002c00a3:
  if ((this->rosegment_gap_).user_set_via_option != false) {
    (this->rosegment_).value = true;
  }
  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
       *)libpath._M_dataplus._M_p != local_1ec) {
    *(pointer *)(puVar22 + -0x10) = libpath._M_dataplus._M_p;
    *(undefined4 *)(puVar22 + -0x14) = 0x2c00d3;
    operator_delete(*(void **)(puVar22 + -0x10));
  }
  return;
}



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

void FUN_002bf7f0(int param_1)

{
  double dVar1;
  undefined **ppuVar2;
  undefined1 **ppuVar3;
  undefined **ppuVar4;
  char cVar5;
  uint uVar6;
  int *piVar7;
  undefined4 *puVar8;
  size_t sVar9;
  uint uVar10;
  undefined4 uVar11;
  char *pcVar12;
  undefined4 uVar13;
  int iVar14;
  undefined *puVar15;
  uint uVar16;
  undefined1 *puVar17;
  undefined1 *puVar18;
  byte *pbVar19;
  byte *pbVar20;
  byte *pbVar21;
  bool bVar22;
  bool bVar23;
  bool bVar24;
  byte bVar25;
  undefined4 uStackY_230;
  undefined1 auStack_20c [12];
  undefined **local_200;
  undefined **local_1fc;
  undefined *local_1f8;
  undefined ***local_1f4;
  byte *local_1f0;
  undefined1 *local_1ec;
  undefined ***local_1e8;
  undefined1 *local_1e4;
  undefined1 *local_1e0;
  undefined ***local_1dc;
  uint local_1d8;
  undefined1 **local_1d4;
  undefined ***local_1d0;
  double local_1cc;
  undefined **local_1c4;
  undefined1 local_1c0 [4];
  undefined1 *local_1bc;
  uint local_1b8;
  undefined1 local_1b4 [16];
  undefined1 *local_1a4;
  int local_1a0;
  undefined1 local_19c [16];
  undefined2 local_18c;
  undefined1 *local_188;
  int local_184;
  undefined1 local_180 [16];
  undefined2 local_170;
  undefined1 *local_16c;
  int local_168;
  undefined1 local_164 [16];
  undefined2 local_154;
  undefined1 *local_150;
  int local_14c;
  undefined1 local_148 [16];
  undefined2 local_138;
  undefined ***local_134;
  int local_130;
  undefined **local_12c [4];
  undefined2 local_11c;
  undefined1 local_110 [28];
  undefined1 local_f4 [60];
  int aiStack_b8 [5];
  undefined **local_a4 [5];
  byte local_90;
  undefined4 local_34;
  undefined2 local_30;
  undefined4 local_2c;
  undefined4 local_28;
  undefined4 local_24;
  undefined4 local_20;
  
  bVar25 = 0;
  local_1c4 = &__DT_PLTGOT;
  if (*(char *)(param_1 + 0x3469) == '\0') {
    if (*(char *)(param_1 + 0x34e5) != '\0') goto LAB_002bfd3a;
    if (*(char *)(param_1 + 0x3561) != '\0') {
      bVar24 = false;
      goto LAB_002bfd49;
    }
    bVar24 = false;
    if (*(char *)(param_1 + 0x7a9) != '\0') goto LAB_002bfd5c;
  }
  else {
    *(undefined1 *)(param_1 + 0x34e5) = 1;
LAB_002bfd3a:
    bVar24 = true;
    *(undefined1 *)(param_1 + 0x3561) = 1;
LAB_002bfd49:
    *(undefined1 *)(param_1 + 0x35dd) = 1;
    if (*(char *)(param_1 + 0x7a9) != '\0') {
LAB_002bfd5c:
      *(undefined1 *)(param_1 + 0x1a25) = 1;
    }
    if (((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')) &&
       (*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24)) {
      local_1c4 = &__DT_PLTGOT;
                    /* WARNING: Subroutine does not return */
      FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1);
    }
  }
  if (*(char *)(param_1 + 0xbcd) != '\0') {
    *(undefined1 *)(param_1 + 0xb51) = 1;
  }
  if (*(char *)(param_1 + 0xc49) != '\0') {
    *(undefined1 *)(param_1 + 0xb51) = 1;
  }
  if (*(char *)(param_1 + 0xb50) == '\0') {
    local_1cc = (double)CONCAT71(local_1cc._1_7_,*(byte *)(param_1 + 0x318d));
    *(byte *)(param_1 + 0xb51) = *(byte *)(param_1 + 0x318d) ^ 1;
  }
  bVar24 = *(char *)(param_1 + 0x4f31) == '\0';
  if (bVar24) {
    bVar24 = *(char *)(param_1 + 0x5545) == '\0';
    if (!bVar24) {
      *(undefined4 *)(param_1 + 0x5930) = 2;
    }
  }
  else {
    *(undefined4 *)(param_1 + 0x5930) = 1;
  }
  bVar22 = false;
  iVar14 = 5;
  local_1f0 = (byte *)0x48e342;
  pbVar19 = *(byte **)(param_1 + 0x1bec);
  pbVar20 = local_1f0;
  do {
    pbVar21 = pbVar20;
    if (iVar14 == 0) break;
    iVar14 = iVar14 + -1;
    pbVar21 = pbVar20 + 1;
    bVar22 = *pbVar19 < *pbVar20;
    bVar24 = *pbVar19 == *pbVar20;
    pbVar19 = pbVar19 + 1;
    pbVar20 = pbVar21;
  } while (bVar24);
  bVar23 = false;
  bVar24 = (!bVar22 && !bVar24) == bVar22;
  if (bVar24) {
    *(undefined4 *)(param_1 + 0x5934) = 0;
  }
  else {
    iVar14 = 5;
    pbVar19 = *(byte **)(param_1 + 0x1bec);
    pbVar20 = (byte *)0x48dc94;
    do {
      pbVar21 = pbVar20;
      if (iVar14 == 0) break;
      iVar14 = iVar14 + -1;
      pbVar21 = pbVar20 + 1;
      bVar23 = *pbVar19 < *pbVar20;
      bVar24 = *pbVar19 == *pbVar20;
      pbVar19 = pbVar19 + 1;
      pbVar20 = pbVar21;
    } while (bVar24);
    *(uint *)(param_1 + 0x5934) = ((!bVar23 && !bVar24) == bVar23) + 1;
  }
  if (*(char *)(param_1 + 0xd4c) == '\0') {
    if (*(char *)(param_1 + 0xd90) == '\0') {
      local_1c4 = &__DT_PLTGOT;
      pcVar12 = getenv("COLLECT_NO_DEMANGLE");
      *(bool *)(param_1 + 0x5939) = pcVar12 == (char *)0x0;
    }
    else {
      *(undefined1 *)(param_1 + 0x5939) = 0;
    }
  }
  else {
    pcVar12 = *(char **)(param_1 + 0xd50);
    *(undefined1 *)(param_1 + 0x5939) = 1;
    local_1c4 = &__DT_PLTGOT;
    if (*pcVar12 != '\0') {
      iVar14 = FUN_00395b70(pcVar12);
      if (iVar14 == 0) {
                    /* WARNING: Subroutine does not return */
        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);
      }
      FUN_00395b20(iVar14);
    }
  }
  ppuVar4 = local_1c4;
  bVar24 = false;
  bVar22 = *(char *)(param_1 + 0x2870) == '\0';
  if (!bVar22) {
    pbVar19 = *(byte **)(param_1 + 0x2874);
    iVar14 = 6;
    pbVar20 = pbVar19;
    pbVar21 = (byte *)((int)local_1c4 + -0x1477fe);
    do {
      if (iVar14 == 0) break;
      iVar14 = iVar14 + -1;
      bVar24 = *pbVar20 < *pbVar21;
      bVar22 = *pbVar20 == *pbVar21;
      pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;
      pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;
    } while (bVar22);
    bVar23 = false;
    bVar24 = (!bVar24 && !bVar22) == bVar24;
    if (bVar24) {
      *(undefined4 *)(param_1 + 0x5a88) = 0;
    }
    else {
      iVar14 = 8;
      pbVar20 = pbVar19;
      pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3);
      do {
        if (iVar14 == 0) break;
        iVar14 = iVar14 + -1;
        bVar23 = *pbVar20 < *pbVar21;
        bVar24 = *pbVar20 == *pbVar21;
        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;
        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;
      } while (bVar24);
      bVar22 = false;
      bVar24 = (!bVar23 && !bVar24) == bVar23;
      if (bVar24) {
        *(undefined4 *)(param_1 + 0x5a88) = 1;
      }
      else {
        iVar14 = 5;
        pbVar20 = pbVar19;
        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);
        do {
          if (iVar14 == 0) break;
          iVar14 = iVar14 + -1;
          bVar22 = *pbVar20 < *pbVar21;
          bVar24 = *pbVar20 == *pbVar21;
          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;
          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;
        } while (bVar24);
        bVar23 = false;
        bVar24 = (!bVar22 && !bVar24) == bVar22;
        if (bVar24) {
          *(undefined4 *)(param_1 + 0x5a88) = 2;
        }
        else {
          iVar14 = 6;
          pbVar20 = (byte *)((int)local_1c4 + -0x146582);
          do {
            if (iVar14 == 0) break;
            iVar14 = iVar14 + -1;
            bVar23 = *pbVar19 < *pbVar20;
            bVar24 = *pbVar19 == *pbVar20;
            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;
            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;
          } while (bVar24);
          if ((!bVar23 && !bVar24) == bVar23) {
            *(undefined4 *)(param_1 + 0x5a88) = 3;
          }
        }
      }
    }
  }
  if ((*(char *)(param_1 + 0x2401) != '\0') && (*(char *)(param_1 + 0x247c) == '\0')) {
    *(undefined1 *)(param_1 + 0x247c) = 1;
    *(undefined ***)(param_1 + 0x2480) = local_1c4 + -0x573ca;
  }
  if ((*(char *)(param_1 + 0x24c1) != '\0') || (*(char *)(param_1 + 0x253d) != '\0')) {
    *(undefined1 *)(param_1 + 0x5938) = 1;
  }
  iVar14 = *(int *)(param_1 + 0x3de8);
  if (0 < iVar14) {
    if (*(int *)(param_1 + 0x3e2c) == 0) {
      *(int *)(param_1 + 0x3e2c) = iVar14;
    }
    if (*(int *)(param_1 + 0x3e70) == 0) {
      *(int *)(param_1 + 0x3e70) = iVar14;
    }
    if (*(int *)(param_1 + 0x3eb4) == 0) {
      *(int *)(param_1 + 0x3eb4) = iVar14;
    }
  }
  local_1d4 = &local_1bc;
  local_1b4[0] = 0;
  local_1ec = local_1b4;
  local_1b8 = 0;
  local_1bc = local_1ec;
  if (*(char *)(param_1 + 0x4ca8) == '\0') {
    if (*(char *)(param_1 + 0x2729) == '\0') {
      local_1dc = local_12c;
      local_1d0 = (undefined ***)&local_134;
      local_134 = local_1dc;
                    /* try { // try from 002c0505 to 002c0509 has its CatchHandler @ 002c0e87 */
      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);
      local_1a4 = local_19c;
                    /* try { // try from 002c0532 to 002c0536 has its CatchHandler @ 002c0ef5 */
      FUN_0014fca0(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0);
      local_18c = 1;
      if (local_1a0 == 0) {
                    /* try { // try from 002c0957 to 002c095b has its CatchHandler @ 002c0e8e */
        FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);
      }
      local_1d8 = param_1 + 0x2184;
      piVar7 = *(int **)(param_1 + 0x2188);
      if (piVar7 == *(int **)(param_1 + 0x218c)) {
                    /* try { // try from 002c0973 to 002c0977 has its CatchHandler @ 002c0e95 */
        FUN_002c3140(local_1d8,piVar7,&local_1a4);
      }
      else {
        *piVar7 = (int)(piVar7 + 2);
                    /* try { // try from 002c058f to 002c0593 has its CatchHandler @ 002c0e95 */
        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);
        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;
        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;
        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;
      }
      if (local_1a4 != local_19c) {
        FUN_003ae080(local_1a4);
      }
      if (local_134 != local_1dc) {
        FUN_003ae080(local_134);
      }
      local_134 = local_1dc;
                    /* try { // try from 002c0619 to 002c061d has its CatchHandler @ 002c0e87 */
      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);
      local_188 = local_180;
                    /* try { // try from 002c0646 to 002c064a has its CatchHandler @ 002c0ecd */
      FUN_0014fca0(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0);
      local_170 = 1;
      if (local_184 == 0) {
                    /* try { // try from 002c0af7 to 002c0afb has its CatchHandler @ 002c0eb8 */
        FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);
      }
      piVar7 = *(int **)(param_1 + 0x2188);
      if (piVar7 == *(int **)(param_1 + 0x218c)) {
                    /* try { // try from 002c0b8b to 002c0b8f has its CatchHandler @ 002c0ebf */
        FUN_002c3140(local_1d8,piVar7,&local_188);
      }
      else {
        *piVar7 = (int)(piVar7 + 2);
                    /* try { // try from 002c0695 to 002c0699 has its CatchHandler @ 002c0ebf */
        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);
        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;
        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;
        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;
      }
      if (local_188 != local_180) {
        FUN_003ae080(local_188);
      }
      if (local_134 != local_1dc) {
        FUN_003ae080(local_134);
      }
      local_134 = local_1dc;
                    /* try { // try from 002c071f to 002c0723 has its CatchHandler @ 002c0e87 */
      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);
      local_16c = local_164;
                    /* try { // try from 002c074c to 002c0750 has its CatchHandler @ 002c0ec6 */
      FUN_0014fca0(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0);
      local_154 = 1;
      if (local_168 == 0) {
                    /* try { // try from 002c0b1f to 002c0b23 has its CatchHandler @ 002c0eb1 */
        FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);
      }
      piVar7 = *(int **)(param_1 + 0x2188);
      if (piVar7 == *(int **)(param_1 + 0x218c)) {
                    /* try { // try from 002c0b6b to 002c0b6f has its CatchHandler @ 002c0e9c */
        FUN_002c3140(local_1d8,piVar7,&local_16c);
      }
      else {
        *piVar7 = (int)(piVar7 + 2);
                    /* try { // try from 002c079b to 002c079f has its CatchHandler @ 002c0e9c */
        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);
        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;
        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;
        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;
      }
      if (local_16c != local_164) {
        FUN_003ae080(local_16c);
      }
      if (local_134 != local_1dc) {
        FUN_003ae080(local_134);
      }
      local_134 = local_1dc;
                    /* try { // try from 002c0825 to 002c0829 has its CatchHandler @ 002c0e87 */
      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);
      local_1e0 = local_148;
      local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);
      local_150 = local_1e0;
                    /* try { // try from 002c085e to 002c0862 has its CatchHandler @ 002c0e6b */
      FUN_0014fca0(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0);
      local_138 = 1;
      if (local_14c == 0) {
                    /* try { // try from 002c0b4c to 002c0b50 has its CatchHandler @ 002c0eaa */
        FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);
      }
      piVar7 = *(int **)(param_1 + 0x2188);
      if (piVar7 == *(int **)(param_1 + 0x218c)) {
                    /* try { // try from 002c0bb0 to 002c0bb4 has its CatchHandler @ 002c0e64 */
        FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);
      }
      else {
        *piVar7 = (int)(piVar7 + 2);
                    /* try { // try from 002c08ad to 002c08b1 has its CatchHandler @ 002c0e64 */
        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);
        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;
        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;
        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;
      }
      if (local_150 != local_1e0) {
        FUN_003ae080(local_150);
      }
      if (local_134 != local_1dc) {
        FUN_003ae080(local_134);
      }
      goto LAB_002c0258;
    }
  }
  else {
    pcVar12 = *(char **)(param_1 + 0x4cac);
    sVar9 = strlen(pcVar12);
    ppuVar3 = local_1d4;
                    /* try { // try from 002c022e to 002c02de has its CatchHandler @ 002c0e87 */
    FUN_003b6cc0(local_1d4,0,0,pcVar12,sVar9);
    iVar14 = FUN_003b86a0(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36);
    if (iVar14 == 0) {
      uVar6 = local_1b8;
      if (2 < local_1b8) {
        uVar6 = 2;
      }
                    /* try { // try from 002c0acd to 002c0ad1 has its CatchHandler @ 002c0e87 */
      FUN_003b5ec0(local_1d4,0,uVar6);
    }
LAB_002c0258:
    uVar6 = 0;
    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);
    if (local_1b8 != 0) {
      do {
        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);
        uVar16 = 0xffffffff;
        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {
          if (local_1b8 < uVar6) {
                    /* WARNING: Subroutine does not return */
            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);
          }
          local_1e0 = local_148;
          uVar10 = local_1b8 - uVar6;
          if (uVar16 < local_1b8 - uVar6) {
            uVar10 = uVar16;
          }
          local_150 = local_1e0;
          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);
          local_1dc = local_12c;
          local_1d0 = (undefined ***)&local_134;
          local_134 = local_1dc;
                    /* try { // try from 002c0313 to 002c0317 has its CatchHandler @ 002c0ea3 */
          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);
          local_11c = 1;
          if (local_130 == 0) {
                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */
            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);
          }
          piVar7 = *(int **)(param_1 + 0x2188);
          if (piVar7 == *(int **)(param_1 + 0x218c)) {
                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */
            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);
          }
          else {
            *piVar7 = (int)(piVar7 + 2);
                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */
            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);
            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;
            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;
            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;
          }
          if (local_134 != local_1dc) {
            FUN_003ae080(local_134);
          }
          if (local_150 != local_1e0) {
            FUN_003ae080(local_150);
          }
          if (iVar14 == -1) break;
        }
        uVar6 = iVar14 + 1;
      } while( true );
    }
  }
  ppuVar4 = local_1c4;
  puVar17 = auStack_20c;
  puVar18 = auStack_20c;
  if (*(int *)(param_1 + 0x3288) != 0) {
    local_1e8 = local_a4;
    local_1d0 = (undefined ***)&local_134;
    FUN_003f2f70(local_1e8);
    local_1fc = ppuVar4 + -0xa0e;
    local_34 = 0;
    local_2c = 0;
    local_a4[0] = ppuVar4 + -0xa0c;
    local_30 = 0;
    local_28 = 0;
    local_1f4 = (undefined ***)ppuVar4[-0x9d3];
    local_1f8 = ppuVar4[-0x9d2];
    local_24 = 0;
    local_20 = 0;
    local_134 = local_1f4;
    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;
    local_130 = 0;
                    /* try { // try from 002bfb07 to 002bfb0b has its CatchHandler @ 002c0ee2 */
    FUN_003d8720((int)local_1f4[-3] + (int)&local_134,0);
    local_200 = ppuVar4 + -0x9d0;
    local_134 = (undefined ***)(ppuVar4 + -0x9cd);
    local_a4[0] = ppuVar4 + -0x9c8;
    local_1dc = local_12c;
                    /* try { // try from 002bfb39 to 002bfb3d has its CatchHandler @ 002c0ed4 */
    FUN_003da940(local_12c);
                    /* try { // try from 002bfb47 to 002bfb4b has its CatchHandler @ 002c0e79 */
    FUN_003d8720(local_1e8,local_12c);
                    /* try { // try from 002bfb5b to 002bfb8a has its CatchHandler @ 002c0e80 */
    iVar14 = FUN_003dec20(local_12c,*(undefined4 *)(param_1 + 0x3288),8);
    puVar15 = (undefined *)((int)local_1d0 + (int)local_134[-3]);
    if (iVar14 == 0) {
                    /* try { // try from 002c0aa1 to 002c0aa5 has its CatchHandler @ 002c0e80 */
      FUN_003d7ed0(puVar15,*(uint *)(puVar15 + 0x14) | 4);
    }
    else {
      FUN_003d7ed0(puVar15,0);
    }
    ppuVar4 = local_1c4;
    if ((local_90 & 5) != 0) {
      piVar7 = __errno_location();
      pcVar12 = strerror(*piVar7);
      uVar11 = *(undefined4 *)(param_1 + 0x3288);
      uVar13 = gettext(local_1c4 + -0x5645f);
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002c0d5c to 002c0d60 has its CatchHandler @ 002c0e80 */
      FUN_0023b7b0(uVar13,uVar11,pcVar12);
    }
    local_1e0 = local_148;
    local_148[0] = 0;
    local_14c = 0;
    piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);
    local_150 = local_1e0;
    if (piVar7 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002c0e40 to 002c0e44 has its CatchHandler @ 002c0edb */
      FUN_003f3900();
    }
    if ((char)piVar7[7] == '\0') {
                    /* try { // try from 002c043c to 002c0463 has its CatchHandler @ 002c0edb */
      FUN_003f3f90(piVar7);
      iVar14 = 10;
      if (*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4) {
        cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);
        iVar14 = (int)cVar5;
      }
    }
    else {
      iVar14 = (int)*(char *)((int)piVar7 + 0x27);
    }
    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);
                    /* try { // try from 002bfc01 to 002bfc46 has its CatchHandler @ 002c0edb */
    FUN_003aef80(local_1d0,&local_150,iVar14);
    local_1d4 = (undefined1 **)(param_1 + 0x5a3c);
    local_1e4 = local_1c0;
    while ((local_90 & 5) == 0) {
      if ((local_14c != 0) && (local_150[local_14c + -1] == '\r')) {
        *(undefined4 *)(puVar17 + -8) = 0;
        *(int *)(puVar17 + -0xc) = local_14c + -1;
        *(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;
                    /* try { // try from 002c0182 to 002c0186 has its CatchHandler @ 002c0edb */
        *(undefined4 *)(puVar17 + -0x14) = 0x2c0187;
        FUN_003b6a50();
      }
      *(undefined4 *)(puVar17 + -8) = 0xc70f6907;
      *(int *)(puVar17 + -0xc) = local_14c;
      *(undefined1 **)(puVar17 + -0x10) = local_150;
      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc8a;
      uVar6 = FUN_003ac580();
      local_1d8 = uVar6 % *(uint *)(param_1 + 0x5a40);
      *(uint *)(puVar17 + -0x14) = uVar6;
      *(undefined4 *)(puVar17 + -0x18) = local_1cc._0_4_;
      *(uint *)(puVar17 + -0x1c) = local_1d8;
      *(undefined1 ***)(puVar17 + -0x20) = local_1d4;
      *(undefined4 *)(puVar17 + -0x24) = 0x2bfcb0;
      piVar7 = (int *)FUN_0022ed10();
      if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {
        *(undefined4 *)(puVar17 + -0x10) = 0x20;
                    /* try { // try from 002bfdcb to 002bfdcf has its CatchHandler @ 002c0edb */
        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;
        puVar8 = (undefined4 *)FUN_003ac4d0();
        *puVar8 = 0;
        puVar8[1] = puVar8 + 3;
        *(undefined4 *)(puVar17 + -4) = 0;
        *(undefined1 **)(puVar17 + -8) = local_150 + local_14c;
        *(undefined1 **)(puVar17 + -0xc) = local_150;
        *(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;
                    /* try { // try from 002bfdf7 to 002bfdfb has its CatchHandler @ 002c0ee9 */
        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;
        FUN_0014fca0();
        *(undefined4 *)(puVar17 + -0xc) = 1;
        *(undefined4 **)(puVar17 + -0x10) = puVar8;
        *(uint *)(puVar17 + -0x14) = uVar6;
        *(uint *)(puVar17 + -0x18) = local_1d8;
        *(undefined1 ***)(puVar17 + -0x1c) = local_1d4;
        *(undefined1 **)(puVar17 + -0x20) = local_1e4;
                    /* try { // try from 002bfe14 to 002bfe18 has its CatchHandler @ 002c0edb */
        *(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;
        FUN_002c4660();
        puVar17 = puVar17 + -4;
      }
      ppuVar4 = local_1c4;
      piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);
      if (piVar7 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002c0bfa to 002c0bfe has its CatchHandler @ 002c0edb */
        *(undefined4 *)(puVar17 + -4) = 0x2c0bff;
        FUN_003f3900();
      }
      if ((char)piVar7[7] == '\0') {
        *(int **)(puVar17 + -0x10) = piVar7;
                    /* try { // try from 002bfcf3 to 002bfd1a has its CatchHandler @ 002c0edb */
        *(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;
        FUN_003f3f90();
        ppuVar2 = *(undefined ***)(*piVar7 + 0x18);
        iVar14 = 10;
        if (ppuVar2 != ppuVar4 + -0xdabd4) {
          *(undefined4 *)(puVar17 + -0xc) = 10;
          *(int **)(puVar17 + -0x10) = piVar7;
          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;
          cVar5 = (*(code *)ppuVar2)();
          iVar14 = (int)cVar5;
        }
      }
      else {
        iVar14 = (int)*(char *)((int)piVar7 + 0x27);
      }
      *(int *)(puVar17 + -8) = iVar14;
      *(undefined4 *)(puVar17 + -0xc) = local_1cc._0_4_;
      *(undefined ****)(puVar17 + -0x10) = local_1d0;
      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc47;
      FUN_003aef80();
    }
    if (local_150 != local_1e0) {
      *(undefined1 **)(puVar17 + -0x10) = local_150;
      *(undefined4 *)(puVar17 + -0x14) = 0x2bfe3f;
      FUN_003ae080();
    }
    ppuVar4 = local_1c4;
    *(undefined ****)(puVar17 + -0x10) = local_1dc;
    local_134 = (undefined ***)(local_200 + 3);
    local_a4[0] = local_200 + 8;
    local_12c[0] = local_1c4 + -0x9ec;
    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe7f;
    FUN_003de160();
    *(undefined1 **)(puVar17 + -0x10) = local_f4;
    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe8d;
    FUN_003ae8c0();
    local_12c[0] = ppuVar4 + -0xbd1;
    *(undefined1 **)(puVar17 + -0x10) = local_110;
    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeaa;
    FUN_003b07e0();
    local_134 = local_1f4;
    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;
    local_130 = 0;
    local_a4[0] = local_1fc + 2;
    *(undefined ****)(puVar17 + -0x10) = local_1e8;
    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeeb;
    FUN_003f3310();
    puVar18 = puVar17;
  }
  if ((*(char *)(param_1 + 0x72d) != '\0') && (*(char *)(param_1 + 0x42e0) == '\0')) {
    *(int *)(param_1 + 0x42e4) = (int)local_1c4 + -0x1a1f9b;
  }
  if ((*(char *)(param_1 + 0x1a25) != '\0') && (*(char *)(param_1 + 0x1fc) == '\0')) {
    *(undefined1 *)(param_1 + 0x1fd) = 1;
  }
  *(int *)(puVar18 + -0x10) = param_1;
                    /* try { // try from 002bff3a to 002c016a has its CatchHandler @ 002c0e87 */
  *(undefined4 *)(puVar18 + -0x14) = 0x2bff3f;
  FUN_002b6130();
  if (*(char *)(param_1 + 0x1a25) == '\0') {
    if (*(char *)(param_1 + 0x2931) != '\0') {
      if (*(char *)(param_1 + 0x5938) != '\0') {
        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;
        *(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;
        uVar11 = gettext();
        *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002c0e5f to 002c0e63 has its CatchHandler @ 002c0e87 */
        *(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;
        FUN_0023b7b0();
      }
      if (*(char *)(param_1 + 0x318d) != '\0') {
        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;
        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;
        uVar11 = gettext();
        *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;
        FUN_0023b7b0();
      }
    }
    if (*(int *)(param_1 + 0x1478) != 0) {
      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5642f;
      *(undefined4 *)(puVar18 + -0x14) = 0x2c0cdc;
      uVar11 = gettext();
      *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* WARNING: Subroutine does not return */
      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ce4;
      FUN_0023b7b0();
    }
    if (*(int *)(param_1 + 0x1428) != 0) {
      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56424;
      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d10;
      uVar11 = gettext();
      *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002c0d13 to 002c0d17 has its CatchHandler @ 002c0e87 */
      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d18;
      FUN_0023b7b0();
    }
    if ((*(char *)(param_1 + 0x318d) != '\0') && (*(int *)(param_1 + 0x3288) != 0)) {
      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56418;
      *(undefined4 *)(puVar18 + -0x14) = 0x2c0163;
      uVar11 = gettext();
      *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* WARNING: Subroutine does not return */
      *(undefined **)(puVar18 + -0x14) = &UNK_002c016b;
      FUN_0023b7b0();
    }
  }
  else {
    if (*(char *)(param_1 + 0x5938) != '\0') {
      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453;
      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e32;
      uVar11 = gettext();
      *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* WARNING: Subroutine does not return */
      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a;
      FUN_0023b7b0();
    }
    if (*(char *)(param_1 + 0x2931) != '\0') {
      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449;
      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f;
      uVar11 = gettext();
      *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* WARNING: Subroutine does not return */
      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c87;
      FUN_0023b7b0();
    }
    if (*(char *)(param_1 + 0x318d) != '\0') {
      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437;
      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e;
      uVar11 = gettext();
      *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* WARNING: Subroutine does not return */
      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6;
      FUN_0023b7b0();
    }
  }
  *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(param_1 + 0x27ec);
  *(undefined4 *)(puVar18 + -0x14) = 0x2bff90;
  iVar14 = FUN_002b5ab0();
  if ((iVar14 != 0) &&
     (((*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')) ||
      (*(char *)(param_1 + 0x318d) != '\0')))) {
    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5640c;
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c60;
    uVar11 = gettext();
    *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c68;
    FUN_0023b7b0();
  }
  if ((*(char *)(param_1 + 0x1ae4) != '\0') &&
     ((dVar1 = *(double *)(param_1 + 0x1ae8), dVar1 < 0.0 || (1.0 <= dVar1)))) {
    local_1cc = dVar1;
    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563fc;
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c1c;
    uVar11 = gettext();
    dVar1 = local_1cc;
    *(undefined4 *)(puVar18 + -0x10) = uVar11;
    *(double *)(puVar18 + -0xc) = dVar1;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002c0c29 to 002c0ce3 has its CatchHandler @ 002c0e87 */
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c2e;
    FUN_0023b7b0();
  }
  if (*(char *)(param_1 + 0x5a1c) == '\0') {
    if (*(int *)(param_1 + 0x5a10) == 0) goto LAB_002c00a3;
  }
  else if (*(int *)(param_1 + 0x5a10) == 0) {
    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563ec;
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0db6;
    uVar11 = gettext();
    *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dbe;
    FUN_0023b7b0();
  }
  if (*(char *)(param_1 + 0x318d) != '\0') {
    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563d0;
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dd5;
    uVar11 = gettext();
    *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0ddd;
    FUN_0023b7b0();
  }
  if (*(char *)(param_1 + 0x3095) != '\0') {
    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563c4;
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0df4;
    uVar11 = gettext();
    *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dfc;
    FUN_0023b7b0();
  }
  if (*(int *)(param_1 + 0x593c) != 0) {
    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563b5;
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e13;
    uVar11 = gettext();
    *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e1b;
    FUN_0023b7b0();
  }
  if (*(char *)(param_1 + 0x56b9) != '\0') {
    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563a8;
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d78;
    uVar11 = gettext();
    *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002c0d7b to 002c0e39 has its CatchHandler @ 002c0e87 */
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d80;
    FUN_0023b7b0();
  }
  if (*(char *)(param_1 + 0x2931) != '\0') {
    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5639b;
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d97;
    uVar11 = gettext();
    *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d9f;
    FUN_0023b7b0();
  }
  if (*(char *)(param_1 + 0x18b1) != '\0') {
    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5638f;
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a6f;
    uVar11 = gettext();
    *(undefined4 *)(puVar18 + -0x10) = uVar11;
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a77;
    FUN_0023b840();
    *(undefined1 *)(param_1 + 0x18b1) = 0;
  }
  bVar22 = *(int *)(param_1 + 0x5934) == 0;
  bVar24 = !bVar22;
  if (bVar24) {
    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56383;
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a37;
    uVar11 = gettext();
    *(undefined4 *)(puVar18 + -0x10) = uVar11;
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a3f;
    FUN_0023b840();
    *(undefined4 *)(param_1 + 0x5934) = 0;
  }
  bVar24 = bVar24 && (undefined1 *)0xffffffef < puVar18 + -0x10;
  bVar22 = bVar22 || puVar18 == (undefined1 *)0x0;
  iVar14 = 5;
  pbVar19 = *(byte **)(param_1 + 0x99c);
  pbVar20 = local_1f0;
  do {
    if (iVar14 == 0) break;
    iVar14 = iVar14 + -1;
    bVar24 = *pbVar19 < *pbVar20;
    bVar22 = *pbVar19 == *pbVar20;
    pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;
    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;
  } while (bVar22);
  if ((!bVar24 && !bVar22) != bVar24) {
    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56379;
    *(undefined4 *)(puVar18 + -0x14) = 0x2c09ff;
    uVar11 = gettext();
    *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* try { // try from 002c0a02 to 002c0a76 has its CatchHandler @ 002c0e87 */
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a07;
    FUN_0023b840();
    *(byte **)(param_1 + 0x99c) = local_1f0;
  }
LAB_002c00a3:
  if (*(char *)(param_1 + 0x3344) != '\0') {
    *(undefined1 *)(param_1 + 0x32c9) = 1;
  }
  if (local_1bc != local_1ec) {
    *(undefined1 **)(puVar18 + -0x10) = local_1bc;
    *(undefined4 *)(puVar18 + -0x14) = 0x2c00d3;
    FUN_003ae080();
  }
  return;
}


CALL 0x00074f02
ADD EAX,0x32a80b
PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x1fc
MOV dword ptr [EBP + 0xfffffe40],EAX
MOV EAX,dword ptr [EBP + 0x8]
MOVZX EAX,byte ptr [EAX + 0x3469]
TEST AL,AL
JNZ 0x002bfd30
MOV ESI,dword ptr [EBP + 0x8]
CMP byte ptr [ESI + 0x34e5],0x0
JNZ 0x002bfd3a
MOV EBX,dword ptr [EBP + 0x8]
MOVZX EDX,byte ptr [EBX + 0x3561]
TEST DL,DL
JNZ 0x002c0938
MOV ECX,dword ptr [EBP + 0x8]
CMP byte ptr [ECX + 0x7a9],0x0
JNZ 0x002bfd5c
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0xbcd],0x0
JZ 0x002bf863
MOV byte ptr [EAX + 0xb51],0x1
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0xc49],0x0
JZ 0x002bf876
MOV byte ptr [EAX + 0xb51],0x1
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0xb50],0x0
JNZ 0x002bf89b
MOVZX EAX,byte ptr [EAX + 0x318d]
MOV EBX,dword ptr [EBP + 0x8]
MOV byte ptr [EBP + 0xfffffe38],AL
XOR EAX,0x1
MOV byte ptr [EBX + 0xb51],AL
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0x4f31],0x0
JNZ 0x002bfdb0
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0x5545],0x0
JZ 0x002bf8c1
MOV dword ptr [EAX + 0x5930],0x2
MOV EAX,dword ptr [EBP + 0x8]
MOV ECX,0x5
MOV EDX,dword ptr [EAX + 0x1bec]
MOV EAX,dword ptr [EBP + 0xfffffe40]
MOV ESI,EDX
LEA EDI,[EAX + 0xffea4342]
MOV dword ptr [EBP + 0xfffffe14],EDI
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x002c01c0
MOV EAX,dword ptr [EBP + 0x8]
MOV dword ptr [EAX + 0x5934],0x0
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0xd4c],0x0
JZ 0x002c01a0
MOV ESI,dword ptr [EAX + 0xd50]
MOV byte ptr [EAX + 0x5939],0x1
CMP byte ptr [ESI],0x0
JNZ 0x002c09b0
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0x2870],0x0
JZ 0x002bf966
MOV EDX,dword ptr [EAX + 0x2874]
MOV EAX,dword ptr [EBP + 0xfffffe40]
MOV ECX,0x6
LEA EDI,[EAX + 0xffeb8802]
MOV ESI,EDX
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x002c0470
MOV EAX,dword ptr [EBP + 0x8]
MOV dword ptr [EAX + 0x5a88],0x0
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0x2401],0x0
JZ 0x002bf997
CMP byte ptr [EAX + 0x247c],0x0
JNZ 0x002bf997
MOV EAX,dword ptr [EBP + 0xfffffe40]
MOV EDX,dword ptr [EBP + 0x8]
LEA EAX,[EAX + 0xffea30d8]
MOV byte ptr [EDX + 0x247c],0x1
MOV dword ptr [EDX + 0x2480],EAX
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0x24c1],0x0
JNZ 0x002bf9ac
CMP byte ptr [EAX + 0x253d],0x0
JZ 0x002bf9b6
MOV EAX,dword ptr [EBP + 0x8]
MOV byte ptr [EAX + 0x5938],0x1
MOV EAX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x3de8]
TEST EAX,EAX
JLE 0x002bfa02
MOV ECX,dword ptr [EBP + 0x8]
MOV EBX,dword ptr [ECX + 0x3e2c]
TEST EBX,EBX
JNZ 0x002bf9d6
MOV dword ptr [ECX + 0x3e2c],EAX
MOV EBX,dword ptr [EBP + 0x8]
MOV EDX,dword ptr [EBX + 0x3e70]
TEST EDX,EDX
JNZ 0x002bf9ec
MOV ESI,dword ptr [EBP + 0x8]
MOV dword ptr [ESI + 0x3e70],EAX
MOV ESI,dword ptr [EBP + 0x8]
MOV ECX,dword ptr [ESI + 0x3eb4]
TEST ECX,ECX
JNZ 0x002bfa02
MOV EBX,dword ptr [EBP + 0x8]
MOV dword ptr [EBX + 0x3eb4],EAX
LEA EAX,[EBP + 0xfffffe48]
MOV byte ptr [EBP + 0xfffffe50],0x0
MOV dword ptr [EBP + 0xfffffe30],EAX
LEA EAX,[EBP + 0xfffffe50]
MOV dword ptr [EBP + 0xfffffe18],EAX
MOV dword ptr [EBP + 0xfffffe48],EAX
MOV EAX,dword ptr [EBP + 0x8]
MOV dword ptr [EBP + 0xfffffe4c],0x0
CMP byte ptr [EAX + 0x4ca8],0x0
JNZ 0x002c0208
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0x2729],0x0
JZ 0x002c04d0
MOV EAX,dword ptr [EBP + 0x8]
MOV EDX,dword ptr [EAX + 0x3288]
TEST EDX,EDX
JZ 0x002bfeee
SUB ESP,0xc
LEA EAX,[EBP + 0xffffff60]
MOV EDI,dword ptr [EBP + 0xfffffe40]
LEA ESI,[EBP + 0xfffffed0]
PUSH EAX
MOV EBX,EDI
MOV dword ptr [EBP + 0xfffffe1c],EAX
MOV dword ptr [EBP + 0xfffffe34],ESI
CALL 0x003f2f70
LEA EDX,[EDI + 0xffffd7c8]
MOV dword ptr [EBP + -0x30],0x0
MOV dword ptr [EBP + -0x28],0x0
LEA EAX,[EDX + 0x8]
MOV dword ptr [EBP + 0xfffffe08],EDX
MOV dword ptr [EBP + 0xffffff60],EAX
XOR EAX,EAX
MOV word ptr [EBP + -0x2c],AX
LEA EAX,[EDI + 0xffffd8b0]
MOV dword ptr [EBP + -0x24],0x0
MOV EBX,dword ptr [EAX + 0x4]
MOV EDX,dword ptr [EAX + 0x8]
MOV dword ptr [EBP + -0x20],0x0
MOV dword ptr [EBP + -0x1c],0x0
MOV EAX,dword ptr [EBX + -0xc]
MOV dword ptr [EBP + 0xfffffed0],EBX
MOV dword ptr [EBP + 0xfffffe0c],EDX
MOV dword ptr [EBP + EAX*0x1 + 0xfffffed0],EDX
POP EAX
MOV dword ptr [EBP + 0xfffffed4],0x0
MOV EAX,dword ptr [EBX + -0xc]
POP EDX
PUSH 0x0
ADD EAX,ESI
MOV dword ptr [EBP + 0xfffffe10],EBX
MOV EBX,EDI
PUSH EAX
CALL 0x003d8720
LEA EDX,[EDI + 0xffffd8c0]
LEA ESI,[EBP + 0xfffffed8]
MOV dword ptr [EBP + 0xfffffe28],ESI
LEA EAX,[EDX + 0xc]
MOV dword ptr [EBP + 0xfffffe04],EDX
MOV dword ptr [EBP + 0xfffffed0],EAX
LEA EAX,[EDX + 0x20]
MOV dword ptr [EBP + 0xffffff60],EAX
MOV dword ptr [ESP],ESI
CALL 0x003da940
POP EDI
POP EAX
PUSH ESI
PUSH dword ptr [EBP + 0xfffffe1c]
CALL 0x003d8720
MOV EAX,dword ptr [EBP + 0x8]
ADD ESP,0xc
PUSH 0x8
PUSH dword ptr [EAX + 0x3288]
PUSH ESI
CALL 0x003dec20
MOV EDX,dword ptr [EBP + 0xfffffed0]
MOV ECX,dword ptr [EBP + 0xfffffe34]
ADD ESP,0x10
ADD ECX,dword ptr [EDX + -0xc]
TEST EAX,EAX
JZ 0x002c0a90
SUB ESP,0x8
MOV EBX,dword ptr [EBP + 0xfffffe40]
PUSH 0x0
PUSH ECX
CALL 0x003d7ed0
ADD ESP,0x10
TEST byte ptr [EBP + 0xffffff74],0x5
JNZ 0x002c0d18
LEA EAX,[EBP + 0xfffffebc]
MOV byte ptr [EBP + 0xfffffebc],0x0
MOV dword ptr [EBP + 0xfffffe24],EAX
MOV dword ptr [EBP + 0xfffffeb4],EAX
MOV EAX,dword ptr [EBP + 0xfffffed0]
MOV dword ptr [EBP + 0xfffffeb8],0x0
MOV EAX,dword ptr [EAX + -0xc]
MOV ESI,dword ptr [EBP + EAX*0x1 + 0xffffff4c]
TEST ESI,ESI
JZ 0x002c0e3a
CMP byte ptr [ESI + 0x1c],0x0
JZ 0x002c0430
MOVSX EAX,byte ptr [ESI + 0x27]
SUB ESP,0x4
MOV EBX,dword ptr [EBP + 0xfffffe40]
PUSH EAX
LEA EAX,[EBP + 0xfffffeb4]
PUSH EAX
PUSH dword ptr [EBP + 0xfffffe34]
MOV dword ptr [EBP + 0xfffffe38],EAX
CALL 0x003aef80
MOV EAX,dword ptr [EBP + 0x8]
ADD ESP,0x10
ADD EAX,0x5a3c
MOV dword ptr [EBP + 0xfffffe30],EAX
LEA EAX,[EBP + 0xfffffe44]
MOV dword ptr [EBP + 0xfffffe20],EAX
JMP 0x002bfc4a
MOVSX EAX,byte ptr [ESI + 0x27]
SUB ESP,0x4
MOV EBX,dword ptr [EBP + 0xfffffe40]
PUSH EAX
PUSH dword ptr [EBP + 0xfffffe38]
PUSH dword ptr [EBP + 0xfffffe34]
CALL 0x003aef80
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xfffffeb4]
TEST byte ptr [EBP + 0xffffff74],0x5
JNZ 0x002bfe28
MOV EAX,dword ptr [EBP + 0xfffffeb8]
TEST EAX,EAX
JZ 0x002bfc75
CMP byte ptr [EDX + EAX*0x1 + -0x1],0xd
LEA ECX,[EAX + -0x1]
JZ 0x002c0170
SUB ESP,0x4
MOV EBX,dword ptr [EBP + 0xfffffe40]
PUSH 0xc70f6907
PUSH EAX
PUSH EDX
CALL 0x003ac580
MOV EDI,dword ptr [EBP + 0x8]
XOR EDX,EDX
MOV ESI,EAX
DIV dword ptr [EDI + 0x5a40]
PUSH ESI
PUSH dword ptr [EBP + 0xfffffe38]
PUSH EDX
PUSH dword ptr [EBP + 0xfffffe30]
MOV dword ptr [EBP + 0xfffffe2c],EDX
CALL 0x0022ed10
ADD ESP,0x20
TEST EAX,EAX
JZ 0x002bfdc0
MOV ECX,dword ptr [EAX]
TEST ECX,ECX
JZ 0x002bfdc0
MOV EAX,dword ptr [EBP + 0xfffffed0]
MOV EAX,dword ptr [EAX + -0xc]
MOV ESI,dword ptr [EBP + EAX*0x1 + 0xffffff4c]
TEST ESI,ESI
JZ 0x002c0bf4
CMP byte ptr [ESI + 0x1c],0x0
JNZ 0x002bfc28
SUB ESP,0xc
MOV EDI,dword ptr [EBP + 0xfffffe40]
PUSH ESI
MOV EBX,EDI
CALL 0x003f3f90
MOV EAX,dword ptr [ESI]
LEA ECX,[EDI + 0xffc950b0]
ADD ESP,0x10
MOV EDX,dword ptr [EAX + 0x18]
MOV EAX,0xa
CMP EDX,ECX
JZ 0x002bfc2c
SUB ESP,0x8
PUSH 0xa
PUSH ESI
CALL EDX
ADD ESP,0x10
MOVSX EAX,AL
JMP 0x002bfc2c
MOV ECX,dword ptr [EBP + 0x8]
MOV byte ptr [ECX + 0x34e5],0x1
MOV ESI,dword ptr [EBP + 0x8]
MOV EDX,0x1
MOV byte ptr [ESI + 0x3561],0x1
MOV ESI,dword ptr [EBP + 0x8]
CMP byte ptr [ESI + 0x7a9],0x0
MOV byte ptr [ESI + 0x35dd],0x1
JZ 0x002bfd66
MOV ECX,dword ptr [EBP + 0x8]
MOV byte ptr [ECX + 0x1a25],0x1
TEST AL,AL
JZ 0x002bf850
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0x318d],0x0
JZ 0x002bf850
MOV byte ptr [EAX + 0x3469],0x0
TEST DL,DL
JNZ 0x002bf850
MOV EBX,dword ptr [EBP + 0xfffffe40]
PUSH EAX
LEA EAX,[EBX + 0xffea729c]
PUSH EAX
LEA EAX,[EBX + 0xffea30c1]
PUSH 0x453
PUSH EAX
CALL 0x002446e0
MOV dword ptr [EAX + 0x5930],0x1
JMP 0x002bf8c1
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xfffffe40]
PUSH 0x20
CALL 0x003ac4d0
MOV dword ptr [EAX],0x0
MOV EDI,EAX
LEA EDX,[EAX + 0x4]
LEA EAX,[EAX + 0xc]
MOV dword ptr [EDI + 0x4],EAX
MOV ECX,dword ptr [EBP + 0xfffffeb8]
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xfffffeb4]
PUSH 0x0
ADD ECX,EAX
PUSH ECX
PUSH EAX
PUSH EDX
CALL 0x0014fca0
POP EAX
POP EDX
PUSH 0x1
PUSH EDI
PUSH ESI
PUSH dword ptr [EBP + 0xfffffe2c]
PUSH dword ptr [EBP + 0xfffffe30]
PUSH dword ptr [EBP + 0xfffffe20]
CALL 0x002c4660
ADD ESP,0x1c
JMP 0x002bfcc5
CMP EDX,dword ptr [EBP + 0xfffffe24]
JZ 0x002bfe42
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xfffffe40]
PUSH EDX
CALL 0x003ae080
ADD ESP,0x10
MOV ECX,dword ptr [EBP + 0xfffffe04]
MOV EDI,dword ptr [EBP + 0xfffffe40]
SUB ESP,0xc
PUSH dword ptr [EBP + 0xfffffe28]
LEA EAX,[ECX + 0xc]
MOV EBX,EDI
MOV dword ptr [EBP + 0xfffffed0],EAX
LEA EAX,[ECX + 0x20]
MOV dword ptr [EBP + 0xffffff60],EAX
LEA EAX,[EDI + 0xffffd848]
ADD EAX,0x8
MOV dword ptr [EBP + 0xfffffed8],EAX
CALL 0x003de160
LEA EAX,[EBP + 0xffffff10]
MOV dword ptr [ESP],EAX
CALL 0x003ae8c0
LEA EAX,[EDI + 0xffffd0b4]
ADD EAX,0x8
MOV dword ptr [EBP + 0xfffffed8],EAX
LEA EAX,[EBP + 0xfffffef4]
MOV dword ptr [ESP],EAX
CALL 0x003b07e0
MOV EAX,dword ptr [EBP + 0xfffffe10]
MOV ECX,dword ptr [EBP + 0xfffffe0c]
MOV dword ptr [EBP + 0xfffffed0],EAX
MOV EAX,dword ptr [EAX + -0xc]
MOV dword ptr [EBP + EAX*0x1 + 0xfffffed0],ECX
MOV EAX,dword ptr [EBP + 0xfffffe08]
MOV dword ptr [EBP + 0xfffffed4],0x0
ADD EAX,0x8
MOV dword ptr [EBP + 0xffffff60],EAX
POP EAX
PUSH dword ptr [EBP + 0xfffffe1c]
CALL 0x003f3310
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0x72d],0x0
JZ 0x002bff18
CMP byte ptr [EAX + 0x42e0],0x0
JNZ 0x002bff18
MOV EAX,dword ptr [EBP + 0xfffffe40]
MOV EDI,dword ptr [EBP + 0x8]
LEA EAX,[EAX + 0xffe5e065]
MOV dword ptr [EDI + 0x42e4],EAX
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0x1a25],0x0
JZ 0x002bff34
CMP byte ptr [EAX + 0x1fc],0x0
JNZ 0x002bff34
MOV byte ptr [EAX + 0x1fd],0x1
SUB ESP,0xc
PUSH dword ptr [EBP + 0x8]
CALL 0x002b6130
MOV EAX,dword ptr [EBP + 0x8]
ADD ESP,0x10
CMP byte ptr [EAX + 0x1a25],0x0
JZ 0x002c00e0
CMP byte ptr [EAX + 0x5938],0x0
JNZ 0x002c0e1b
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0x2931],0x0
JNZ 0x002c0c68
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0x318d],0x0
JNZ 0x002c0c87
MOV EAX,dword ptr [EBP + 0x8]
SUB ESP,0xc
PUSH dword ptr [EAX + 0x27ec]
CALL 0x002b5ab0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x002bffc1
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0x1a25],0x0
JNZ 0x002c0c49
CMP byte ptr [EAX + 0x2931],0x0
JNZ 0x002c0c49
CMP byte ptr [EAX + 0x318d],0x0
JNZ 0x002c0c49
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0x1ae4],0x0
JZ 0x002bffed
FLD qword ptr [EAX + 0x1ae8]
FLDZ
FCOMIP ST0,ST1
JA 0x002c0bff
FLD1
FXCH
FCOMI ST0,ST1
FSTP ST1
JNC 0x002c0bff
FSTP ST0
MOV ECX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [ECX + 0x5a1c],0x0
MOV EAX,dword ptr [EAX + 0x5a10]
JZ 0x002c01f8
TEST EAX,EAX
JZ 0x002c0d9f
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0x318d],0x0
JNZ 0x002c0dbe
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0x3095],0x0
JNZ 0x002c0ddd
MOV EAX,dword ptr [EBP + 0x8]
MOV ESI,dword ptr [EAX + 0x593c]
TEST ESI,ESI
JNZ 0x002c0dfc
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0x56b9],0x0
JNZ 0x002c0d61
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0x2931],0x0
JNZ 0x002c0d80
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0x18b1],0x0
JNZ 0x002c0a58
MOV EAX,dword ptr [EBP + 0x8]
MOV EBX,dword ptr [EAX + 0x5934]
TEST EBX,EBX
JNZ 0x002c0a20
MOV EAX,dword ptr [EBP + 0x8]
MOV EDI,dword ptr [EBP + 0xfffffe14]
MOV ECX,0x5
MOV ESI,dword ptr [EAX + 0x99c]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x002c09e8
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0x3344],0x0
JZ 0x002c00b6
MOV byte ptr [EAX + 0x32c9],0x1
MOV EAX,dword ptr [EBP + 0xfffffe48]
CMP EAX,dword ptr [EBP + 0xfffffe18]
JZ 0x002c00d6
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xfffffe40]
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0x2931],0x0
JZ 0x002c010c
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0x5938],0x0
JNZ 0x002c0e45
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0x318d],0x0
JNZ 0x002c0ca6
MOV EAX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x1478]
TEST EAX,EAX
JNZ 0x002c0cc5
MOV EAX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x1428]
TEST EAX,EAX
JNZ 0x002c0cf9
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0x318d],0x0
JZ 0x002bff7f
MOV EDI,dword ptr [EAX + 0x3288]
TEST EDI,EDI
JZ 0x002bff7f
MOV ESI,dword ptr [EBP + 0xfffffe40]
SUB ESP,0xc
LEA EAX,[ESI + 0xffea6fa0]
MOV EBX,ESI
PUSH EAX
CALL 0x00039440
MOV dword ptr [ESP],EAX
CALL 0x0023b7b0
SUB ESP,0x4
MOV EBX,dword ptr [EBP + 0xfffffe40]
PUSH 0x0
PUSH ECX
PUSH dword ptr [EBP + 0xfffffe38]
CALL 0x003b6a50
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xfffffeb8]
MOV EDX,dword ptr [EBP + 0xfffffeb4]
JMP 0x002bfc75
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0xd90],0x0
JZ 0x002c0980
MOV byte ptr [EAX + 0x5939],0x0
JMP 0x002bf925
MOV EAX,dword ptr [EBP + 0xfffffe40]
MOV ESI,EDX
MOV ECX,0x5
LEA EDI,[EAX + 0xffea3c94]
CMPSB.REPE ES:EDI,ESI
MOV ESI,dword ptr [EBP + 0x8]
SETA AL
SBB AL,0x0
TEST AL,AL
SETZ AL
MOVZX EAX,AL
ADD EAX,0x1
MOV dword ptr [ESI + 0x5934],EAX
JMP 0x002bf8ff
TEST EAX,EAX
JZ 0x002c00a3
JMP 0x002c000e
MOV ESI,dword ptr [EAX + 0x4cac]
SUB ESP,0xc
MOV EDI,dword ptr [EBP + 0xfffffe40]
PUSH ESI
MOV EBX,EDI
CALL 0x00039330
MOV dword ptr [ESP],EAX
PUSH ESI
MOV ESI,dword ptr [EBP + 0xfffffe30]
PUSH 0x0
PUSH 0x0
PUSH ESI
CALL 0x003b6cc0
ADD ESP,0x20
LEA EAX,[EDI + 0xffea45ca]
PUSH EAX
PUSH 0x2
PUSH 0x0
PUSH ESI
CALL 0x003b86a0
ADD ESP,0x10
MOV ECX,dword ptr [EBP + 0xfffffe4c]
TEST EAX,EAX
JZ 0x002c0ab0
LEA EAX,[EBP + 0xfffffeb4]
XOR EDI,EDI
MOV dword ptr [EBP + 0xfffffe38],EAX
TEST ECX,ECX
JNZ 0x002c0279
JMP 0x002bfa51
MOV ECX,EAX
SUB ECX,EDI
JNZ 0x002c029f
LEA EDI,[ESI + 0x1]
SUB ESP,0x4
MOV EBX,dword ptr [EBP + 0xfffffe40]
PUSH EDI
PUSH 0x3a
PUSH dword ptr [EBP + 0xfffffe30]
CALL 0x003b7ee0
ADD ESP,0x10
MOV ECX,0xffffffff
MOV ESI,EAX
CMP EAX,-0x1
JNZ 0x002c0270
MOV EAX,dword ptr [EBP + 0xfffffe4c]
CMP EDI,EAX
JA 0x002c0c2e
LEA EBX,[EBP + 0xfffffebc]
SUB EAX,EDI
PUSH 0x0
MOV dword ptr [EBP + 0xfffffe24],EBX
MOV dword ptr [EBP + 0xfffffeb4],EBX
MOV EBX,dword ptr [EBP + 0xfffffe48]
ADD EBX,EDI
CMP EAX,ECX
CMOVA EAX,ECX
ADD EAX,EBX
PUSH EAX
PUSH EBX
PUSH dword ptr [EBP + 0xfffffe38]
CALL 0x00072b90
LEA EAX,[EBP + 0xfffffed8]
MOV EDX,dword ptr [EBP + 0xfffffeb8]
ADD ESP,0x10
LEA ECX,[EBP + 0xfffffed0]
MOV dword ptr [EBP + 0xfffffe28],EAX
MOV dword ptr [EBP + 0xfffffed0],EAX
MOV EAX,dword ptr [EBP + 0xfffffeb4]
PUSH 0x0
ADD EDX,EAX
MOV dword ptr [EBP + 0xfffffe34],ECX
PUSH EDX
PUSH EAX
PUSH ECX
CALL 0x0014fca0
MOV EBX,dword ptr [EBP + 0xfffffed4]
MOV ECX,0x1
ADD ESP,0x10
MOV word ptr [EBP + 0xfffffee8],CX
TEST EBX,EBX
JZ 0x002c03e0
MOV EAX,dword ptr [EBP + 0x8]
MOV EBX,dword ptr [EAX + 0x2188]
CMP EBX,dword ptr [EAX + 0x218c]
JZ 0x002c0410
LEA EAX,[EBX + 0x8]
MOV dword ptr [EBX],EAX
MOV EAX,dword ptr [EBP + 0xfffffed0]
MOV EDX,dword ptr [EBP + 0xfffffed4]
PUSH 0x0
ADD EDX,EAX
PUSH EDX
PUSH EAX
PUSH EBX
CALL 0x0014fca0
MOVZX EAX,byte ptr [EBP + 0xfffffee8]
ADD ESP,0x10
MOV byte ptr [EBX + 0x18],AL
MOVZX EAX,byte ptr [EBP + 0xfffffee9]
MOV byte ptr [EBX + 0x19],AL
MOV EAX,dword ptr [EBP + 0x8]
ADD dword ptr [EAX + 0x2188],0x1c
MOV EAX,dword ptr [EBP + 0xfffffed0]
CMP EAX,dword ptr [EBP + 0xfffffe28]
JZ 0x002c03a8
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xfffffe40]
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xfffffeb4]
CMP EAX,dword ptr [EBP + 0xfffffe24]
JZ 0x002c03c8
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xfffffe40]
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
CMP ESI,-0x1
JNZ 0x002c0276
JMP 0x002bfa51
MOV EBX,dword ptr [EBP + 0xfffffe40]
SUB ESP,0xc
PUSH 0x1
LEA EAX,[EBX + 0xffea35db]
PUSH EAX
PUSH 0x0
PUSH 0x0
PUSH dword ptr [EBP + 0xfffffe34]
CALL 0x003b6cc0
ADD ESP,0x20
JMP 0x002c0335
MOV EAX,dword ptr [EBP + 0x8]
SUB ESP,0x4
PUSH dword ptr [EBP + 0xfffffe34]
PUSH EBX
ADD EAX,0x2184
PUSH EAX
CALL 0x002c3140
ADD ESP,0x10
JMP 0x002c0388
SUB ESP,0xc
MOV EDI,dword ptr [EBP + 0xfffffe40]
PUSH ESI
MOV EBX,EDI
CALL 0x003f3f90
MOV EAX,dword ptr [ESI]
LEA ECX,[EDI + 0xffc950b0]
ADD ESP,0x10
MOV EDX,dword ptr [EAX + 0x18]
MOV EAX,0xa
CMP EDX,ECX
JZ 0x002bfbe4
SUB ESP,0x8
PUSH 0xa
PUSH ESI
CALL EDX
ADD ESP,0x10
MOVSX EAX,AL
JMP 0x002bfbe4
MOV EAX,dword ptr [EBP + 0xfffffe40]
MOV ECX,0x8
MOV ESI,EDX
LEA EDI,[EAX + 0xffe5e04d]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x002c0920
MOV EAX,dword ptr [EBP + 0xfffffe40]
MOV ECX,0x5
MOV ESI,EDX
LEA EDI,[EAX + 0xffe5e055]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x002c0bc0
MOV EAX,dword ptr [EBP + 0x8]
MOV dword ptr [EAX + 0x5a88],0x2
JMP 0x002bf966
MOV ECX,dword ptr [EBP + 0xfffffe40]
LEA EAX,[EBP + 0xfffffed8]
PUSH 0x0
LEA EBX,[EBP + 0xfffffed0]
MOV dword ptr [EBP + 0xfffffe28],EAX
MOV dword ptr [EBP + 0xfffffed0],EAX
LEA EAX,[ECX + 0xffea45ea]
PUSH EAX
LEA EAX,[ECX + 0xffea45d1]
PUSH EAX
PUSH EBX
MOV dword ptr [EBP + 0xfffffe34],EBX
CALL 0x00072b90
MOV EAX,dword ptr [EBP + 0xfffffed0]
MOV EDX,dword ptr [EBP + 0xfffffed4]
ADD ESP,0x10
LEA ESI,[EBP + 0xfffffe60]
PUSH 0x0
LEA EDI,[EBP + 0xfffffe68]
ADD EDX,EAX
MOV dword ptr [EBP + 0xfffffe60],EDI
PUSH EDX
PUSH EAX
PUSH ESI
CALL 0x0014fca0
MOV EAX,0x1
ADD ESP,0x10
MOV word ptr [EBP + 0xfffffe78],AX
MOV EAX,dword ptr [EBP + 0xfffffe64]
TEST EAX,EAX
JZ 0x002c0940
MOV EAX,dword ptr [EBP + 0x8]
ADD EAX,0x2184
MOV dword ptr [EBP + 0xfffffe2c],EAX
MOV EAX,dword ptr [EBP + 0x8]
MOV EBX,dword ptr [EAX + 0x2188]
CMP EBX,dword ptr [EAX + 0x218c]
JZ 0x002c0968
LEA EAX,[EBX + 0x8]
MOV dword ptr [EBX],EAX
MOV EAX,dword ptr [EBP + 0xfffffe60]
MOV EDX,dword ptr [EBP + 0xfffffe64]
PUSH 0x0
ADD EDX,EAX
PUSH EDX
PUSH EAX
PUSH EBX
CALL 0x0014fca0
MOVZX EAX,byte ptr [EBP + 0xfffffe78]
ADD ESP,0x10
MOV byte ptr [EBX + 0x18],AL
MOVZX EAX,byte ptr [EBP + 0xfffffe79]
MOV byte ptr [EBX + 0x19],AL
MOV EAX,dword ptr [EBP + 0x8]
ADD dword ptr [EAX + 0x2188],0x1c
MOV EAX,dword ptr [EBP + 0xfffffe60]
CMP EAX,EDI
JZ 0x002c05d1
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xfffffe40]
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xfffffed0]
CMP EAX,dword ptr [EBP + 0xfffffe28]
JZ 0x002c05f1
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xfffffe40]
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xfffffe28]
MOV ESI,dword ptr [EBP + 0xfffffe40]
PUSH 0x0
MOV dword ptr [EBP + 0xfffffed0],EAX
LEA EAX,[ESI + 0xffea45ea]
PUSH EAX
LEA EAX,[ESI + 0xffea45cd]
PUSH EAX
PUSH dword ptr [EBP + 0xfffffe34]
CALL 0x00072b90
MOV EAX,dword ptr [EBP + 0xfffffed0]
MOV EDX,dword ptr [EBP + 0xfffffed4]
ADD ESP,0x10
LEA ESI,[EBP + 0xfffffe7c]
PUSH 0x0
LEA EDI,[EBP + 0xfffffe84]
ADD EDX,EAX
MOV dword ptr [EBP + 0xfffffe7c],EDI
PUSH EDX
PUSH EAX
PUSH ESI
CALL 0x0014fca0
MOV EAX,0x1
ADD ESP,0x10
MOV word ptr [EBP + 0xfffffe94],AX
MOV EAX,dword ptr [EBP + 0xfffffe80]
TEST EAX,EAX
JZ 0x002c0ae0
MOV EAX,dword ptr [EBP + 0x8]
MOV EBX,dword ptr [EAX + 0x2188]
CMP EBX,dword ptr [EAX + 0x218c]
JZ 0x002c0b80
LEA EAX,[EBX + 0x8]
MOV dword ptr [EBX],EAX
MOV EAX,dword ptr [EBP + 0xfffffe7c]
MOV EDX,dword ptr [EBP + 0xfffffe80]
PUSH 0x0
ADD EDX,EAX
PUSH EDX
PUSH EAX
PUSH EBX
CALL 0x0014fca0
MOVZX EAX,byte ptr [EBP + 0xfffffe94]
ADD ESP,0x10
MOV byte ptr [EBX + 0x18],AL
MOVZX EAX,byte ptr [EBP + 0xfffffe95]
MOV byte ptr [EBX + 0x19],AL
MOV EAX,dword ptr [EBP + 0x8]
ADD dword ptr [EAX + 0x2188],0x1c
MOV EAX,dword ptr [EBP + 0xfffffe7c]
CMP EAX,EDI
JZ 0x002c06d7
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xfffffe40]
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xfffffed0]
CMP EAX,dword ptr [EBP + 0xfffffe28]
JZ 0x002c06f7
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xfffffe40]
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xfffffe28]
MOV EBX,dword ptr [EBP + 0xfffffe40]
PUSH 0x0
MOV dword ptr [EBP + 0xfffffed0],EAX
LEA EAX,[EBX + 0xffea45f3]
PUSH EAX
LEA EAX,[EBX + 0xffea45ef]
PUSH EAX
PUSH dword ptr [EBP + 0xfffffe34]
CALL 0x00072b90
MOV EAX,dword ptr [EBP + 0xfffffed0]
MOV EDX,dword ptr [EBP + 0xfffffed4]
ADD ESP,0x10
LEA ESI,[EBP + 0xfffffe98]
PUSH 0x0
LEA EDI,[EBP + 0xfffffea0]
ADD EDX,EAX
MOV dword ptr [EBP + 0xfffffe98],EDI
PUSH EDX
PUSH EAX
PUSH ESI
CALL 0x0014fca0
MOV EAX,0x1
ADD ESP,0x10
MOV word ptr [EBP + 0xfffffeb0],AX
MOV EAX,dword ptr [EBP + 0xfffffe9c]
TEST EAX,EAX
JZ 0x002c0b08
MOV EAX,dword ptr [EBP + 0x8]
MOV EBX,dword ptr [EAX + 0x2188]
CMP EBX,dword ptr [EAX + 0x218c]
JZ 0x002c0b60
LEA EAX,[EBX + 0x8]
MOV dword ptr [EBX],EAX
MOV EAX,dword ptr [EBP + 0xfffffe98]
MOV EDX,dword ptr [EBP + 0xfffffe9c]
PUSH 0x0
ADD EDX,EAX
PUSH EDX
PUSH EAX
PUSH EBX
CALL 0x0014fca0
MOVZX EAX,byte ptr [EBP + 0xfffffeb0]
ADD ESP,0x10
MOV byte ptr [EBX + 0x18],AL
MOVZX EAX,byte ptr [EBP + 0xfffffeb1]
MOV byte ptr [EBX + 0x19],AL
MOV EAX,dword ptr [EBP + 0x8]
ADD dword ptr [EAX + 0x2188],0x1c
MOV EAX,dword ptr [EBP + 0xfffffe98]
CMP EAX,EDI
JZ 0x002c07dd
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xfffffe40]
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xfffffed0]
CMP EAX,dword ptr [EBP + 0xfffffe28]
JZ 0x002c07fd
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xfffffe40]
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xfffffe28]
MOV EDI,dword ptr [EBP + 0xfffffe40]
PUSH 0x0
MOV dword ptr [EBP + 0xfffffed0],EAX
LEA EAX,[EDI + 0xffea45f3]
PUSH EAX
LEA EAX,[EDI + 0xffea45eb]
PUSH EAX
PUSH dword ptr [EBP + 0xfffffe34]
CALL 0x00072b90
LEA EAX,[EBP + 0xfffffebc]
MOV EDX,dword ptr [EBP + 0xfffffed4]
ADD ESP,0x10
LEA ECX,[EBP + 0xfffffeb4]
MOV dword ptr [EBP + 0xfffffe24],EAX
MOV dword ptr [EBP + 0xfffffeb4],EAX
MOV EAX,dword ptr [EBP + 0xfffffed0]
PUSH 0x0
ADD EDX,EAX
MOV dword ptr [EBP + 0xfffffe38],ECX
PUSH EDX
PUSH EAX
PUSH ECX
CALL 0x0014fca0
MOV EDI,dword ptr [EBP + 0xfffffeb8]
MOV ESI,0x1
ADD ESP,0x10
MOV word ptr [EBP + 0xfffffecc],SI
TEST EDI,EDI
JZ 0x002c0b30
MOV EAX,dword ptr [EBP + 0x8]
MOV EBX,dword ptr [EAX + 0x2188]
CMP EBX,dword ptr [EAX + 0x218c]
JZ 0x002c0ba0
LEA EAX,[EBX + 0x8]
MOV dword ptr [EBX],EAX
MOV EAX,dword ptr [EBP + 0xfffffeb4]
MOV EDX,dword ptr [EBP + 0xfffffeb8]
PUSH 0x0
ADD EDX,EAX
PUSH EDX
PUSH EAX
PUSH EBX
CALL 0x0014fca0
MOVZX EAX,byte ptr [EBP + 0xfffffecc]
ADD ESP,0x10
MOV byte ptr [EBX + 0x18],AL
MOVZX EAX,byte ptr [EBP + 0xfffffecd]
MOV byte ptr [EBX + 0x19],AL
MOV EAX,dword ptr [EBP + 0x8]
ADD dword ptr [EAX + 0x2188],0x1c
MOV EAX,dword ptr [EBP + 0xfffffeb4]
CMP EAX,dword ptr [EBP + 0xfffffe24]
JZ 0x002c08f3
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xfffffe40]
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xfffffed0]
CMP EAX,dword ptr [EBP + 0xfffffe28]
JZ 0x002c0913
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xfffffe40]
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
MOV ECX,dword ptr [EBP + 0xfffffe4c]
JMP 0x002c0258
MOV EAX,dword ptr [EBP + 0x8]
MOV dword ptr [EAX + 0x5a88],0x1
JMP 0x002bf966
XOR EDX,EDX
JMP 0x002bfd49
MOV EBX,dword ptr [EBP + 0xfffffe40]
SUB ESP,0xc
PUSH 0x1
LEA EAX,[EBX + 0xffea35db]
PUSH EAX
PUSH 0x0
PUSH 0x0
PUSH ESI
CALL 0x003b6cc0
ADD ESP,0x20
JMP 0x002c0554
SUB ESP,0x4
PUSH ESI
PUSH EBX
PUSH dword ptr [EBP + 0xfffffe2c]
CALL 0x002c3140
ADD ESP,0x10
JMP 0x002c05b5
MOV EBX,dword ptr [EBP + 0xfffffe40]
SUB ESP,0xc
LEA EAX,[EBX + 0xffea45b6]
PUSH EAX
CALL 0x00039550
ADD ESP,0x10
TEST EAX,EAX
MOV EAX,dword ptr [EBP + 0x8]
SETZ byte ptr [EAX + 0x5939]
JMP 0x002bf925
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xfffffe40]
PUSH ESI
CALL 0x00395b70
ADD ESP,0x10
TEST EAX,EAX
JZ 0x002c0ce4
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xfffffe40]
PUSH EAX
CALL 0x00395b20
ADD ESP,0x10
JMP 0x002bf925
MOV EDI,dword ptr [EBP + 0xfffffe40]
SUB ESP,0xc
LEA EAX,[EDI + 0xffea721c]
MOV EBX,EDI
PUSH EAX
CALL 0x00039440
MOV dword ptr [ESP],EAX
CALL 0x0023b840
MOV EAX,dword ptr [EBP + 0x8]
MOV EDI,dword ptr [EBP + 0xfffffe14]
ADD ESP,0x10
MOV dword ptr [EAX + 0x99c],EDI
JMP 0x002c00a3
MOV EDI,dword ptr [EBP + 0xfffffe40]
SUB ESP,0xc
LEA EAX,[EDI + 0xffea71f4]
MOV EBX,EDI
PUSH EAX
CALL 0x00039440
MOV dword ptr [ESP],EAX
CALL 0x0023b840
MOV EAX,dword ptr [EBP + 0x8]
ADD ESP,0x10
MOV dword ptr [EAX + 0x5934],0x0
JMP 0x002c0080
MOV ESI,dword ptr [EBP + 0xfffffe40]
SUB ESP,0xc
LEA EAX,[ESI + 0xffea71c4]
MOV EBX,ESI
PUSH EAX
CALL 0x00039440
MOV dword ptr [ESP],EAX
CALL 0x0023b840
MOV EAX,dword ptr [EBP + 0x8]
ADD ESP,0x10
MOV byte ptr [EAX + 0x18b1],0x0
JMP 0x002c006f
MOV EAX,dword ptr [ECX + 0x14]
SUB ESP,0x8
MOV EBX,dword ptr [EBP + 0xfffffe40]
OR EAX,0x4
PUSH EAX
PUSH ECX
CALL 0x003d7ed0
JMP 0x002bfb8b
SUB ESP,0x4
MOV EAX,0x2
CMP ECX,0x2
MOV EBX,dword ptr [EBP + 0xfffffe40]
CMOVA ECX,EAX
PUSH ECX
PUSH 0x0
PUSH dword ptr [EBP + 0xfffffe30]
CALL 0x003b5ec0
JMP 0x002c0910
MOV EBX,dword ptr [EBP + 0xfffffe40]
SUB ESP,0xc
PUSH 0x1
LEA EAX,[EBX + 0xffea35db]
PUSH EAX
PUSH 0x0
PUSH 0x0
PUSH ESI
CALL 0x003b6cc0
ADD ESP,0x20
JMP 0x002c0668
MOV EBX,dword ptr [EBP + 0xfffffe40]
SUB ESP,0xc
PUSH 0x1
LEA EAX,[EBX + 0xffea35db]
PUSH EAX
PUSH 0x0
PUSH 0x0
PUSH ESI
CALL 0x003b6cc0
ADD ESP,0x20
JMP 0x002c076e
MOV EBX,dword ptr [EBP + 0xfffffe40]
SUB ESP,0xc
PUSH 0x1
LEA EAX,[EBX + 0xffea35db]
PUSH EAX
PUSH 0x0
PUSH 0x0
PUSH dword ptr [EBP + 0xfffffe38]
CALL 0x003b6cc0
ADD ESP,0x20
JMP 0x002c0880
SUB ESP,0x4
PUSH ESI
PUSH EBX
PUSH dword ptr [EBP + 0xfffffe2c]
CALL 0x002c3140
ADD ESP,0x10
JMP 0x002c07c1
SUB ESP,0x4
PUSH ESI
PUSH EBX
PUSH dword ptr [EBP + 0xfffffe2c]
CALL 0x002c3140
ADD ESP,0x10
JMP 0x002c06bb
SUB ESP,0x4
PUSH dword ptr [EBP + 0xfffffe38]
PUSH EBX
PUSH dword ptr [EBP + 0xfffffe2c]
CALL 0x002c3140
ADD ESP,0x10
JMP 0x002c08d3
MOV EAX,dword ptr [EBP + 0xfffffe40]
MOV ECX,0x6
MOV ESI,EDX
LEA EDI,[EAX + 0xffeb9a7e]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x002bf966
MOV EAX,dword ptr [EBP + 0x8]
MOV dword ptr [EAX + 0x5a88],0x3
JMP 0x002bf966
MOV EBX,dword ptr [EBP + 0xfffffe40]
CALL 0x003f3900
MOV ESI,dword ptr [EBP + 0xfffffe40]
SUB ESP,0xc
FSTP qword ptr [EBP + 0xfffffe38]
LEA EAX,[ESI + 0xffea7010]
MOV EBX,ESI
PUSH EAX
CALL 0x00039440
FLD qword ptr [EBP + 0xfffffe38]
MOV dword ptr [ESP],EAX
FSTP qword ptr [ESP + 0x4]
CALL 0x0023b7b0
MOV EBX,dword ptr [EBP + 0xfffffe40]
PUSH EAX
PUSH EDI
LEA EAX,[EBX + 0xffe9be05]
PUSH EAX
LEA EAX,[EBX + 0xffe9c1a0]
PUSH EAX
CALL 0x003f3b10
MOV ESI,dword ptr [EBP + 0xfffffe40]
SUB ESP,0xc
LEA EAX,[ESI + 0xffea6fd0]
MOV EBX,ESI
PUSH EAX
CALL 0x00039440
MOV dword ptr [ESP],EAX
CALL 0x0023b7b0
MOV ESI,dword ptr [EBP + 0xfffffe40]
SUB ESP,0xc
LEA EAX,[ESI + 0xffea6edc]
MOV EBX,ESI
PUSH EAX
CALL 0x00039440
MOV dword ptr [ESP],EAX
CALL 0x0023b7b0
MOV ESI,dword ptr [EBP + 0xfffffe40]
SUB ESP,0xc
LEA EAX,[ESI + 0xffea6f24]
MOV EBX,ESI
PUSH EAX
CALL 0x00039440
MOV dword ptr [ESP],EAX
CALL 0x0023b7b0
MOV ESI,dword ptr [EBP + 0xfffffe40]
SUB ESP,0xc
LEA EAX,[ESI + 0xffea45f4]
MOV EBX,ESI
PUSH EAX
CALL 0x00039440
MOV dword ptr [ESP],EAX
CALL 0x0023b7b0
MOV ESI,dword ptr [EBP + 0xfffffe40]
SUB ESP,0xc
LEA EAX,[ESI + 0xffea6f44]
MOV EBX,ESI
PUSH EAX
CALL 0x00039440
MOV dword ptr [ESP],EAX
CALL 0x0023b7b0
MOV EBX,dword ptr [EBP + 0xfffffe40]
PUSH EDI
PUSH EDI
LEA EAX,[EBX + 0xffea4598]
PUSH ESI
PUSH EAX
CALL 0x0023b7b0
MOV ESI,dword ptr [EBP + 0xfffffe40]
SUB ESP,0xc
LEA EAX,[ESI + 0xffea6f70]
MOV EBX,ESI
PUSH EAX
CALL 0x00039440
MOV dword ptr [ESP],EAX
CALL 0x0023b7b0
MOV ESI,dword ptr [EBP + 0xfffffe40]
MOV EBX,ESI
CALL 0x00039480
SUB ESP,0xc
PUSH dword ptr [EAX]
CALL 0x00039810
MOV ECX,dword ptr [EBP + 0xfffffe40]
MOV EDI,EAX
MOV EAX,dword ptr [EBP + 0x8]
MOV EBX,ECX
MOV ESI,dword ptr [EAX + 0x3288]
LEA EAX,[ECX + 0xffea6e84]
MOV dword ptr [ESP],EAX
CALL 0x00039440
ADD ESP,0xc
MOV EBX,dword ptr [EBP + 0xfffffe40]
PUSH EDI
PUSH ESI
PUSH EAX
CALL 0x0023b7b0
MOV EDI,dword ptr [EBP + 0xfffffe40]
SUB ESP,0xc
LEA EAX,[EDI + 0xffea7160]
MOV EBX,EDI
PUSH EAX
CALL 0x00039440
MOV dword ptr [ESP],EAX
CALL 0x0023b7b0
MOV ESI,dword ptr [EBP + 0xfffffe40]
SUB ESP,0xc
LEA EAX,[ESI + 0xffea7194]
MOV EBX,ESI
PUSH EAX
CALL 0x00039440
MOV dword ptr [ESP],EAX
CALL 0x0023b7b0
MOV EDI,dword ptr [EBP + 0xfffffe40]
SUB ESP,0xc
LEA EAX,[EDI + 0xffea7050]
MOV EBX,EDI
PUSH EAX
CALL 0x00039440
MOV dword ptr [ESP],EAX
CALL 0x0023b7b0
MOV EDI,dword ptr [EBP + 0xfffffe40]
SUB ESP,0xc
LEA EAX,[EDI + 0xffea70c0]
MOV EBX,EDI
PUSH EAX
CALL 0x00039440
MOV dword ptr [ESP],EAX
CALL 0x0023b7b0
MOV EDI,dword ptr [EBP + 0xfffffe40]
SUB ESP,0xc
LEA EAX,[EDI + 0xffea70f0]
MOV EBX,EDI
PUSH EAX
CALL 0x00039440
MOV dword ptr [ESP],EAX
CALL 0x0023b7b0
MOV ESI,dword ptr [EBP + 0xfffffe40]
SUB ESP,0xc
LEA EAX,[ESI + 0xffea712c]
MOV EBX,ESI
PUSH EAX
CALL 0x00039440
MOV dword ptr [ESP],EAX
CALL 0x0023b7b0
MOV ESI,dword ptr [EBP + 0xfffffe40]
SUB ESP,0xc
LEA EAX,[ESI + 0xffea6eb4]
MOV EBX,ESI
PUSH EAX
CALL 0x00039440
MOV dword ptr [ESP],EAX
CALL 0x0023b7b0
MOV EBX,dword ptr [EBP + 0xfffffe40]
CALL 0x003f3900
MOV ESI,dword ptr [EBP + 0xfffffe40]
SUB ESP,0xc
LEA EAX,[ESI + 0xffea6f00]
MOV EBX,ESI
PUSH EAX
CALL 0x00039440
MOV dword ptr [ESP],EAX
CALL 0x0023b7b0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nvoid FUN_002bf7f0(int param_1)\n\n{\n  double dVar1;\n  undefined **ppuVar2;\n  undefined1 **ppuVar3;\n  undefined **ppuVar4;\n  char cVar5;\n  uint uVar6;\n  int *piVar7;\n  undefined4 *puVar8;\n  size_t sVar9;\n  uint uVar10;\n  undefined4 uVar11;\n  char *pcVar12;\n  undefined4 uVar13;\n  int iVar14;\n  undefined *puVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  bool bVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  undefined4 uStackY_230;\n  undefined1 auStack_20c [12];\n  undefined **local_200;\n  undefined **local_1fc;\n  undefined *local_1f8;\n  undefined ***local_1f4;\n  byte *local_1f0;\n  undefined1 *local_1ec;\n  undefined ***local_1e8;\n  undefined1 *local_1e4;\n  undefined1 *local_1e0;\n  undefined ***local_1dc;\n  uint local_1d8;\n  undefined1 **local_1d4;\n  undefined ***local_1d0;\n  double local_1cc;\n  undefined **local_1c4;\n  undefined1 local_1c0 [4];\n  undefined1 *local_1bc;\n  uint local_1b8;\n  undefined1 local_1b4 [16];\n  undefined1 *local_1a4;\n  int local_1a0;\n  undefined1 local_19c [16];\n  undefined2 local_18c;\n  undefined1 *local_188;\n  int local_184;\n  undefined1 local_180 [16];\n  undefined2 local_170;\n  undefined1 *local_16c;\n  int local_168;\n  undefined1 local_164 [16];\n  undefined2 local_154;\n  undefined1 *local_150;\n  int local_14c;\n  undefined1 local_148 [16];\n  undefined2 local_138;\n  undefined ***local_134;\n  int local_130;\n  undefined **local_12c [4];\n  undefined2 local_11c;\n  undefined1 local_110 [28];\n  undefined1 local_f4 [60];\n  int aiStack_b8 [5];\n  undefined **local_a4 [5];\n  byte local_90;\n  undefined4 local_34;\n  undefined2 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  bVar25 = 0;\n  local_1c4 = &__DT_PLTGOT;\n  if (*(char *)(param_1 + 0x3469) == '\0') {\n    if (*(char *)(param_1 + 0x34e5) != '\0') goto LAB_002bfd3a;\n    if (*(char *)(param_1 + 0x3561) != '\0') {\n      bVar24 = false;\n      goto LAB_002bfd49;\n    }\n    bVar24 = false;\n    if (*(char *)(param_1 + 0x7a9) != '\0') goto LAB_002bfd5c;\n  }\n  else {\n    *(undefined1 *)(param_1 + 0x34e5) = 1;\nLAB_002bfd3a:\n    bVar24 = true;\n    *(undefined1 *)(param_1 + 0x3561) = 1;\nLAB_002bfd49:\n    *(undefined1 *)(param_1 + 0x35dd) = 1;\n    if (*(char *)(param_1 + 0x7a9) != '\0') {\nLAB_002bfd5c:\n      *(undefined1 *)(param_1 + 0x1a25) = 1;\n    }\n    if (((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')) &&\n       (*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24)) {\n      local_1c4 = &__DT_PLTGOT;\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1);\n    }\n  }\n  if (*(char *)(param_1 + 0xbcd) != '\0') {\n    *(undefined1 *)(param_1 + 0xb51) = 1;\n  }\n  if (*(char *)(param_1 + 0xc49) != '\0') {\n    *(undefined1 *)(param_1 + 0xb51) = 1;\n  }\n  if (*(char *)(param_1 + 0xb50) == '\0') {\n    local_1cc = (double)CONCAT71(local_1cc._1_7_,*(byte *)(param_1 + 0x318d));\n    *(byte *)(param_1 + 0xb51) = *(byte *)(param_1 + 0x318d) ^ 1;\n  }\n  bVar24 = *(char *)(param_1 + 0x4f31) == '\0';\n  if (bVar24) {\n    bVar24 = *(char *)(param_1 + 0x5545) == '\0';\n    if (!bVar24) {\n      *(undefined4 *)(param_1 + 0x5930) = 2;\n    }\n  }\n  else {\n    *(undefined4 *)(param_1 + 0x5930) = 1;\n  }\n  bVar22 = false;\n  iVar14 = 5;\n  local_1f0 = (byte *)0x48e342;\n  pbVar19 = *(byte **)(param_1 + 0x1bec);\n  pbVar20 = local_1f0;\n  do {\n    pbVar21 = pbVar20;\n    if (iVar14 == 0) break;\n    iVar14 = iVar14 + -1;\n    pbVar21 = pbVar20 + 1;\n    bVar22 = *pbVar19 < *pbVar20;\n    bVar24 = *pbVar19 == *pbVar20;\n    pbVar19 = pbVar19 + 1;\n    pbVar20 = pbVar21;\n  } while (bVar24);\n  bVar23 = false;\n  bVar24 = (!bVar22 && !bVar24) == bVar22;\n  if (bVar24) {\n    *(undefined4 *)(param_1 + 0x5934) = 0;\n  }\n  else {\n    iVar14 = 5;\n    pbVar19 = *(byte **)(param_1 + 0x1bec);\n    pbVar20 = (byte *)0x48dc94;\n    do {\n      pbVar21 = pbVar20;\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      pbVar21 = pbVar20 + 1;\n      bVar23 = *pbVar19 < *pbVar20;\n      bVar24 = *pbVar19 == *pbVar20;\n      pbVar19 = pbVar19 + 1;\n      pbVar20 = pbVar21;\n    } while (bVar24);\n    *(uint *)(param_1 + 0x5934) = ((!bVar23 && !bVar24) == bVar23) + 1;\n  }\n  if (*(char *)(param_1 + 0xd4c) == '\0') {\n    if (*(char *)(param_1 + 0xd90) == '\0') {\n      local_1c4 = &__DT_PLTGOT;\n      pcVar12 = getenv("COLLECT_NO_DEMANGLE");\n      *(bool *)(param_1 + 0x5939) = pcVar12 == (char *)0x0;\n    }\n    else {\n      *(undefined1 *)(param_1 + 0x5939) = 0;\n    }\n  }\n  else {\n    pcVar12 = *(char **)(param_1 + 0xd50);\n    *(undefined1 *)(param_1 + 0x5939) = 1;\n    local_1c4 = &__DT_PLTGOT;\n    if (*pcVar12 != '\0') {\n      iVar14 = FUN_00395b70(pcVar12);\n      if (iVar14 == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);\n      }\n      FUN_00395b20(iVar14);\n    }\n  }\n  ppuVar4 = local_1c4;\n  bVar24 = false;\n  bVar22 = *(char *)(param_1 + 0x2870) == '\0';\n  if (!bVar22) {\n    pbVar19 = *(byte **)(param_1 + 0x2874);\n    iVar14 = 6;\n    pbVar20 = pbVar19;\n    pbVar21 = (byte *)((int)local_1c4 + -0x1477fe);\n    do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      bVar24 = *pbVar20 < *pbVar21;\n      bVar22 = *pbVar20 == *pbVar21;\n      pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n      pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar24 = (!bVar24 && !bVar22) == bVar24;\n    if (bVar24) {\n      *(undefined4 *)(param_1 + 0x5a88) = 0;\n    }\n    else {\n      iVar14 = 8;\n      pbVar20 = pbVar19;\n      pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar23 = *pbVar20 < *pbVar21;\n        bVar24 = *pbVar20 == *pbVar21;\n        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      bVar22 = false;\n      bVar24 = (!bVar23 && !bVar24) == bVar23;\n      if (bVar24) {\n        *(undefined4 *)(param_1 + 0x5a88) = 1;\n      }\n      else {\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }\n    }\n  }\n  if ((*(char *)(param_1 + 0x2401) != '\0') && (*(char *)(param_1 + 0x247c) == '\0')) {\n    *(undefined1 *)(param_1 + 0x247c) = 1;\n    *(undefined ***)(param_1 + 0x2480) = local_1c4 + -0x573ca;\n  }\n  if ((*(char *)(param_1 + 0x24c1) != '\0') || (*(char *)(param_1 + 0x253d) != '\0')) {\n    *(undefined1 *)(param_1 + 0x5938) = 1;\n  }\n  iVar14 = *(int *)(param_1 + 0x3de8);\n  if (0 < iVar14) {\n    if (*(int *)(param_1 + 0x3e2c) == 0) {\n      *(int *)(param_1 + 0x3e2c) = iVar14;\n    }\n    if (*(int *)(param_1 + 0x3e70) == 0) {\n      *(int *)(param_1 + 0x3e70) = iVar14;\n    }\n    if (*(int *)(param_1 + 0x3eb4) == 0) {\n      *(int *)(param_1 + 0x3eb4) = iVar14;\n    }\n  }\n  local_1d4 = &local_1bc;\n  local_1b4[0] = 0;\n  local_1ec = local_1b4;\n  local_1b8 = 0;\n  local_1bc = local_1ec;\n  if (*(char *)(param_1 + 0x4ca8) == '\0') {\n    if (*(char *)(param_1 + 0x2729) == '\0') {\n      local_1dc = local_12c;\n      local_1d0 = (undefined ***)&local_134;\n      local_134 = local_1dc;\n                    /* try { // try from 002c0505 to 002c0509 has its CatchHandler @ 002c0e87 */\n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);\n      local_1a4 = local_19c;\n                    /* try { // try from 002c0532 to 002c0536 has its CatchHandler @ 002c0ef5 */\n      FUN_0014fca0(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_18c = 1;\n      if (local_1a0 == 0) {\n                    /* try { // try from 002c0957 to 002c095b has its CatchHandler @ 002c0e8e */\n        FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      local_1d8 = param_1 + 0x2184;\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0973 to 002c0977 has its CatchHandler @ 002c0e95 */\n        FUN_002c3140(local_1d8,piVar7,&local_1a4);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c058f to 002c0593 has its CatchHandler @ 002c0e95 */\n        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_1a4 != local_19c) {\n        FUN_003ae080(local_1a4);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    /* try { // try from 002c0619 to 002c061d has its CatchHandler @ 002c0e87 */\n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);\n      local_188 = local_180;\n                    /* try { // try from 002c0646 to 002c064a has its CatchHandler @ 002c0ecd */\n      FUN_0014fca0(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_170 = 1;\n      if (local_184 == 0) {\n                    /* try { // try from 002c0af7 to 002c0afb has its CatchHandler @ 002c0eb8 */\n        FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0b8b to 002c0b8f has its CatchHandler @ 002c0ebf */\n        FUN_002c3140(local_1d8,piVar7,&local_188);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c0695 to 002c0699 has its CatchHandler @ 002c0ebf */\n        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_188 != local_180) {\n        FUN_003ae080(local_188);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    /* try { // try from 002c071f to 002c0723 has its CatchHandler @ 002c0e87 */\n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);\n      local_16c = local_164;\n                    /* try { // try from 002c074c to 002c0750 has its CatchHandler @ 002c0ec6 */\n      FUN_0014fca0(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_154 = 1;\n      if (local_168 == 0) {\n                    /* try { // try from 002c0b1f to 002c0b23 has its CatchHandler @ 002c0eb1 */\n        FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0b6b to 002c0b6f has its CatchHandler @ 002c0e9c */\n        FUN_002c3140(local_1d8,piVar7,&local_16c);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c079b to 002c079f has its CatchHandler @ 002c0e9c */\n        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_16c != local_164) {\n        FUN_003ae080(local_16c);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    /* try { // try from 002c0825 to 002c0829 has its CatchHandler @ 002c0e87 */\n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);\n      local_1e0 = local_148;\n      local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n      local_150 = local_1e0;\n                    /* try { // try from 002c085e to 002c0862 has its CatchHandler @ 002c0e6b */\n      FUN_0014fca0(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_138 = 1;\n      if (local_14c == 0) {\n                    /* try { // try from 002c0b4c to 002c0b50 has its CatchHandler @ 002c0eaa */\n        FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0bb0 to 002c0bb4 has its CatchHandler @ 002c0e64 */\n        FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c08ad to 002c08b1 has its CatchHandler @ 002c0e64 */\n        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_150 != local_1e0) {\n        FUN_003ae080(local_150);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      goto LAB_002c0258;\n    }\n  }\n  else {\n    pcVar12 = *(char **)(param_1 + 0x4cac);\n    sVar9 = strlen(pcVar12);\n    ppuVar3 = local_1d4;\n                    /* try { // try from 002c022e to 002c02de has its CatchHandler @ 002c0e87 */\n    FUN_003b6cc0(local_1d4,0,0,pcVar12,sVar9);\n    iVar14 = FUN_003b86a0(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36);\n    if (iVar14 == 0) {\n      uVar6 = local_1b8;\n      if (2 < local_1b8) {\n        uVar6 = 2;\n      }\n                    /* try { // try from 002c0acd to 002c0ad1 has its CatchHandler @ 002c0e87 */\n      FUN_003b5ec0(local_1d4,0,uVar6);\n    }\nLAB_002c0258:\n    uVar6 = 0;\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n    if (local_1b8 != 0) {\n      do {\n        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);\n        uVar16 = 0xffffffff;\n        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    /* WARNING: Subroutine does not return */\n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    /* try { // try from 002c0313 to 002c0317 has its CatchHandler @ 002c0ea3 */\n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */\n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */\n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */\n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }\n        uVar6 = iVar14 + 1;\n      } while( true );\n    }\n  }\n  ppuVar4 = local_1c4;\n  puVar17 = auStack_20c;\n  puVar18 = auStack_20c;\n  if (*(int *)(param_1 + 0x3288) != 0) {\n    local_1e8 = local_a4;\n    local_1d0 = (undefined ***)&local_134;\n    FUN_003f2f70(local_1e8);\n    local_1fc = ppuVar4 + -0xa0e;\n    local_34 = 0;\n    local_2c = 0;\n    local_a4[0] = ppuVar4 + -0xa0c;\n    local_30 = 0;\n    local_28 = 0;\n    local_1f4 = (undefined ***)ppuVar4[-0x9d3];\n    local_1f8 = ppuVar4[-0x9d2];\n    local_24 = 0;\n    local_20 = 0;\n    local_134 = local_1f4;\n    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;\n    local_130 = 0;\n                    /* try { // try from 002bfb07 to 002bfb0b has its CatchHandler @ 002c0ee2 */\n    FUN_003d8720((int)local_1f4[-3] + (int)&local_134,0);\n    local_200 = ppuVar4 + -0x9d0;\n    local_134 = (undefined ***)(ppuVar4 + -0x9cd);\n    local_a4[0] = ppuVar4 + -0x9c8;\n    local_1dc = local_12c;\n                    /* try { // try from 002bfb39 to 002bfb3d has its CatchHandler @ 002c0ed4 */\n    FUN_003da940(local_12c);\n                    /* try { // try from 002bfb47 to 002bfb4b has its CatchHandler @ 002c0e79 */\n    FUN_003d8720(local_1e8,local_12c);\n                    /* try { // try from 002bfb5b to 002bfb8a has its CatchHandler @ 002c0e80 */\n    iVar14 = FUN_003dec20(local_12c,*(undefined4 *)(param_1 + 0x3288),8);\n    puVar15 = (undefined *)((int)local_1d0 + (int)local_134[-3]);\n    if (iVar14 == 0) {\n                    /* try { // try from 002c0aa1 to 002c0aa5 has its CatchHandler @ 002c0e80 */\n      FUN_003d7ed0(puVar15,*(uint *)(puVar15 + 0x14) | 4);\n    }\n    else {\n      FUN_003d7ed0(puVar15,0);\n    }\n    ppuVar4 = local_1c4;\n    if ((local_90 & 5) != 0) {\n      piVar7 = __errno_location();\n      pcVar12 = strerror(*piVar7);\n      uVar11 = *(undefined4 *)(param_1 + 0x3288);\n      uVar13 = gettext(local_1c4 + -0x5645f);\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d5c to 002c0d60 has its CatchHandler @ 002c0e80 */\n      FUN_0023b7b0(uVar13,uVar11,pcVar12);\n    }\n    local_1e0 = local_148;\n    local_148[0] = 0;\n    local_14c = 0;\n    piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n    local_150 = local_1e0;\n    if (piVar7 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e40 to 002c0e44 has its CatchHandler @ 002c0edb */\n      FUN_003f3900();\n    }\n    if ((char)piVar7[7] == '\0') {\n                    /* try { // try from 002c043c to 002c0463 has its CatchHandler @ 002c0edb */\n      FUN_003f3f90(piVar7);\n      iVar14 = 10;\n      if (*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4) {\n        cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);\n        iVar14 = (int)cVar5;\n      }\n    }\n    else {\n      iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n    }\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n                    /* try { // try from 002bfc01 to 002bfc46 has its CatchHandler @ 002c0edb */\n    FUN_003aef80(local_1d0,&local_150,iVar14);\n    local_1d4 = (undefined1 **)(param_1 + 0x5a3c);\n    local_1e4 = local_1c0;\n    while ((local_90 & 5) == 0) {\n      if ((local_14c != 0) && (local_150[local_14c + -1] == '\r')) {\n        *(undefined4 *)(puVar17 + -8) = 0;\n        *(int *)(puVar17 + -0xc) = local_14c + -1;\n        *(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;\n                    /* try { // try from 002c0182 to 002c0186 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2c0187;\n        FUN_003b6a50();\n      }\n      *(undefined4 *)(puVar17 + -8) = 0xc70f6907;\n      *(int *)(puVar17 + -0xc) = local_14c;\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc8a;\n      uVar6 = FUN_003ac580();\n      local_1d8 = uVar6 % *(uint *)(param_1 + 0x5a40);\n      *(uint *)(puVar17 + -0x14) = uVar6;\n      *(undefined4 *)(puVar17 + -0x18) = local_1cc._0_4_;\n      *(uint *)(puVar17 + -0x1c) = local_1d8;\n      *(undefined1 ***)(puVar17 + -0x20) = local_1d4;\n      *(undefined4 *)(puVar17 + -0x24) = 0x2bfcb0;\n      piVar7 = (int *)FUN_0022ed10();\n      if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n        *(undefined4 *)(puVar17 + -0x10) = 0x20;\n                    /* try { // try from 002bfdcb to 002bfdcf has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;\n        puVar8 = (undefined4 *)FUN_003ac4d0();\n        *puVar8 = 0;\n        puVar8[1] = puVar8 + 3;\n        *(undefined4 *)(puVar17 + -4) = 0;\n        *(undefined1 **)(puVar17 + -8) = local_150 + local_14c;\n        *(undefined1 **)(puVar17 + -0xc) = local_150;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;\n                    /* try { // try from 002bfdf7 to 002bfdfb has its CatchHandler @ 002c0ee9 */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;\n        FUN_0014fca0();\n        *(undefined4 *)(puVar17 + -0xc) = 1;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8;\n        *(uint *)(puVar17 + -0x14) = uVar6;\n        *(uint *)(puVar17 + -0x18) = local_1d8;\n        *(undefined1 ***)(puVar17 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar17 + -0x20) = local_1e4;\n                    /* try { // try from 002bfe14 to 002bfe18 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;\n        FUN_002c4660();\n        puVar17 = puVar17 + -4;\n      }\n      ppuVar4 = local_1c4;\n      piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n      if (piVar7 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0bfa to 002c0bfe has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -4) = 0x2c0bff;\n        FUN_003f3900();\n      }\n      if ((char)piVar7[7] == '\0') {\n        *(int **)(puVar17 + -0x10) = piVar7;\n                    /* try { // try from 002bfcf3 to 002bfd1a has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;\n        FUN_003f3f90();\n        ppuVar2 = *(undefined ***)(*piVar7 + 0x18);\n        iVar14 = 10;\n        if (ppuVar2 != ppuVar4 + -0xdabd4) {\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }\n      }\n      else {\n        iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n      }\n      *(int *)(puVar17 + -8) = iVar14;\n      *(undefined4 *)(puVar17 + -0xc) = local_1cc._0_4_;\n      *(undefined ****)(puVar17 + -0x10) = local_1d0;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc47;\n      FUN_003aef80();\n    }\n    if (local_150 != local_1e0) {\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfe3f;\n      FUN_003ae080();\n    }\n    ppuVar4 = local_1c4;\n    *(undefined ****)(puVar17 + -0x10) = local_1dc;\n    local_134 = (undefined ***)(local_200 + 3);\n    local_a4[0] = local_200 + 8;\n    local_12c[0] = local_1c4 + -0x9ec;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe7f;\n    FUN_003de160();\n    *(undefined1 **)(puVar17 + -0x10) = local_f4;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe8d;\n    FUN_003ae8c0();\n    local_12c[0] = ppuVar4 + -0xbd1;\n    *(undefined1 **)(puVar17 + -0x10) = local_110;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeaa;\n    FUN_003b07e0();\n    local_134 = local_1f4;\n    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;\n    local_130 = 0;\n    local_a4[0] = local_1fc + 2;\n    *(undefined ****)(puVar17 + -0x10) = local_1e8;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeeb;\n    FUN_003f3310();\n    puVar18 = puVar17;\n  }\n  if ((*(char *)(param_1 + 0x72d) != '\0') && (*(char *)(param_1 + 0x42e0) == '\0')) {\n    *(int *)(param_1 + 0x42e4) = (int)local_1c4 + -0x1a1f9b;\n  }\n  if ((*(char *)(param_1 + 0x1a25) != '\0') && (*(char *)(param_1 + 0x1fc) == '\0')) {\n    *(undefined1 *)(param_1 + 0x1fd) = 1;\n  }\n  *(int *)(puVar18 + -0x10) = param_1;\n                    /* try { // try from 002bff3a to 002c016a has its CatchHandler @ 002c0e87 */\n  *(undefined4 *)(puVar18 + -0x14) = 0x2bff3f;\n  FUN_002b6130();\n  if (*(char *)(param_1 + 0x1a25) == '\0') {\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      if (*(char *)(param_1 + 0x5938) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e5f to 002c0e63 has its CatchHandler @ 002c0e87 */\n        *(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;\n        FUN_0023b7b0();\n      }\n      if (*(char *)(param_1 + 0x318d) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;\n        FUN_0023b7b0();\n      }\n    }\n    if (*(int *)(param_1 + 0x1478) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5642f;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0cdc;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ce4;\n      FUN_0023b7b0();\n    }\n    if (*(int *)(param_1 + 0x1428) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56424;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d10;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d13 to 002c0d17 has its CatchHandler @ 002c0e87 */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d18;\n      FUN_0023b7b0();\n    }\n    if ((*(char *)(param_1 + 0x318d) != '\0') && (*(int *)(param_1 + 0x3288) != 0)) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56418;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0163;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined **)(puVar18 + -0x14) = &UNK_002c016b;\n      FUN_0023b7b0();\n    }\n  }\n  else {\n    if (*(char *)(param_1 + 0x5938) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e32;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c87;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x318d) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6;\n      FUN_0023b7b0();\n    }\n  }\n  *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(param_1 + 0x27ec);\n  *(undefined4 *)(puVar18 + -0x14) = 0x2bff90;\n  iVar14 = FUN_002b5ab0();\n  if ((iVar14 != 0) &&\n     (((*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')) ||\n      (*(char *)(param_1 + 0x318d) != '\0')))) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5640c;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c60;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c68;\n    FUN_0023b7b0();\n  }\n  if ((*(char *)(param_1 + 0x1ae4) != '\0') &&\n     ((dVar1 = *(double *)(param_1 + 0x1ae8), dVar1 < 0.0 || (1.0 <= dVar1)))) {\n    local_1cc = dVar1;\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563fc;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c1c;\n    uVar11 = gettext();\n    dVar1 = local_1cc;\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(double *)(puVar18 + -0xc) = dVar1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0c29 to 002c0ce3 has its CatchHandler @ 002c0e87 */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c2e;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x5a1c) == '\0') {\n    if (*(int *)(param_1 + 0x5a10) == 0) goto LAB_002c00a3;\n  }\n  else if (*(int *)(param_1 + 0x5a10) == 0) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563ec;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0db6;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dbe;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x318d) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563d0;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dd5;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0ddd;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x3095) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563c4;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0df4;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dfc;\n    FUN_0023b7b0();\n  }\n  if (*(int *)(param_1 + 0x593c) != 0) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563b5;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e13;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e1b;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x56b9) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563a8;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d78;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d7b to 002c0e39 has its CatchHandler @ 002c0e87 */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d80;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x2931) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5639b;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d97;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d9f;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x18b1) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5638f;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a6f;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a77;\n    FUN_0023b840();\n    *(undefined1 *)(param_1 + 0x18b1) = 0;\n  }\n  bVar22 = *(int *)(param_1 + 0x5934) == 0;\n  bVar24 = !bVar22;\n  if (bVar24) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56383;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a37;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a3f;\n    FUN_0023b840();\n    *(undefined4 *)(param_1 + 0x5934) = 0;\n  }\n  bVar24 = bVar24 && (undefined1 *)0xffffffef < puVar18 + -0x10;\n  bVar22 = bVar22 || puVar18 == (undefined1 *)0x0;\n  iVar14 = 5;\n  pbVar19 = *(byte **)(param_1 + 0x99c);\n  pbVar20 = local_1f0;\n  do {\n    if (iVar14 == 0) break;\n    iVar14 = iVar14 + -1;\n    bVar24 = *pbVar19 < *pbVar20;\n    bVar22 = *pbVar19 == *pbVar20;\n    pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n  } while (bVar22);\n  if ((!bVar24 && !bVar22) != bVar24) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56379;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c09ff;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* try { // try from 002c0a02 to 002c0a76 has its CatchHandler @ 002c0e87 */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a07;\n    FUN_0023b840();\n    *(byte **)(param_1 + 0x99c) = local_1f0;\n  }\nLAB_002c00a3:\n  if (*(char *)(param_1 + 0x3344) != '\0') {\n    *(undefined1 *)(param_1 + 0x32c9) = 1;\n  }\n  if (local_1bc != local_1ec) {\n    *(undefined1 **)(puVar18 + -0x10) = local_1bc;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c00d3;\n    FUN_003ae080();\n  }\n  return;\n}\n\n" comment (function_definition "void FUN_002bf7f0(int param_1)\n\n{\n  double dVar1;\n  undefined **ppuVar2;\n  undefined1 **ppuVar3;\n  undefined **ppuVar4;\n  char cVar5;\n  uint uVar6;\n  int *piVar7;\n  undefined4 *puVar8;\n  size_t sVar9;\n  uint uVar10;\n  undefined4 uVar11;\n  char *pcVar12;\n  undefined4 uVar13;\n  int iVar14;\n  undefined *puVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  bool bVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  undefined4 uStackY_230;\n  undefined1 auStack_20c [12];\n  undefined **local_200;\n  undefined **local_1fc;\n  undefined *local_1f8;\n  undefined ***local_1f4;\n  byte *local_1f0;\n  undefined1 *local_1ec;\n  undefined ***local_1e8;\n  undefined1 *local_1e4;\n  undefined1 *local_1e0;\n  undefined ***local_1dc;\n  uint local_1d8;\n  undefined1 **local_1d4;\n  undefined ***local_1d0;\n  double local_1cc;\n  undefined **local_1c4;\n  undefined1 local_1c0 [4];\n  undefined1 *local_1bc;\n  uint local_1b8;\n  undefined1 local_1b4 [16];\n  undefined1 *local_1a4;\n  int local_1a0;\n  undefined1 local_19c [16];\n  undefined2 local_18c;\n  undefined1 *local_188;\n  int local_184;\n  undefined1 local_180 [16];\n  undefined2 local_170;\n  undefined1 *local_16c;\n  int local_168;\n  undefined1 local_164 [16];\n  undefined2 local_154;\n  undefined1 *local_150;\n  int local_14c;\n  undefined1 local_148 [16];\n  undefined2 local_138;\n  undefined ***local_134;\n  int local_130;\n  undefined **local_12c [4];\n  undefined2 local_11c;\n  undefined1 local_110 [28];\n  undefined1 local_f4 [60];\n  int aiStack_b8 [5];\n  undefined **local_a4 [5];\n  byte local_90;\n  undefined4 local_34;\n  undefined2 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  bVar25 = 0;\n  local_1c4 = &__DT_PLTGOT;\n  if (*(char *)(param_1 + 0x3469) == '\0') {\n    if (*(char *)(param_1 + 0x34e5) != '\0') goto LAB_002bfd3a;\n    if (*(char *)(param_1 + 0x3561) != '\0') {\n      bVar24 = false;\n      goto LAB_002bfd49;\n    }\n    bVar24 = false;\n    if (*(char *)(param_1 + 0x7a9) != '\0') goto LAB_002bfd5c;\n  }\n  else {\n    *(undefined1 *)(param_1 + 0x34e5) = 1;\nLAB_002bfd3a:\n    bVar24 = true;\n    *(undefined1 *)(param_1 + 0x3561) = 1;\nLAB_002bfd49:\n    *(undefined1 *)(param_1 + 0x35dd) = 1;\n    if (*(char *)(param_1 + 0x7a9) != '\0') {\nLAB_002bfd5c:\n      *(undefined1 *)(param_1 + 0x1a25) = 1;\n    }\n    if (((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')) &&\n       (*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24)) {\n      local_1c4 = &__DT_PLTGOT;\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1);\n    }\n  }\n  if (*(char *)(param_1 + 0xbcd) != '\0') {\n    *(undefined1 *)(param_1 + 0xb51) = 1;\n  }\n  if (*(char *)(param_1 + 0xc49) != '\0') {\n    *(undefined1 *)(param_1 + 0xb51) = 1;\n  }\n  if (*(char *)(param_1 + 0xb50) == '\0') {\n    local_1cc = (double)CONCAT71(local_1cc._1_7_,*(byte *)(param_1 + 0x318d));\n    *(byte *)(param_1 + 0xb51) = *(byte *)(param_1 + 0x318d) ^ 1;\n  }\n  bVar24 = *(char *)(param_1 + 0x4f31) == '\0';\n  if (bVar24) {\n    bVar24 = *(char *)(param_1 + 0x5545) == '\0';\n    if (!bVar24) {\n      *(undefined4 *)(param_1 + 0x5930) = 2;\n    }\n  }\n  else {\n    *(undefined4 *)(param_1 + 0x5930) = 1;\n  }\n  bVar22 = false;\n  iVar14 = 5;\n  local_1f0 = (byte *)0x48e342;\n  pbVar19 = *(byte **)(param_1 + 0x1bec);\n  pbVar20 = local_1f0;\n  do {\n    pbVar21 = pbVar20;\n    if (iVar14 == 0) break;\n    iVar14 = iVar14 + -1;\n    pbVar21 = pbVar20 + 1;\n    bVar22 = *pbVar19 < *pbVar20;\n    bVar24 = *pbVar19 == *pbVar20;\n    pbVar19 = pbVar19 + 1;\n    pbVar20 = pbVar21;\n  } while (bVar24);\n  bVar23 = false;\n  bVar24 = (!bVar22 && !bVar24) == bVar22;\n  if (bVar24) {\n    *(undefined4 *)(param_1 + 0x5934) = 0;\n  }\n  else {\n    iVar14 = 5;\n    pbVar19 = *(byte **)(param_1 + 0x1bec);\n    pbVar20 = (byte *)0x48dc94;\n    do {\n      pbVar21 = pbVar20;\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      pbVar21 = pbVar20 + 1;\n      bVar23 = *pbVar19 < *pbVar20;\n      bVar24 = *pbVar19 == *pbVar20;\n      pbVar19 = pbVar19 + 1;\n      pbVar20 = pbVar21;\n    } while (bVar24);\n    *(uint *)(param_1 + 0x5934) = ((!bVar23 && !bVar24) == bVar23) + 1;\n  }\n  if (*(char *)(param_1 + 0xd4c) == '\0') {\n    if (*(char *)(param_1 + 0xd90) == '\0') {\n      local_1c4 = &__DT_PLTGOT;\n      pcVar12 = getenv("COLLECT_NO_DEMANGLE");\n      *(bool *)(param_1 + 0x5939) = pcVar12 == (char *)0x0;\n    }\n    else {\n      *(undefined1 *)(param_1 + 0x5939) = 0;\n    }\n  }\n  else {\n    pcVar12 = *(char **)(param_1 + 0xd50);\n    *(undefined1 *)(param_1 + 0x5939) = 1;\n    local_1c4 = &__DT_PLTGOT;\n    if (*pcVar12 != '\0') {\n      iVar14 = FUN_00395b70(pcVar12);\n      if (iVar14 == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);\n      }\n      FUN_00395b20(iVar14);\n    }\n  }\n  ppuVar4 = local_1c4;\n  bVar24 = false;\n  bVar22 = *(char *)(param_1 + 0x2870) == '\0';\n  if (!bVar22) {\n    pbVar19 = *(byte **)(param_1 + 0x2874);\n    iVar14 = 6;\n    pbVar20 = pbVar19;\n    pbVar21 = (byte *)((int)local_1c4 + -0x1477fe);\n    do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      bVar24 = *pbVar20 < *pbVar21;\n      bVar22 = *pbVar20 == *pbVar21;\n      pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n      pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar24 = (!bVar24 && !bVar22) == bVar24;\n    if (bVar24) {\n      *(undefined4 *)(param_1 + 0x5a88) = 0;\n    }\n    else {\n      iVar14 = 8;\n      pbVar20 = pbVar19;\n      pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar23 = *pbVar20 < *pbVar21;\n        bVar24 = *pbVar20 == *pbVar21;\n        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      bVar22 = false;\n      bVar24 = (!bVar23 && !bVar24) == bVar23;\n      if (bVar24) {\n        *(undefined4 *)(param_1 + 0x5a88) = 1;\n      }\n      else {\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }\n    }\n  }\n  if ((*(char *)(param_1 + 0x2401) != '\0') && (*(char *)(param_1 + 0x247c) == '\0')) {\n    *(undefined1 *)(param_1 + 0x247c) = 1;\n    *(undefined ***)(param_1 + 0x2480) = local_1c4 + -0x573ca;\n  }\n  if ((*(char *)(param_1 + 0x24c1) != '\0') || (*(char *)(param_1 + 0x253d) != '\0')) {\n    *(undefined1 *)(param_1 + 0x5938) = 1;\n  }\n  iVar14 = *(int *)(param_1 + 0x3de8);\n  if (0 < iVar14) {\n    if (*(int *)(param_1 + 0x3e2c) == 0) {\n      *(int *)(param_1 + 0x3e2c) = iVar14;\n    }\n    if (*(int *)(param_1 + 0x3e70) == 0) {\n      *(int *)(param_1 + 0x3e70) = iVar14;\n    }\n    if (*(int *)(param_1 + 0x3eb4) == 0) {\n      *(int *)(param_1 + 0x3eb4) = iVar14;\n    }\n  }\n  local_1d4 = &local_1bc;\n  local_1b4[0] = 0;\n  local_1ec = local_1b4;\n  local_1b8 = 0;\n  local_1bc = local_1ec;\n  if (*(char *)(param_1 + 0x4ca8) == '\0') {\n    if (*(char *)(param_1 + 0x2729) == '\0') {\n      local_1dc = local_12c;\n      local_1d0 = (undefined ***)&local_134;\n      local_134 = local_1dc;\n                    /* try { // try from 002c0505 to 002c0509 has its CatchHandler @ 002c0e87 */\n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);\n      local_1a4 = local_19c;\n                    /* try { // try from 002c0532 to 002c0536 has its CatchHandler @ 002c0ef5 */\n      FUN_0014fca0(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_18c = 1;\n      if (local_1a0 == 0) {\n                    /* try { // try from 002c0957 to 002c095b has its CatchHandler @ 002c0e8e */\n        FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      local_1d8 = param_1 + 0x2184;\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0973 to 002c0977 has its CatchHandler @ 002c0e95 */\n        FUN_002c3140(local_1d8,piVar7,&local_1a4);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c058f to 002c0593 has its CatchHandler @ 002c0e95 */\n        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_1a4 != local_19c) {\n        FUN_003ae080(local_1a4);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    /* try { // try from 002c0619 to 002c061d has its CatchHandler @ 002c0e87 */\n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);\n      local_188 = local_180;\n                    /* try { // try from 002c0646 to 002c064a has its CatchHandler @ 002c0ecd */\n      FUN_0014fca0(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_170 = 1;\n      if (local_184 == 0) {\n                    /* try { // try from 002c0af7 to 002c0afb has its CatchHandler @ 002c0eb8 */\n        FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0b8b to 002c0b8f has its CatchHandler @ 002c0ebf */\n        FUN_002c3140(local_1d8,piVar7,&local_188);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c0695 to 002c0699 has its CatchHandler @ 002c0ebf */\n        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_188 != local_180) {\n        FUN_003ae080(local_188);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    /* try { // try from 002c071f to 002c0723 has its CatchHandler @ 002c0e87 */\n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);\n      local_16c = local_164;\n                    /* try { // try from 002c074c to 002c0750 has its CatchHandler @ 002c0ec6 */\n      FUN_0014fca0(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_154 = 1;\n      if (local_168 == 0) {\n                    /* try { // try from 002c0b1f to 002c0b23 has its CatchHandler @ 002c0eb1 */\n        FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0b6b to 002c0b6f has its CatchHandler @ 002c0e9c */\n        FUN_002c3140(local_1d8,piVar7,&local_16c);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c079b to 002c079f has its CatchHandler @ 002c0e9c */\n        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_16c != local_164) {\n        FUN_003ae080(local_16c);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    /* try { // try from 002c0825 to 002c0829 has its CatchHandler @ 002c0e87 */\n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);\n      local_1e0 = local_148;\n      local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n      local_150 = local_1e0;\n                    /* try { // try from 002c085e to 002c0862 has its CatchHandler @ 002c0e6b */\n      FUN_0014fca0(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_138 = 1;\n      if (local_14c == 0) {\n                    /* try { // try from 002c0b4c to 002c0b50 has its CatchHandler @ 002c0eaa */\n        FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0bb0 to 002c0bb4 has its CatchHandler @ 002c0e64 */\n        FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c08ad to 002c08b1 has its CatchHandler @ 002c0e64 */\n        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_150 != local_1e0) {\n        FUN_003ae080(local_150);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      goto LAB_002c0258;\n    }\n  }\n  else {\n    pcVar12 = *(char **)(param_1 + 0x4cac);\n    sVar9 = strlen(pcVar12);\n    ppuVar3 = local_1d4;\n                    /* try { // try from 002c022e to 002c02de has its CatchHandler @ 002c0e87 */\n    FUN_003b6cc0(local_1d4,0,0,pcVar12,sVar9);\n    iVar14 = FUN_003b86a0(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36);\n    if (iVar14 == 0) {\n      uVar6 = local_1b8;\n      if (2 < local_1b8) {\n        uVar6 = 2;\n      }\n                    /* try { // try from 002c0acd to 002c0ad1 has its CatchHandler @ 002c0e87 */\n      FUN_003b5ec0(local_1d4,0,uVar6);\n    }\nLAB_002c0258:\n    uVar6 = 0;\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n    if (local_1b8 != 0) {\n      do {\n        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);\n        uVar16 = 0xffffffff;\n        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    /* WARNING: Subroutine does not return */\n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    /* try { // try from 002c0313 to 002c0317 has its CatchHandler @ 002c0ea3 */\n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */\n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */\n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */\n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }\n        uVar6 = iVar14 + 1;\n      } while( true );\n    }\n  }\n  ppuVar4 = local_1c4;\n  puVar17 = auStack_20c;\n  puVar18 = auStack_20c;\n  if (*(int *)(param_1 + 0x3288) != 0) {\n    local_1e8 = local_a4;\n    local_1d0 = (undefined ***)&local_134;\n    FUN_003f2f70(local_1e8);\n    local_1fc = ppuVar4 + -0xa0e;\n    local_34 = 0;\n    local_2c = 0;\n    local_a4[0] = ppuVar4 + -0xa0c;\n    local_30 = 0;\n    local_28 = 0;\n    local_1f4 = (undefined ***)ppuVar4[-0x9d3];\n    local_1f8 = ppuVar4[-0x9d2];\n    local_24 = 0;\n    local_20 = 0;\n    local_134 = local_1f4;\n    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;\n    local_130 = 0;\n                    /* try { // try from 002bfb07 to 002bfb0b has its CatchHandler @ 002c0ee2 */\n    FUN_003d8720((int)local_1f4[-3] + (int)&local_134,0);\n    local_200 = ppuVar4 + -0x9d0;\n    local_134 = (undefined ***)(ppuVar4 + -0x9cd);\n    local_a4[0] = ppuVar4 + -0x9c8;\n    local_1dc = local_12c;\n                    /* try { // try from 002bfb39 to 002bfb3d has its CatchHandler @ 002c0ed4 */\n    FUN_003da940(local_12c);\n                    /* try { // try from 002bfb47 to 002bfb4b has its CatchHandler @ 002c0e79 */\n    FUN_003d8720(local_1e8,local_12c);\n                    /* try { // try from 002bfb5b to 002bfb8a has its CatchHandler @ 002c0e80 */\n    iVar14 = FUN_003dec20(local_12c,*(undefined4 *)(param_1 + 0x3288),8);\n    puVar15 = (undefined *)((int)local_1d0 + (int)local_134[-3]);\n    if (iVar14 == 0) {\n                    /* try { // try from 002c0aa1 to 002c0aa5 has its CatchHandler @ 002c0e80 */\n      FUN_003d7ed0(puVar15,*(uint *)(puVar15 + 0x14) | 4);\n    }\n    else {\n      FUN_003d7ed0(puVar15,0);\n    }\n    ppuVar4 = local_1c4;\n    if ((local_90 & 5) != 0) {\n      piVar7 = __errno_location();\n      pcVar12 = strerror(*piVar7);\n      uVar11 = *(undefined4 *)(param_1 + 0x3288);\n      uVar13 = gettext(local_1c4 + -0x5645f);\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d5c to 002c0d60 has its CatchHandler @ 002c0e80 */\n      FUN_0023b7b0(uVar13,uVar11,pcVar12);\n    }\n    local_1e0 = local_148;\n    local_148[0] = 0;\n    local_14c = 0;\n    piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n    local_150 = local_1e0;\n    if (piVar7 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e40 to 002c0e44 has its CatchHandler @ 002c0edb */\n      FUN_003f3900();\n    }\n    if ((char)piVar7[7] == '\0') {\n                    /* try { // try from 002c043c to 002c0463 has its CatchHandler @ 002c0edb */\n      FUN_003f3f90(piVar7);\n      iVar14 = 10;\n      if (*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4) {\n        cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);\n        iVar14 = (int)cVar5;\n      }\n    }\n    else {\n      iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n    }\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n                    /* try { // try from 002bfc01 to 002bfc46 has its CatchHandler @ 002c0edb */\n    FUN_003aef80(local_1d0,&local_150,iVar14);\n    local_1d4 = (undefined1 **)(param_1 + 0x5a3c);\n    local_1e4 = local_1c0;\n    while ((local_90 & 5) == 0) {\n      if ((local_14c != 0) && (local_150[local_14c + -1] == '\r')) {\n        *(undefined4 *)(puVar17 + -8) = 0;\n        *(int *)(puVar17 + -0xc) = local_14c + -1;\n        *(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;\n                    /* try { // try from 002c0182 to 002c0186 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2c0187;\n        FUN_003b6a50();\n      }\n      *(undefined4 *)(puVar17 + -8) = 0xc70f6907;\n      *(int *)(puVar17 + -0xc) = local_14c;\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc8a;\n      uVar6 = FUN_003ac580();\n      local_1d8 = uVar6 % *(uint *)(param_1 + 0x5a40);\n      *(uint *)(puVar17 + -0x14) = uVar6;\n      *(undefined4 *)(puVar17 + -0x18) = local_1cc._0_4_;\n      *(uint *)(puVar17 + -0x1c) = local_1d8;\n      *(undefined1 ***)(puVar17 + -0x20) = local_1d4;\n      *(undefined4 *)(puVar17 + -0x24) = 0x2bfcb0;\n      piVar7 = (int *)FUN_0022ed10();\n      if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n        *(undefined4 *)(puVar17 + -0x10) = 0x20;\n                    /* try { // try from 002bfdcb to 002bfdcf has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;\n        puVar8 = (undefined4 *)FUN_003ac4d0();\n        *puVar8 = 0;\n        puVar8[1] = puVar8 + 3;\n        *(undefined4 *)(puVar17 + -4) = 0;\n        *(undefined1 **)(puVar17 + -8) = local_150 + local_14c;\n        *(undefined1 **)(puVar17 + -0xc) = local_150;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;\n                    /* try { // try from 002bfdf7 to 002bfdfb has its CatchHandler @ 002c0ee9 */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;\n        FUN_0014fca0();\n        *(undefined4 *)(puVar17 + -0xc) = 1;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8;\n        *(uint *)(puVar17 + -0x14) = uVar6;\n        *(uint *)(puVar17 + -0x18) = local_1d8;\n        *(undefined1 ***)(puVar17 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar17 + -0x20) = local_1e4;\n                    /* try { // try from 002bfe14 to 002bfe18 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;\n        FUN_002c4660();\n        puVar17 = puVar17 + -4;\n      }\n      ppuVar4 = local_1c4;\n      piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n      if (piVar7 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0bfa to 002c0bfe has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -4) = 0x2c0bff;\n        FUN_003f3900();\n      }\n      if ((char)piVar7[7] == '\0') {\n        *(int **)(puVar17 + -0x10) = piVar7;\n                    /* try { // try from 002bfcf3 to 002bfd1a has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;\n        FUN_003f3f90();\n        ppuVar2 = *(undefined ***)(*piVar7 + 0x18);\n        iVar14 = 10;\n        if (ppuVar2 != ppuVar4 + -0xdabd4) {\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }\n      }\n      else {\n        iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n      }\n      *(int *)(puVar17 + -8) = iVar14;\n      *(undefined4 *)(puVar17 + -0xc) = local_1cc._0_4_;\n      *(undefined ****)(puVar17 + -0x10) = local_1d0;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc47;\n      FUN_003aef80();\n    }\n    if (local_150 != local_1e0) {\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfe3f;\n      FUN_003ae080();\n    }\n    ppuVar4 = local_1c4;\n    *(undefined ****)(puVar17 + -0x10) = local_1dc;\n    local_134 = (undefined ***)(local_200 + 3);\n    local_a4[0] = local_200 + 8;\n    local_12c[0] = local_1c4 + -0x9ec;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe7f;\n    FUN_003de160();\n    *(undefined1 **)(puVar17 + -0x10) = local_f4;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe8d;\n    FUN_003ae8c0();\n    local_12c[0] = ppuVar4 + -0xbd1;\n    *(undefined1 **)(puVar17 + -0x10) = local_110;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeaa;\n    FUN_003b07e0();\n    local_134 = local_1f4;\n    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;\n    local_130 = 0;\n    local_a4[0] = local_1fc + 2;\n    *(undefined ****)(puVar17 + -0x10) = local_1e8;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeeb;\n    FUN_003f3310();\n    puVar18 = puVar17;\n  }\n  if ((*(char *)(param_1 + 0x72d) != '\0') && (*(char *)(param_1 + 0x42e0) == '\0')) {\n    *(int *)(param_1 + 0x42e4) = (int)local_1c4 + -0x1a1f9b;\n  }\n  if ((*(char *)(param_1 + 0x1a25) != '\0') && (*(char *)(param_1 + 0x1fc) == '\0')) {\n    *(undefined1 *)(param_1 + 0x1fd) = 1;\n  }\n  *(int *)(puVar18 + -0x10) = param_1;\n                    /* try { // try from 002bff3a to 002c016a has its CatchHandler @ 002c0e87 */\n  *(undefined4 *)(puVar18 + -0x14) = 0x2bff3f;\n  FUN_002b6130();\n  if (*(char *)(param_1 + 0x1a25) == '\0') {\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      if (*(char *)(param_1 + 0x5938) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e5f to 002c0e63 has its CatchHandler @ 002c0e87 */\n        *(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;\n        FUN_0023b7b0();\n      }\n      if (*(char *)(param_1 + 0x318d) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;\n        FUN_0023b7b0();\n      }\n    }\n    if (*(int *)(param_1 + 0x1478) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5642f;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0cdc;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ce4;\n      FUN_0023b7b0();\n    }\n    if (*(int *)(param_1 + 0x1428) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56424;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d10;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d13 to 002c0d17 has its CatchHandler @ 002c0e87 */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d18;\n      FUN_0023b7b0();\n    }\n    if ((*(char *)(param_1 + 0x318d) != '\0') && (*(int *)(param_1 + 0x3288) != 0)) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56418;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0163;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined **)(puVar18 + -0x14) = &UNK_002c016b;\n      FUN_0023b7b0();\n    }\n  }\n  else {\n    if (*(char *)(param_1 + 0x5938) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e32;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c87;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x318d) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6;\n      FUN_0023b7b0();\n    }\n  }\n  *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(param_1 + 0x27ec);\n  *(undefined4 *)(puVar18 + -0x14) = 0x2bff90;\n  iVar14 = FUN_002b5ab0();\n  if ((iVar14 != 0) &&\n     (((*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')) ||\n      (*(char *)(param_1 + 0x318d) != '\0')))) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5640c;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c60;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c68;\n    FUN_0023b7b0();\n  }\n  if ((*(char *)(param_1 + 0x1ae4) != '\0') &&\n     ((dVar1 = *(double *)(param_1 + 0x1ae8), dVar1 < 0.0 || (1.0 <= dVar1)))) {\n    local_1cc = dVar1;\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563fc;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c1c;\n    uVar11 = gettext();\n    dVar1 = local_1cc;\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(double *)(puVar18 + -0xc) = dVar1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0c29 to 002c0ce3 has its CatchHandler @ 002c0e87 */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c2e;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x5a1c) == '\0') {\n    if (*(int *)(param_1 + 0x5a10) == 0) goto LAB_002c00a3;\n  }\n  else if (*(int *)(param_1 + 0x5a10) == 0) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563ec;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0db6;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dbe;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x318d) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563d0;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dd5;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0ddd;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x3095) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563c4;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0df4;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dfc;\n    FUN_0023b7b0();\n  }\n  if (*(int *)(param_1 + 0x593c) != 0) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563b5;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e13;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e1b;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x56b9) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563a8;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d78;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d7b to 002c0e39 has its CatchHandler @ 002c0e87 */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d80;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x2931) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5639b;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d97;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d9f;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x18b1) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5638f;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a6f;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a77;\n    FUN_0023b840();\n    *(undefined1 *)(param_1 + 0x18b1) = 0;\n  }\n  bVar22 = *(int *)(param_1 + 0x5934) == 0;\n  bVar24 = !bVar22;\n  if (bVar24) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56383;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a37;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a3f;\n    FUN_0023b840();\n    *(undefined4 *)(param_1 + 0x5934) = 0;\n  }\n  bVar24 = bVar24 && (undefined1 *)0xffffffef < puVar18 + -0x10;\n  bVar22 = bVar22 || puVar18 == (undefined1 *)0x0;\n  iVar14 = 5;\n  pbVar19 = *(byte **)(param_1 + 0x99c);\n  pbVar20 = local_1f0;\n  do {\n    if (iVar14 == 0) break;\n    iVar14 = iVar14 + -1;\n    bVar24 = *pbVar19 < *pbVar20;\n    bVar22 = *pbVar19 == *pbVar20;\n    pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n  } while (bVar22);\n  if ((!bVar24 && !bVar22) != bVar24) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56379;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c09ff;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* try { // try from 002c0a02 to 002c0a76 has its CatchHandler @ 002c0e87 */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a07;\n    FUN_0023b840();\n    *(byte **)(param_1 + 0x99c) = local_1f0;\n  }\nLAB_002c00a3:\n  if (*(char *)(param_1 + 0x3344) != '\0') {\n    *(undefined1 *)(param_1 + 0x32c9) = 1;\n  }\n  if (local_1bc != local_1ec) {\n    *(undefined1 **)(puVar18 + -0x10) = local_1bc;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c00d3;\n    FUN_003ae080();\n  }\n  return;\n}" primitive_type (function_declarator "FUN_002bf7f0(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  double dVar1;\n  undefined **ppuVar2;\n  undefined1 **ppuVar3;\n  undefined **ppuVar4;\n  char cVar5;\n  uint uVar6;\n  int *piVar7;\n  undefined4 *puVar8;\n  size_t sVar9;\n  uint uVar10;\n  undefined4 uVar11;\n  char *pcVar12;\n  undefined4 uVar13;\n  int iVar14;\n  undefined *puVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  bool bVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  undefined4 uStackY_230;\n  undefined1 auStack_20c [12];\n  undefined **local_200;\n  undefined **local_1fc;\n  undefined *local_1f8;\n  undefined ***local_1f4;\n  byte *local_1f0;\n  undefined1 *local_1ec;\n  undefined ***local_1e8;\n  undefined1 *local_1e4;\n  undefined1 *local_1e0;\n  undefined ***local_1dc;\n  uint local_1d8;\n  undefined1 **local_1d4;\n  undefined ***local_1d0;\n  double local_1cc;\n  undefined **local_1c4;\n  undefined1 local_1c0 [4];\n  undefined1 *local_1bc;\n  uint local_1b8;\n  undefined1 local_1b4 [16];\n  undefined1 *local_1a4;\n  int local_1a0;\n  undefined1 local_19c [16];\n  undefined2 local_18c;\n  undefined1 *local_188;\n  int local_184;\n  undefined1 local_180 [16];\n  undefined2 local_170;\n  undefined1 *local_16c;\n  int local_168;\n  undefined1 local_164 [16];\n  undefined2 local_154;\n  undefined1 *local_150;\n  int local_14c;\n  undefined1 local_148 [16];\n  undefined2 local_138;\n  undefined ***local_134;\n  int local_130;\n  undefined **local_12c [4];\n  undefined2 local_11c;\n  undefined1 local_110 [28];\n  undefined1 local_f4 [60];\n  int aiStack_b8 [5];\n  undefined **local_a4 [5];\n  byte local_90;\n  undefined4 local_34;\n  undefined2 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  bVar25 = 0;\n  local_1c4 = &__DT_PLTGOT;\n  if (*(char *)(param_1 + 0x3469) == '\0') {\n    if (*(char *)(param_1 + 0x34e5) != '\0') goto LAB_002bfd3a;\n    if (*(char *)(param_1 + 0x3561) != '\0') {\n      bVar24 = false;\n      goto LAB_002bfd49;\n    }\n    bVar24 = false;\n    if (*(char *)(param_1 + 0x7a9) != '\0') goto LAB_002bfd5c;\n  }\n  else {\n    *(undefined1 *)(param_1 + 0x34e5) = 1;\nLAB_002bfd3a:\n    bVar24 = true;\n    *(undefined1 *)(param_1 + 0x3561) = 1;\nLAB_002bfd49:\n    *(undefined1 *)(param_1 + 0x35dd) = 1;\n    if (*(char *)(param_1 + 0x7a9) != '\0') {\nLAB_002bfd5c:\n      *(undefined1 *)(param_1 + 0x1a25) = 1;\n    }\n    if (((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')) &&\n       (*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24)) {\n      local_1c4 = &__DT_PLTGOT;\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1);\n    }\n  }\n  if (*(char *)(param_1 + 0xbcd) != '\0') {\n    *(undefined1 *)(param_1 + 0xb51) = 1;\n  }\n  if (*(char *)(param_1 + 0xc49) != '\0') {\n    *(undefined1 *)(param_1 + 0xb51) = 1;\n  }\n  if (*(char *)(param_1 + 0xb50) == '\0') {\n    local_1cc = (double)CONCAT71(local_1cc._1_7_,*(byte *)(param_1 + 0x318d));\n    *(byte *)(param_1 + 0xb51) = *(byte *)(param_1 + 0x318d) ^ 1;\n  }\n  bVar24 = *(char *)(param_1 + 0x4f31) == '\0';\n  if (bVar24) {\n    bVar24 = *(char *)(param_1 + 0x5545) == '\0';\n    if (!bVar24) {\n      *(undefined4 *)(param_1 + 0x5930) = 2;\n    }\n  }\n  else {\n    *(undefined4 *)(param_1 + 0x5930) = 1;\n  }\n  bVar22 = false;\n  iVar14 = 5;\n  local_1f0 = (byte *)0x48e342;\n  pbVar19 = *(byte **)(param_1 + 0x1bec);\n  pbVar20 = local_1f0;\n  do {\n    pbVar21 = pbVar20;\n    if (iVar14 == 0) break;\n    iVar14 = iVar14 + -1;\n    pbVar21 = pbVar20 + 1;\n    bVar22 = *pbVar19 < *pbVar20;\n    bVar24 = *pbVar19 == *pbVar20;\n    pbVar19 = pbVar19 + 1;\n    pbVar20 = pbVar21;\n  } while (bVar24);\n  bVar23 = false;\n  bVar24 = (!bVar22 && !bVar24) == bVar22;\n  if (bVar24) {\n    *(undefined4 *)(param_1 + 0x5934) = 0;\n  }\n  else {\n    iVar14 = 5;\n    pbVar19 = *(byte **)(param_1 + 0x1bec);\n    pbVar20 = (byte *)0x48dc94;\n    do {\n      pbVar21 = pbVar20;\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      pbVar21 = pbVar20 + 1;\n      bVar23 = *pbVar19 < *pbVar20;\n      bVar24 = *pbVar19 == *pbVar20;\n      pbVar19 = pbVar19 + 1;\n      pbVar20 = pbVar21;\n    } while (bVar24);\n    *(uint *)(param_1 + 0x5934) = ((!bVar23 && !bVar24) == bVar23) + 1;\n  }\n  if (*(char *)(param_1 + 0xd4c) == '\0') {\n    if (*(char *)(param_1 + 0xd90) == '\0') {\n      local_1c4 = &__DT_PLTGOT;\n      pcVar12 = getenv("COLLECT_NO_DEMANGLE");\n      *(bool *)(param_1 + 0x5939) = pcVar12 == (char *)0x0;\n    }\n    else {\n      *(undefined1 *)(param_1 + 0x5939) = 0;\n    }\n  }\n  else {\n    pcVar12 = *(char **)(param_1 + 0xd50);\n    *(undefined1 *)(param_1 + 0x5939) = 1;\n    local_1c4 = &__DT_PLTGOT;\n    if (*pcVar12 != '\0') {\n      iVar14 = FUN_00395b70(pcVar12);\n      if (iVar14 == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);\n      }\n      FUN_00395b20(iVar14);\n    }\n  }\n  ppuVar4 = local_1c4;\n  bVar24 = false;\n  bVar22 = *(char *)(param_1 + 0x2870) == '\0';\n  if (!bVar22) {\n    pbVar19 = *(byte **)(param_1 + 0x2874);\n    iVar14 = 6;\n    pbVar20 = pbVar19;\n    pbVar21 = (byte *)((int)local_1c4 + -0x1477fe);\n    do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      bVar24 = *pbVar20 < *pbVar21;\n      bVar22 = *pbVar20 == *pbVar21;\n      pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n      pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar24 = (!bVar24 && !bVar22) == bVar24;\n    if (bVar24) {\n      *(undefined4 *)(param_1 + 0x5a88) = 0;\n    }\n    else {\n      iVar14 = 8;\n      pbVar20 = pbVar19;\n      pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar23 = *pbVar20 < *pbVar21;\n        bVar24 = *pbVar20 == *pbVar21;\n        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      bVar22 = false;\n      bVar24 = (!bVar23 && !bVar24) == bVar23;\n      if (bVar24) {\n        *(undefined4 *)(param_1 + 0x5a88) = 1;\n      }\n      else {\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }\n    }\n  }\n  if ((*(char *)(param_1 + 0x2401) != '\0') && (*(char *)(param_1 + 0x247c) == '\0')) {\n    *(undefined1 *)(param_1 + 0x247c) = 1;\n    *(undefined ***)(param_1 + 0x2480) = local_1c4 + -0x573ca;\n  }\n  if ((*(char *)(param_1 + 0x24c1) != '\0') || (*(char *)(param_1 + 0x253d) != '\0')) {\n    *(undefined1 *)(param_1 + 0x5938) = 1;\n  }\n  iVar14 = *(int *)(param_1 + 0x3de8);\n  if (0 < iVar14) {\n    if (*(int *)(param_1 + 0x3e2c) == 0) {\n      *(int *)(param_1 + 0x3e2c) = iVar14;\n    }\n    if (*(int *)(param_1 + 0x3e70) == 0) {\n      *(int *)(param_1 + 0x3e70) = iVar14;\n    }\n    if (*(int *)(param_1 + 0x3eb4) == 0) {\n      *(int *)(param_1 + 0x3eb4) = iVar14;\n    }\n  }\n  local_1d4 = &local_1bc;\n  local_1b4[0] = 0;\n  local_1ec = local_1b4;\n  local_1b8 = 0;\n  local_1bc = local_1ec;\n  if (*(char *)(param_1 + 0x4ca8) == '\0') {\n    if (*(char *)(param_1 + 0x2729) == '\0') {\n      local_1dc = local_12c;\n      local_1d0 = (undefined ***)&local_134;\n      local_134 = local_1dc;\n                    /* try { // try from 002c0505 to 002c0509 has its CatchHandler @ 002c0e87 */\n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);\n      local_1a4 = local_19c;\n                    /* try { // try from 002c0532 to 002c0536 has its CatchHandler @ 002c0ef5 */\n      FUN_0014fca0(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_18c = 1;\n      if (local_1a0 == 0) {\n                    /* try { // try from 002c0957 to 002c095b has its CatchHandler @ 002c0e8e */\n        FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      local_1d8 = param_1 + 0x2184;\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0973 to 002c0977 has its CatchHandler @ 002c0e95 */\n        FUN_002c3140(local_1d8,piVar7,&local_1a4);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c058f to 002c0593 has its CatchHandler @ 002c0e95 */\n        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_1a4 != local_19c) {\n        FUN_003ae080(local_1a4);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    /* try { // try from 002c0619 to 002c061d has its CatchHandler @ 002c0e87 */\n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);\n      local_188 = local_180;\n                    /* try { // try from 002c0646 to 002c064a has its CatchHandler @ 002c0ecd */\n      FUN_0014fca0(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_170 = 1;\n      if (local_184 == 0) {\n                    /* try { // try from 002c0af7 to 002c0afb has its CatchHandler @ 002c0eb8 */\n        FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0b8b to 002c0b8f has its CatchHandler @ 002c0ebf */\n        FUN_002c3140(local_1d8,piVar7,&local_188);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c0695 to 002c0699 has its CatchHandler @ 002c0ebf */\n        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_188 != local_180) {\n        FUN_003ae080(local_188);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    /* try { // try from 002c071f to 002c0723 has its CatchHandler @ 002c0e87 */\n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);\n      local_16c = local_164;\n                    /* try { // try from 002c074c to 002c0750 has its CatchHandler @ 002c0ec6 */\n      FUN_0014fca0(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_154 = 1;\n      if (local_168 == 0) {\n                    /* try { // try from 002c0b1f to 002c0b23 has its CatchHandler @ 002c0eb1 */\n        FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0b6b to 002c0b6f has its CatchHandler @ 002c0e9c */\n        FUN_002c3140(local_1d8,piVar7,&local_16c);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c079b to 002c079f has its CatchHandler @ 002c0e9c */\n        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_16c != local_164) {\n        FUN_003ae080(local_16c);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    /* try { // try from 002c0825 to 002c0829 has its CatchHandler @ 002c0e87 */\n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);\n      local_1e0 = local_148;\n      local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n      local_150 = local_1e0;\n                    /* try { // try from 002c085e to 002c0862 has its CatchHandler @ 002c0e6b */\n      FUN_0014fca0(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_138 = 1;\n      if (local_14c == 0) {\n                    /* try { // try from 002c0b4c to 002c0b50 has its CatchHandler @ 002c0eaa */\n        FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0bb0 to 002c0bb4 has its CatchHandler @ 002c0e64 */\n        FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c08ad to 002c08b1 has its CatchHandler @ 002c0e64 */\n        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_150 != local_1e0) {\n        FUN_003ae080(local_150);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      goto LAB_002c0258;\n    }\n  }\n  else {\n    pcVar12 = *(char **)(param_1 + 0x4cac);\n    sVar9 = strlen(pcVar12);\n    ppuVar3 = local_1d4;\n                    /* try { // try from 002c022e to 002c02de has its CatchHandler @ 002c0e87 */\n    FUN_003b6cc0(local_1d4,0,0,pcVar12,sVar9);\n    iVar14 = FUN_003b86a0(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36);\n    if (iVar14 == 0) {\n      uVar6 = local_1b8;\n      if (2 < local_1b8) {\n        uVar6 = 2;\n      }\n                    /* try { // try from 002c0acd to 002c0ad1 has its CatchHandler @ 002c0e87 */\n      FUN_003b5ec0(local_1d4,0,uVar6);\n    }\nLAB_002c0258:\n    uVar6 = 0;\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n    if (local_1b8 != 0) {\n      do {\n        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);\n        uVar16 = 0xffffffff;\n        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    /* WARNING: Subroutine does not return */\n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    /* try { // try from 002c0313 to 002c0317 has its CatchHandler @ 002c0ea3 */\n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */\n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */\n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */\n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }\n        uVar6 = iVar14 + 1;\n      } while( true );\n    }\n  }\n  ppuVar4 = local_1c4;\n  puVar17 = auStack_20c;\n  puVar18 = auStack_20c;\n  if (*(int *)(param_1 + 0x3288) != 0) {\n    local_1e8 = local_a4;\n    local_1d0 = (undefined ***)&local_134;\n    FUN_003f2f70(local_1e8);\n    local_1fc = ppuVar4 + -0xa0e;\n    local_34 = 0;\n    local_2c = 0;\n    local_a4[0] = ppuVar4 + -0xa0c;\n    local_30 = 0;\n    local_28 = 0;\n    local_1f4 = (undefined ***)ppuVar4[-0x9d3];\n    local_1f8 = ppuVar4[-0x9d2];\n    local_24 = 0;\n    local_20 = 0;\n    local_134 = local_1f4;\n    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;\n    local_130 = 0;\n                    /* try { // try from 002bfb07 to 002bfb0b has its CatchHandler @ 002c0ee2 */\n    FUN_003d8720((int)local_1f4[-3] + (int)&local_134,0);\n    local_200 = ppuVar4 + -0x9d0;\n    local_134 = (undefined ***)(ppuVar4 + -0x9cd);\n    local_a4[0] = ppuVar4 + -0x9c8;\n    local_1dc = local_12c;\n                    /* try { // try from 002bfb39 to 002bfb3d has its CatchHandler @ 002c0ed4 */\n    FUN_003da940(local_12c);\n                    /* try { // try from 002bfb47 to 002bfb4b has its CatchHandler @ 002c0e79 */\n    FUN_003d8720(local_1e8,local_12c);\n                    /* try { // try from 002bfb5b to 002bfb8a has its CatchHandler @ 002c0e80 */\n    iVar14 = FUN_003dec20(local_12c,*(undefined4 *)(param_1 + 0x3288),8);\n    puVar15 = (undefined *)((int)local_1d0 + (int)local_134[-3]);\n    if (iVar14 == 0) {\n                    /* try { // try from 002c0aa1 to 002c0aa5 has its CatchHandler @ 002c0e80 */\n      FUN_003d7ed0(puVar15,*(uint *)(puVar15 + 0x14) | 4);\n    }\n    else {\n      FUN_003d7ed0(puVar15,0);\n    }\n    ppuVar4 = local_1c4;\n    if ((local_90 & 5) != 0) {\n      piVar7 = __errno_location();\n      pcVar12 = strerror(*piVar7);\n      uVar11 = *(undefined4 *)(param_1 + 0x3288);\n      uVar13 = gettext(local_1c4 + -0x5645f);\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d5c to 002c0d60 has its CatchHandler @ 002c0e80 */\n      FUN_0023b7b0(uVar13,uVar11,pcVar12);\n    }\n    local_1e0 = local_148;\n    local_148[0] = 0;\n    local_14c = 0;\n    piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n    local_150 = local_1e0;\n    if (piVar7 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e40 to 002c0e44 has its CatchHandler @ 002c0edb */\n      FUN_003f3900();\n    }\n    if ((char)piVar7[7] == '\0') {\n                    /* try { // try from 002c043c to 002c0463 has its CatchHandler @ 002c0edb */\n      FUN_003f3f90(piVar7);\n      iVar14 = 10;\n      if (*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4) {\n        cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);\n        iVar14 = (int)cVar5;\n      }\n    }\n    else {\n      iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n    }\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n                    /* try { // try from 002bfc01 to 002bfc46 has its CatchHandler @ 002c0edb */\n    FUN_003aef80(local_1d0,&local_150,iVar14);\n    local_1d4 = (undefined1 **)(param_1 + 0x5a3c);\n    local_1e4 = local_1c0;\n    while ((local_90 & 5) == 0) {\n      if ((local_14c != 0) && (local_150[local_14c + -1] == '\r')) {\n        *(undefined4 *)(puVar17 + -8) = 0;\n        *(int *)(puVar17 + -0xc) = local_14c + -1;\n        *(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;\n                    /* try { // try from 002c0182 to 002c0186 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2c0187;\n        FUN_003b6a50();\n      }\n      *(undefined4 *)(puVar17 + -8) = 0xc70f6907;\n      *(int *)(puVar17 + -0xc) = local_14c;\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc8a;\n      uVar6 = FUN_003ac580();\n      local_1d8 = uVar6 % *(uint *)(param_1 + 0x5a40);\n      *(uint *)(puVar17 + -0x14) = uVar6;\n      *(undefined4 *)(puVar17 + -0x18) = local_1cc._0_4_;\n      *(uint *)(puVar17 + -0x1c) = local_1d8;\n      *(undefined1 ***)(puVar17 + -0x20) = local_1d4;\n      *(undefined4 *)(puVar17 + -0x24) = 0x2bfcb0;\n      piVar7 = (int *)FUN_0022ed10();\n      if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n        *(undefined4 *)(puVar17 + -0x10) = 0x20;\n                    /* try { // try from 002bfdcb to 002bfdcf has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;\n        puVar8 = (undefined4 *)FUN_003ac4d0();\n        *puVar8 = 0;\n        puVar8[1] = puVar8 + 3;\n        *(undefined4 *)(puVar17 + -4) = 0;\n        *(undefined1 **)(puVar17 + -8) = local_150 + local_14c;\n        *(undefined1 **)(puVar17 + -0xc) = local_150;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;\n                    /* try { // try from 002bfdf7 to 002bfdfb has its CatchHandler @ 002c0ee9 */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;\n        FUN_0014fca0();\n        *(undefined4 *)(puVar17 + -0xc) = 1;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8;\n        *(uint *)(puVar17 + -0x14) = uVar6;\n        *(uint *)(puVar17 + -0x18) = local_1d8;\n        *(undefined1 ***)(puVar17 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar17 + -0x20) = local_1e4;\n                    /* try { // try from 002bfe14 to 002bfe18 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;\n        FUN_002c4660();\n        puVar17 = puVar17 + -4;\n      }\n      ppuVar4 = local_1c4;\n      piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n      if (piVar7 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0bfa to 002c0bfe has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -4) = 0x2c0bff;\n        FUN_003f3900();\n      }\n      if ((char)piVar7[7] == '\0') {\n        *(int **)(puVar17 + -0x10) = piVar7;\n                    /* try { // try from 002bfcf3 to 002bfd1a has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;\n        FUN_003f3f90();\n        ppuVar2 = *(undefined ***)(*piVar7 + 0x18);\n        iVar14 = 10;\n        if (ppuVar2 != ppuVar4 + -0xdabd4) {\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }\n      }\n      else {\n        iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n      }\n      *(int *)(puVar17 + -8) = iVar14;\n      *(undefined4 *)(puVar17 + -0xc) = local_1cc._0_4_;\n      *(undefined ****)(puVar17 + -0x10) = local_1d0;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc47;\n      FUN_003aef80();\n    }\n    if (local_150 != local_1e0) {\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfe3f;\n      FUN_003ae080();\n    }\n    ppuVar4 = local_1c4;\n    *(undefined ****)(puVar17 + -0x10) = local_1dc;\n    local_134 = (undefined ***)(local_200 + 3);\n    local_a4[0] = local_200 + 8;\n    local_12c[0] = local_1c4 + -0x9ec;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe7f;\n    FUN_003de160();\n    *(undefined1 **)(puVar17 + -0x10) = local_f4;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe8d;\n    FUN_003ae8c0();\n    local_12c[0] = ppuVar4 + -0xbd1;\n    *(undefined1 **)(puVar17 + -0x10) = local_110;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeaa;\n    FUN_003b07e0();\n    local_134 = local_1f4;\n    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;\n    local_130 = 0;\n    local_a4[0] = local_1fc + 2;\n    *(undefined ****)(puVar17 + -0x10) = local_1e8;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeeb;\n    FUN_003f3310();\n    puVar18 = puVar17;\n  }\n  if ((*(char *)(param_1 + 0x72d) != '\0') && (*(char *)(param_1 + 0x42e0) == '\0')) {\n    *(int *)(param_1 + 0x42e4) = (int)local_1c4 + -0x1a1f9b;\n  }\n  if ((*(char *)(param_1 + 0x1a25) != '\0') && (*(char *)(param_1 + 0x1fc) == '\0')) {\n    *(undefined1 *)(param_1 + 0x1fd) = 1;\n  }\n  *(int *)(puVar18 + -0x10) = param_1;\n                    /* try { // try from 002bff3a to 002c016a has its CatchHandler @ 002c0e87 */\n  *(undefined4 *)(puVar18 + -0x14) = 0x2bff3f;\n  FUN_002b6130();\n  if (*(char *)(param_1 + 0x1a25) == '\0') {\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      if (*(char *)(param_1 + 0x5938) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e5f to 002c0e63 has its CatchHandler @ 002c0e87 */\n        *(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;\n        FUN_0023b7b0();\n      }\n      if (*(char *)(param_1 + 0x318d) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;\n        FUN_0023b7b0();\n      }\n    }\n    if (*(int *)(param_1 + 0x1478) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5642f;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0cdc;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ce4;\n      FUN_0023b7b0();\n    }\n    if (*(int *)(param_1 + 0x1428) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56424;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d10;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d13 to 002c0d17 has its CatchHandler @ 002c0e87 */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d18;\n      FUN_0023b7b0();\n    }\n    if ((*(char *)(param_1 + 0x318d) != '\0') && (*(int *)(param_1 + 0x3288) != 0)) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56418;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0163;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined **)(puVar18 + -0x14) = &UNK_002c016b;\n      FUN_0023b7b0();\n    }\n  }\n  else {\n    if (*(char *)(param_1 + 0x5938) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e32;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c87;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x318d) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6;\n      FUN_0023b7b0();\n    }\n  }\n  *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(param_1 + 0x27ec);\n  *(undefined4 *)(puVar18 + -0x14) = 0x2bff90;\n  iVar14 = FUN_002b5ab0();\n  if ((iVar14 != 0) &&\n     (((*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')) ||\n      (*(char *)(param_1 + 0x318d) != '\0')))) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5640c;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c60;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c68;\n    FUN_0023b7b0();\n  }\n  if ((*(char *)(param_1 + 0x1ae4) != '\0') &&\n     ((dVar1 = *(double *)(param_1 + 0x1ae8), dVar1 < 0.0 || (1.0 <= dVar1)))) {\n    local_1cc = dVar1;\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563fc;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c1c;\n    uVar11 = gettext();\n    dVar1 = local_1cc;\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(double *)(puVar18 + -0xc) = dVar1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0c29 to 002c0ce3 has its CatchHandler @ 002c0e87 */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c2e;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x5a1c) == '\0') {\n    if (*(int *)(param_1 + 0x5a10) == 0) goto LAB_002c00a3;\n  }\n  else if (*(int *)(param_1 + 0x5a10) == 0) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563ec;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0db6;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dbe;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x318d) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563d0;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dd5;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0ddd;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x3095) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563c4;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0df4;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dfc;\n    FUN_0023b7b0();\n  }\n  if (*(int *)(param_1 + 0x593c) != 0) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563b5;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e13;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e1b;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x56b9) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563a8;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d78;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d7b to 002c0e39 has its CatchHandler @ 002c0e87 */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d80;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x2931) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5639b;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d97;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d9f;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x18b1) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5638f;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a6f;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a77;\n    FUN_0023b840();\n    *(undefined1 *)(param_1 + 0x18b1) = 0;\n  }\n  bVar22 = *(int *)(param_1 + 0x5934) == 0;\n  bVar24 = !bVar22;\n  if (bVar24) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56383;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a37;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a3f;\n    FUN_0023b840();\n    *(undefined4 *)(param_1 + 0x5934) = 0;\n  }\n  bVar24 = bVar24 && (undefined1 *)0xffffffef < puVar18 + -0x10;\n  bVar22 = bVar22 || puVar18 == (undefined1 *)0x0;\n  iVar14 = 5;\n  pbVar19 = *(byte **)(param_1 + 0x99c);\n  pbVar20 = local_1f0;\n  do {\n    if (iVar14 == 0) break;\n    iVar14 = iVar14 + -1;\n    bVar24 = *pbVar19 < *pbVar20;\n    bVar22 = *pbVar19 == *pbVar20;\n    pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n  } while (bVar22);\n  if ((!bVar24 && !bVar22) != bVar24) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56379;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c09ff;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* try { // try from 002c0a02 to 002c0a76 has its CatchHandler @ 002c0e87 */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a07;\n    FUN_0023b840();\n    *(byte **)(param_1 + 0x99c) = local_1f0;\n  }\nLAB_002c00a3:\n  if (*(char *)(param_1 + 0x3344) != '\0') {\n    *(undefined1 *)(param_1 + 0x32c9) = 1;\n  }\n  if (local_1bc != local_1ec) {\n    *(undefined1 **)(puVar18 + -0x10) = local_1bc;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c00d3;\n    FUN_003ae080();\n  }\n  return;\n}" { (declaration "double dVar1;" primitive_type identifier ;) (declaration "undefined **ppuVar2;" type_identifier (pointer_declarator "**ppuVar2" * (pointer_declarator "*ppuVar2" * identifier)) ;) (declaration "undefined1 **ppuVar3;" type_identifier (pointer_declarator "**ppuVar3" * (pointer_declarator "*ppuVar3" * identifier)) ;) (declaration "undefined **ppuVar4;" type_identifier (pointer_declarator "**ppuVar4" * (pointer_declarator "*ppuVar4" * identifier)) ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "size_t sVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "undefined1 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "undefined1 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "byte *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "byte *pbVar21;" type_identifier (pointer_declarator "*pbVar21" * identifier) ;) (declaration "bool bVar22;" primitive_type identifier ;) (declaration "bool bVar23;" primitive_type identifier ;) (declaration "bool bVar24;" primitive_type identifier ;) (declaration "byte bVar25;" type_identifier identifier ;) (declaration "undefined4 uStackY_230;" type_identifier identifier ;) (declaration "undefined1 auStack_20c [12];" type_identifier (array_declarator "auStack_20c [12]" identifier [ number_literal ]) ;) (declaration "undefined **local_200;" type_identifier (pointer_declarator "**local_200" * (pointer_declarator "*local_200" * identifier)) ;) (declaration "undefined **local_1fc;" type_identifier (pointer_declarator "**local_1fc" * (pointer_declarator "*local_1fc" * identifier)) ;) (declaration "undefined *local_1f8;" type_identifier (pointer_declarator "*local_1f8" * identifier) ;) (declaration "undefined ***local_1f4;" type_identifier (pointer_declarator "***local_1f4" * (pointer_declarator "**local_1f4" * (pointer_declarator "*local_1f4" * identifier))) ;) (declaration "byte *local_1f0;" type_identifier (pointer_declarator "*local_1f0" * identifier) ;) (declaration "undefined1 *local_1ec;" type_identifier (pointer_declarator "*local_1ec" * identifier) ;) (declaration "undefined ***local_1e8;" type_identifier (pointer_declarator "***local_1e8" * (pointer_declarator "**local_1e8" * (pointer_declarator "*local_1e8" * identifier))) ;) (declaration "undefined1 *local_1e4;" type_identifier (pointer_declarator "*local_1e4" * identifier) ;) (declaration "undefined1 *local_1e0;" type_identifier (pointer_declarator "*local_1e0" * identifier) ;) (declaration "undefined ***local_1dc;" type_identifier (pointer_declarator "***local_1dc" * (pointer_declarator "**local_1dc" * (pointer_declarator "*local_1dc" * identifier))) ;) (declaration "uint local_1d8;" type_identifier identifier ;) (declaration "undefined1 **local_1d4;" type_identifier (pointer_declarator "**local_1d4" * (pointer_declarator "*local_1d4" * identifier)) ;) (declaration "undefined ***local_1d0;" type_identifier (pointer_declarator "***local_1d0" * (pointer_declarator "**local_1d0" * (pointer_declarator "*local_1d0" * identifier))) ;) (declaration "double local_1cc;" primitive_type identifier ;) (declaration "undefined **local_1c4;" type_identifier (pointer_declarator "**local_1c4" * (pointer_declarator "*local_1c4" * identifier)) ;) (declaration "undefined1 local_1c0 [4];" type_identifier (array_declarator "local_1c0 [4]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_1bc;" type_identifier (pointer_declarator "*local_1bc" * identifier) ;) (declaration "uint local_1b8;" type_identifier identifier ;) (declaration "undefined1 local_1b4 [16];" type_identifier (array_declarator "local_1b4 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_1a4;" type_identifier (pointer_declarator "*local_1a4" * identifier) ;) (declaration "int local_1a0;" primitive_type identifier ;) (declaration "undefined1 local_19c [16];" type_identifier (array_declarator "local_19c [16]" identifier [ number_literal ]) ;) (declaration "undefined2 local_18c;" type_identifier identifier ;) (declaration "undefined1 *local_188;" type_identifier (pointer_declarator "*local_188" * identifier) ;) (declaration "int local_184;" primitive_type identifier ;) (declaration "undefined1 local_180 [16];" type_identifier (array_declarator "local_180 [16]" identifier [ number_literal ]) ;) (declaration "undefined2 local_170;" type_identifier identifier ;) (declaration "undefined1 *local_16c;" type_identifier (pointer_declarator "*local_16c" * identifier) ;) (declaration "int local_168;" primitive_type identifier ;) (declaration "undefined1 local_164 [16];" type_identifier (array_declarator "local_164 [16]" identifier [ number_literal ]) ;) (declaration "undefined2 local_154;" type_identifier identifier ;) (declaration "undefined1 *local_150;" type_identifier (pointer_declarator "*local_150" * identifier) ;) (declaration "int local_14c;" primitive_type identifier ;) (declaration "undefined1 local_148 [16];" type_identifier (array_declarator "local_148 [16]" identifier [ number_literal ]) ;) (declaration "undefined2 local_138;" type_identifier identifier ;) (declaration "undefined ***local_134;" type_identifier (pointer_declarator "***local_134" * (pointer_declarator "**local_134" * (pointer_declarator "*local_134" * identifier))) ;) (declaration "int local_130;" primitive_type identifier ;) (declaration "undefined **local_12c [4];" type_identifier (pointer_declarator "**local_12c [4]" * (pointer_declarator "*local_12c [4]" * (array_declarator "local_12c [4]" identifier [ number_literal ]))) ;) (declaration "undefined2 local_11c;" type_identifier identifier ;) (declaration "undefined1 local_110 [28];" type_identifier (array_declarator "local_110 [28]" identifier [ number_literal ]) ;) (declaration "undefined1 local_f4 [60];" type_identifier (array_declarator "local_f4 [60]" identifier [ number_literal ]) ;) (declaration "int aiStack_b8 [5];" primitive_type (array_declarator "aiStack_b8 [5]" identifier [ number_literal ]) ;) (declaration "undefined **local_a4 [5];" type_identifier (pointer_declarator "**local_a4 [5]" * (pointer_declarator "*local_a4 [5]" * (array_declarator "local_a4 [5]" identifier [ number_literal ]))) ;) (declaration "byte local_90;" type_identifier identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined2 local_30;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (expression_statement "bVar25 = 0;" (assignment_expression "bVar25 = 0" identifier = number_literal) ;) (expression_statement "local_1c4 = &__DT_PLTGOT;" (assignment_expression "local_1c4 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (if_statement "if (*(char *)(param_1 + 0x3469) == '\0') {\n    if (*(char *)(param_1 + 0x34e5) != '\0') goto LAB_002bfd3a;\n    if (*(char *)(param_1 + 0x3561) != '\0') {\n      bVar24 = false;\n      goto LAB_002bfd49;\n    }\n    bVar24 = false;\n    if (*(char *)(param_1 + 0x7a9) != '\0') goto LAB_002bfd5c;\n  }\n  else {\n    *(undefined1 *)(param_1 + 0x34e5) = 1;\nLAB_002bfd3a:\n    bVar24 = true;\n    *(undefined1 *)(param_1 + 0x3561) = 1;\nLAB_002bfd49:\n    *(undefined1 *)(param_1 + 0x35dd) = 1;\n    if (*(char *)(param_1 + 0x7a9) != '\0') {\nLAB_002bfd5c:\n      *(undefined1 *)(param_1 + 0x1a25) = 1;\n    }\n    if (((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')) &&\n       (*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24)) {\n      local_1c4 = &__DT_PLTGOT;\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1);\n    }\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0x3469) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x3469) == '\0'" (pointer_expression "*(char *)(param_1 + 0x3469)" * (cast_expression "(char *)(param_1 + 0x3469)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3469)" ( (binary_expression "param_1 + 0x3469" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (*(char *)(param_1 + 0x34e5) != '\0') goto LAB_002bfd3a;\n    if (*(char *)(param_1 + 0x3561) != '\0') {\n      bVar24 = false;\n      goto LAB_002bfd49;\n    }\n    bVar24 = false;\n    if (*(char *)(param_1 + 0x7a9) != '\0') goto LAB_002bfd5c;\n  }" { (if_statement "if (*(char *)(param_1 + 0x34e5) != '\0') goto LAB_002bfd3a;" if (parenthesized_expression "(*(char *)(param_1 + 0x34e5) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x34e5) != '\0'" (pointer_expression "*(char *)(param_1 + 0x34e5)" * (cast_expression "(char *)(param_1 + 0x34e5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34e5)" ( (binary_expression "param_1 + 0x34e5" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002bfd3a;" goto statement_identifier ;)) (if_statement "if (*(char *)(param_1 + 0x3561) != '\0') {\n      bVar24 = false;\n      goto LAB_002bfd49;\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x3561) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x3561) != '\0'" (pointer_expression "*(char *)(param_1 + 0x3561)" * (cast_expression "(char *)(param_1 + 0x3561)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3561)" ( (binary_expression "param_1 + 0x3561" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      bVar24 = false;\n      goto LAB_002bfd49;\n    }" { (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (goto_statement "goto LAB_002bfd49;" goto statement_identifier ;) })) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (if_statement "if (*(char *)(param_1 + 0x7a9) != '\0') goto LAB_002bfd5c;" if (parenthesized_expression "(*(char *)(param_1 + 0x7a9) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x7a9) != '\0'" (pointer_expression "*(char *)(param_1 + 0x7a9)" * (cast_expression "(char *)(param_1 + 0x7a9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x7a9)" ( (binary_expression "param_1 + 0x7a9" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002bfd5c;" goto statement_identifier ;)) }) (else_clause "else {\n    *(undefined1 *)(param_1 + 0x34e5) = 1;\nLAB_002bfd3a:\n    bVar24 = true;\n    *(undefined1 *)(param_1 + 0x3561) = 1;\nLAB_002bfd49:\n    *(undefined1 *)(param_1 + 0x35dd) = 1;\n    if (*(char *)(param_1 + 0x7a9) != '\0') {\nLAB_002bfd5c:\n      *(undefined1 *)(param_1 + 0x1a25) = 1;\n    }\n    if (((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')) &&\n       (*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24)) {\n      local_1c4 = &__DT_PLTGOT;\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1);\n    }\n  }" else (compound_statement "{\n    *(undefined1 *)(param_1 + 0x34e5) = 1;\nLAB_002bfd3a:\n    bVar24 = true;\n    *(undefined1 *)(param_1 + 0x3561) = 1;\nLAB_002bfd49:\n    *(undefined1 *)(param_1 + 0x35dd) = 1;\n    if (*(char *)(param_1 + 0x7a9) != '\0') {\nLAB_002bfd5c:\n      *(undefined1 *)(param_1 + 0x1a25) = 1;\n    }\n    if (((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')) &&\n       (*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24)) {\n      local_1c4 = &__DT_PLTGOT;\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1);\n    }\n  }" { (expression_statement "*(undefined1 *)(param_1 + 0x34e5) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x34e5) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x34e5)" * (cast_expression "(undefined1 *)(param_1 + 0x34e5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34e5)" ( (binary_expression "param_1 + 0x34e5" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_002bfd3a:\n    bVar24 = true;" statement_identifier : (expression_statement "bVar24 = true;" (assignment_expression "bVar24 = true" identifier = true) ;)) (expression_statement "*(undefined1 *)(param_1 + 0x3561) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x3561) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x3561)" * (cast_expression "(undefined1 *)(param_1 + 0x3561)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3561)" ( (binary_expression "param_1 + 0x3561" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_002bfd49:\n    *(undefined1 *)(param_1 + 0x35dd) = 1;" statement_identifier : (expression_statement "*(undefined1 *)(param_1 + 0x35dd) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x35dd) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x35dd)" * (cast_expression "(undefined1 *)(param_1 + 0x35dd)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x35dd)" ( (binary_expression "param_1 + 0x35dd" identifier + number_literal) )))) = number_literal) ;)) (if_statement "if (*(char *)(param_1 + 0x7a9) != '\0') {\nLAB_002bfd5c:\n      *(undefined1 *)(param_1 + 0x1a25) = 1;\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x7a9) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x7a9) != '\0'" (pointer_expression "*(char *)(param_1 + 0x7a9)" * (cast_expression "(char *)(param_1 + 0x7a9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x7a9)" ( (binary_expression "param_1 + 0x7a9" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_002bfd5c:\n      *(undefined1 *)(param_1 + 0x1a25) = 1;\n    }" { (labeled_statement "LAB_002bfd5c:\n      *(undefined1 *)(param_1 + 0x1a25) = 1;" statement_identifier : (expression_statement "*(undefined1 *)(param_1 + 0x1a25) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x1a25) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x1a25)" * (cast_expression "(undefined1 *)(param_1 + 0x1a25)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1a25)" ( (binary_expression "param_1 + 0x1a25" identifier + number_literal) )))) = number_literal) ;)) })) (if_statement "if (((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')) &&\n       (*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24)) {\n      local_1c4 = &__DT_PLTGOT;\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1);\n    }" if (parenthesized_expression "(((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')) &&\n       (*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24))" ( (binary_expression "((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')) &&\n       (*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24)" (parenthesized_expression "((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0'))" ( (binary_expression "(*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')" (parenthesized_expression "(*(char *)(param_1 + 0x3469) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x3469) != '\0'" (pointer_expression "*(char *)(param_1 + 0x3469)" * (cast_expression "(char *)(param_1 + 0x3469)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3469)" ( (binary_expression "param_1 + 0x3469" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(param_1 + 0x318d) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x318d) != '\0'" (pointer_expression "*(char *)(param_1 + 0x318d)" * (cast_expression "(char *)(param_1 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x318d)" ( (binary_expression "param_1 + 0x318d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24)" ( (comma_expression "*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24" (assignment_expression "*(undefined1 *)(param_1 + 0x3469) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x3469)" * (cast_expression "(undefined1 *)(param_1 + 0x3469)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3469)" ( (binary_expression "param_1 + 0x3469" identifier + number_literal) )))) = number_literal) , (unary_expression "!bVar24" ! identifier)) ))) )) (compound_statement "{\n      local_1c4 = &__DT_PLTGOT;\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1);\n    }" { (expression_statement "local_1c4 = &__DT_PLTGOT;" (assignment_expression "local_1c4 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) comment (expression_statement "FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1);" (call_expression "FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1)" identifier (argument_list "("../../gold/options.cc",0x453,"finalize",param_1)" ( (string_literal ""../../gold/options.cc"" " string_content ") , number_literal , (string_literal ""finalize"" " string_content ") , identifier ))) ;) })) }))) (if_statement "if (*(char *)(param_1 + 0xbcd) != '\0') {\n    *(undefined1 *)(param_1 + 0xb51) = 1;\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0xbcd) != '\0')" ( (binary_expression "*(char *)(param_1 + 0xbcd) != '\0'" (pointer_expression "*(char *)(param_1 + 0xbcd)" * (cast_expression "(char *)(param_1 + 0xbcd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xbcd)" ( (binary_expression "param_1 + 0xbcd" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    *(undefined1 *)(param_1 + 0xb51) = 1;\n  }" { (expression_statement "*(undefined1 *)(param_1 + 0xb51) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0xb51) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0xb51)" * (cast_expression "(undefined1 *)(param_1 + 0xb51)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb51)" ( (binary_expression "param_1 + 0xb51" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if (*(char *)(param_1 + 0xc49) != '\0') {\n    *(undefined1 *)(param_1 + 0xb51) = 1;\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0xc49) != '\0')" ( (binary_expression "*(char *)(param_1 + 0xc49) != '\0'" (pointer_expression "*(char *)(param_1 + 0xc49)" * (cast_expression "(char *)(param_1 + 0xc49)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc49)" ( (binary_expression "param_1 + 0xc49" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    *(undefined1 *)(param_1 + 0xb51) = 1;\n  }" { (expression_statement "*(undefined1 *)(param_1 + 0xb51) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0xb51) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0xb51)" * (cast_expression "(undefined1 *)(param_1 + 0xb51)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb51)" ( (binary_expression "param_1 + 0xb51" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if (*(char *)(param_1 + 0xb50) == '\0') {\n    local_1cc = (double)CONCAT71(local_1cc._1_7_,*(byte *)(param_1 + 0x318d));\n    *(byte *)(param_1 + 0xb51) = *(byte *)(param_1 + 0x318d) ^ 1;\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0xb50) == '\0')" ( (binary_expression "*(char *)(param_1 + 0xb50) == '\0'" (pointer_expression "*(char *)(param_1 + 0xb50)" * (cast_expression "(char *)(param_1 + 0xb50)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb50)" ( (binary_expression "param_1 + 0xb50" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_1cc = (double)CONCAT71(local_1cc._1_7_,*(byte *)(param_1 + 0x318d));\n    *(byte *)(param_1 + 0xb51) = *(byte *)(param_1 + 0x318d) ^ 1;\n  }" { (expression_statement "local_1cc = (double)CONCAT71(local_1cc._1_7_,*(byte *)(param_1 + 0x318d));" (assignment_expression "local_1cc = (double)CONCAT71(local_1cc._1_7_,*(byte *)(param_1 + 0x318d))" identifier = (cast_expression "(double)CONCAT71(local_1cc._1_7_,*(byte *)(param_1 + 0x318d))" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT71(local_1cc._1_7_,*(byte *)(param_1 + 0x318d))" identifier (argument_list "(local_1cc._1_7_,*(byte *)(param_1 + 0x318d))" ( (field_expression "local_1cc._1_7_" identifier . field_identifier) , (pointer_expression "*(byte *)(param_1 + 0x318d)" * (cast_expression "(byte *)(param_1 + 0x318d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x318d)" ( (binary_expression "param_1 + 0x318d" identifier + number_literal) )))) ))))) ;) (expression_statement "*(byte *)(param_1 + 0xb51) = *(byte *)(param_1 + 0x318d) ^ 1;" (assignment_expression "*(byte *)(param_1 + 0xb51) = *(byte *)(param_1 + 0x318d) ^ 1" (pointer_expression "*(byte *)(param_1 + 0xb51)" * (cast_expression "(byte *)(param_1 + 0xb51)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb51)" ( (binary_expression "param_1 + 0xb51" identifier + number_literal) )))) = (binary_expression "*(byte *)(param_1 + 0x318d) ^ 1" (pointer_expression "*(byte *)(param_1 + 0x318d)" * (cast_expression "(byte *)(param_1 + 0x318d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x318d)" ( (binary_expression "param_1 + 0x318d" identifier + number_literal) )))) ^ number_literal)) ;) })) (expression_statement "bVar24 = *(char *)(param_1 + 0x4f31) == '\0';" (assignment_expression "bVar24 = *(char *)(param_1 + 0x4f31) == '\0'" identifier = (binary_expression "*(char *)(param_1 + 0x4f31) == '\0'" (pointer_expression "*(char *)(param_1 + 0x4f31)" * (cast_expression "(char *)(param_1 + 0x4f31)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x4f31)" ( (binary_expression "param_1 + 0x4f31" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (bVar24) {\n    bVar24 = *(char *)(param_1 + 0x5545) == '\0';\n    if (!bVar24) {\n      *(undefined4 *)(param_1 + 0x5930) = 2;\n    }\n  }\n  else {\n    *(undefined4 *)(param_1 + 0x5930) = 1;\n  }" if (parenthesized_expression "(bVar24)" ( identifier )) (compound_statement "{\n    bVar24 = *(char *)(param_1 + 0x5545) == '\0';\n    if (!bVar24) {\n      *(undefined4 *)(param_1 + 0x5930) = 2;\n    }\n  }" { (expression_statement "bVar24 = *(char *)(param_1 + 0x5545) == '\0';" (assignment_expression "bVar24 = *(char *)(param_1 + 0x5545) == '\0'" identifier = (binary_expression "*(char *)(param_1 + 0x5545) == '\0'" (pointer_expression "*(char *)(param_1 + 0x5545)" * (cast_expression "(char *)(param_1 + 0x5545)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5545)" ( (binary_expression "param_1 + 0x5545" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (!bVar24) {\n      *(undefined4 *)(param_1 + 0x5930) = 2;\n    }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n      *(undefined4 *)(param_1 + 0x5930) = 2;\n    }" { (expression_statement "*(undefined4 *)(param_1 + 0x5930) = 2;" (assignment_expression "*(undefined4 *)(param_1 + 0x5930) = 2" (pointer_expression "*(undefined4 *)(param_1 + 0x5930)" * (cast_expression "(undefined4 *)(param_1 + 0x5930)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5930)" ( (binary_expression "param_1 + 0x5930" identifier + number_literal) )))) = number_literal) ;) })) }) (else_clause "else {\n    *(undefined4 *)(param_1 + 0x5930) = 1;\n  }" else (compound_statement "{\n    *(undefined4 *)(param_1 + 0x5930) = 1;\n  }" { (expression_statement "*(undefined4 *)(param_1 + 0x5930) = 1;" (assignment_expression "*(undefined4 *)(param_1 + 0x5930) = 1" (pointer_expression "*(undefined4 *)(param_1 + 0x5930)" * (cast_expression "(undefined4 *)(param_1 + 0x5930)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5930)" ( (binary_expression "param_1 + 0x5930" identifier + number_literal) )))) = number_literal) ;) }))) (expression_statement "bVar22 = false;" (assignment_expression "bVar22 = false" identifier = false) ;) (expression_statement "iVar14 = 5;" (assignment_expression "iVar14 = 5" identifier = number_literal) ;) (expression_statement "local_1f0 = (byte *)0x48e342;" (assignment_expression "local_1f0 = (byte *)0x48e342" identifier = (cast_expression "(byte *)0x48e342" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar19 = *(byte **)(param_1 + 0x1bec);" (assignment_expression "pbVar19 = *(byte **)(param_1 + 0x1bec)" identifier = (pointer_expression "*(byte **)(param_1 + 0x1bec)" * (cast_expression "(byte **)(param_1 + 0x1bec)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1bec)" ( (binary_expression "param_1 + 0x1bec" identifier + number_literal) ))))) ;) (expression_statement "pbVar20 = local_1f0;" (assignment_expression "pbVar20 = local_1f0" identifier = identifier) ;) (do_statement "do {\n    pbVar21 = pbVar20;\n    if (iVar14 == 0) break;\n    iVar14 = iVar14 + -1;\n    pbVar21 = pbVar20 + 1;\n    bVar22 = *pbVar19 < *pbVar20;\n    bVar24 = *pbVar19 == *pbVar20;\n    pbVar19 = pbVar19 + 1;\n    pbVar20 = pbVar21;\n  } while (bVar24);" do (compound_statement "{\n    pbVar21 = pbVar20;\n    if (iVar14 == 0) break;\n    iVar14 = iVar14 + -1;\n    pbVar21 = pbVar20 + 1;\n    bVar22 = *pbVar19 < *pbVar20;\n    bVar24 = *pbVar19 == *pbVar20;\n    pbVar19 = pbVar19 + 1;\n    pbVar20 = pbVar21;\n  }" { (expression_statement "pbVar21 = pbVar20;" (assignment_expression "pbVar21 = pbVar20" identifier = identifier) ;) (if_statement "if (iVar14 == 0) break;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (expression_statement "pbVar21 = pbVar20 + 1;" (assignment_expression "pbVar21 = pbVar20 + 1" identifier = (binary_expression "pbVar20 + 1" identifier + number_literal)) ;) (expression_statement "bVar22 = *pbVar19 < *pbVar20;" (assignment_expression "bVar22 = *pbVar19 < *pbVar20" identifier = (binary_expression "*pbVar19 < *pbVar20" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar24 = *pbVar19 == *pbVar20;" (assignment_expression "bVar24 = *pbVar19 == *pbVar20" identifier = (binary_expression "*pbVar19 == *pbVar20" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar19 = pbVar19 + 1;" (assignment_expression "pbVar19 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (expression_statement "pbVar20 = pbVar21;" (assignment_expression "pbVar20 = pbVar21" identifier = identifier) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar22 && !bVar24) == bVar22;" (assignment_expression "bVar24 = (!bVar22 && !bVar24) == bVar22" identifier = (binary_expression "(!bVar22 && !bVar24) == bVar22" (parenthesized_expression "(!bVar22 && !bVar24)" ( (binary_expression "!bVar22 && !bVar24" (unary_expression "!bVar22" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar24) {\n    *(undefined4 *)(param_1 + 0x5934) = 0;\n  }\n  else {\n    iVar14 = 5;\n    pbVar19 = *(byte **)(param_1 + 0x1bec);\n    pbVar20 = (byte *)0x48dc94;\n    do {\n      pbVar21 = pbVar20;\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      pbVar21 = pbVar20 + 1;\n      bVar23 = *pbVar19 < *pbVar20;\n      bVar24 = *pbVar19 == *pbVar20;\n      pbVar19 = pbVar19 + 1;\n      pbVar20 = pbVar21;\n    } while (bVar24);\n    *(uint *)(param_1 + 0x5934) = ((!bVar23 && !bVar24) == bVar23) + 1;\n  }" if (parenthesized_expression "(bVar24)" ( identifier )) (compound_statement "{\n    *(undefined4 *)(param_1 + 0x5934) = 0;\n  }" { (expression_statement "*(undefined4 *)(param_1 + 0x5934) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x5934) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x5934)" * (cast_expression "(undefined4 *)(param_1 + 0x5934)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5934)" ( (binary_expression "param_1 + 0x5934" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n    iVar14 = 5;\n    pbVar19 = *(byte **)(param_1 + 0x1bec);\n    pbVar20 = (byte *)0x48dc94;\n    do {\n      pbVar21 = pbVar20;\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      pbVar21 = pbVar20 + 1;\n      bVar23 = *pbVar19 < *pbVar20;\n      bVar24 = *pbVar19 == *pbVar20;\n      pbVar19 = pbVar19 + 1;\n      pbVar20 = pbVar21;\n    } while (bVar24);\n    *(uint *)(param_1 + 0x5934) = ((!bVar23 && !bVar24) == bVar23) + 1;\n  }" else (compound_statement "{\n    iVar14 = 5;\n    pbVar19 = *(byte **)(param_1 + 0x1bec);\n    pbVar20 = (byte *)0x48dc94;\n    do {\n      pbVar21 = pbVar20;\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      pbVar21 = pbVar20 + 1;\n      bVar23 = *pbVar19 < *pbVar20;\n      bVar24 = *pbVar19 == *pbVar20;\n      pbVar19 = pbVar19 + 1;\n      pbVar20 = pbVar21;\n    } while (bVar24);\n    *(uint *)(param_1 + 0x5934) = ((!bVar23 && !bVar24) == bVar23) + 1;\n  }" { (expression_statement "iVar14 = 5;" (assignment_expression "iVar14 = 5" identifier = number_literal) ;) (expression_statement "pbVar19 = *(byte **)(param_1 + 0x1bec);" (assignment_expression "pbVar19 = *(byte **)(param_1 + 0x1bec)" identifier = (pointer_expression "*(byte **)(param_1 + 0x1bec)" * (cast_expression "(byte **)(param_1 + 0x1bec)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1bec)" ( (binary_expression "param_1 + 0x1bec" identifier + number_literal) ))))) ;) (expression_statement "pbVar20 = (byte *)0x48dc94;" (assignment_expression "pbVar20 = (byte *)0x48dc94" identifier = (cast_expression "(byte *)0x48dc94" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      pbVar21 = pbVar20;\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      pbVar21 = pbVar20 + 1;\n      bVar23 = *pbVar19 < *pbVar20;\n      bVar24 = *pbVar19 == *pbVar20;\n      pbVar19 = pbVar19 + 1;\n      pbVar20 = pbVar21;\n    } while (bVar24);" do (compound_statement "{\n      pbVar21 = pbVar20;\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      pbVar21 = pbVar20 + 1;\n      bVar23 = *pbVar19 < *pbVar20;\n      bVar24 = *pbVar19 == *pbVar20;\n      pbVar19 = pbVar19 + 1;\n      pbVar20 = pbVar21;\n    }" { (expression_statement "pbVar21 = pbVar20;" (assignment_expression "pbVar21 = pbVar20" identifier = identifier) ;) (if_statement "if (iVar14 == 0) break;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (expression_statement "pbVar21 = pbVar20 + 1;" (assignment_expression "pbVar21 = pbVar20 + 1" identifier = (binary_expression "pbVar20 + 1" identifier + number_literal)) ;) (expression_statement "bVar23 = *pbVar19 < *pbVar20;" (assignment_expression "bVar23 = *pbVar19 < *pbVar20" identifier = (binary_expression "*pbVar19 < *pbVar20" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar24 = *pbVar19 == *pbVar20;" (assignment_expression "bVar24 = *pbVar19 == *pbVar20" identifier = (binary_expression "*pbVar19 == *pbVar20" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar19 = pbVar19 + 1;" (assignment_expression "pbVar19 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (expression_statement "pbVar20 = pbVar21;" (assignment_expression "pbVar20 = pbVar21" identifier = identifier) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "*(uint *)(param_1 + 0x5934) = ((!bVar23 && !bVar24) == bVar23) + 1;" (assignment_expression "*(uint *)(param_1 + 0x5934) = ((!bVar23 && !bVar24) == bVar23) + 1" (pointer_expression "*(uint *)(param_1 + 0x5934)" * (cast_expression "(uint *)(param_1 + 0x5934)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5934)" ( (binary_expression "param_1 + 0x5934" identifier + number_literal) )))) = (binary_expression "((!bVar23 && !bVar24) == bVar23) + 1" (parenthesized_expression "((!bVar23 && !bVar24) == bVar23)" ( (binary_expression "(!bVar23 && !bVar24) == bVar23" (parenthesized_expression "(!bVar23 && !bVar24)" ( (binary_expression "!bVar23 && !bVar24" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier) )) + number_literal)) ;) }))) (if_statement "if (*(char *)(param_1 + 0xd4c) == '\0') {\n    if (*(char *)(param_1 + 0xd90) == '\0') {\n      local_1c4 = &__DT_PLTGOT;\n      pcVar12 = getenv("COLLECT_NO_DEMANGLE");\n      *(bool *)(param_1 + 0x5939) = pcVar12 == (char *)0x0;\n    }\n    else {\n      *(undefined1 *)(param_1 + 0x5939) = 0;\n    }\n  }\n  else {\n    pcVar12 = *(char **)(param_1 + 0xd50);\n    *(undefined1 *)(param_1 + 0x5939) = 1;\n    local_1c4 = &__DT_PLTGOT;\n    if (*pcVar12 != '\0') {\n      iVar14 = FUN_00395b70(pcVar12);\n      if (iVar14 == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);\n      }\n      FUN_00395b20(iVar14);\n    }\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0xd4c) == '\0')" ( (binary_expression "*(char *)(param_1 + 0xd4c) == '\0'" (pointer_expression "*(char *)(param_1 + 0xd4c)" * (cast_expression "(char *)(param_1 + 0xd4c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xd4c)" ( (binary_expression "param_1 + 0xd4c" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (*(char *)(param_1 + 0xd90) == '\0') {\n      local_1c4 = &__DT_PLTGOT;\n      pcVar12 = getenv("COLLECT_NO_DEMANGLE");\n      *(bool *)(param_1 + 0x5939) = pcVar12 == (char *)0x0;\n    }\n    else {\n      *(undefined1 *)(param_1 + 0x5939) = 0;\n    }\n  }" { (if_statement "if (*(char *)(param_1 + 0xd90) == '\0') {\n      local_1c4 = &__DT_PLTGOT;\n      pcVar12 = getenv("COLLECT_NO_DEMANGLE");\n      *(bool *)(param_1 + 0x5939) = pcVar12 == (char *)0x0;\n    }\n    else {\n      *(undefined1 *)(param_1 + 0x5939) = 0;\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0xd90) == '\0')" ( (binary_expression "*(char *)(param_1 + 0xd90) == '\0'" (pointer_expression "*(char *)(param_1 + 0xd90)" * (cast_expression "(char *)(param_1 + 0xd90)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xd90)" ( (binary_expression "param_1 + 0xd90" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      local_1c4 = &__DT_PLTGOT;\n      pcVar12 = getenv("COLLECT_NO_DEMANGLE");\n      *(bool *)(param_1 + 0x5939) = pcVar12 == (char *)0x0;\n    }" { (expression_statement "local_1c4 = &__DT_PLTGOT;" (assignment_expression "local_1c4 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "pcVar12 = getenv("COLLECT_NO_DEMANGLE");" (assignment_expression "pcVar12 = getenv("COLLECT_NO_DEMANGLE")" identifier = (call_expression "getenv("COLLECT_NO_DEMANGLE")" identifier (argument_list "("COLLECT_NO_DEMANGLE")" ( (string_literal ""COLLECT_NO_DEMANGLE"" " string_content ") )))) ;) (expression_statement "*(bool *)(param_1 + 0x5939) = pcVar12 == (char *)0x0;" (assignment_expression "*(bool *)(param_1 + 0x5939) = pcVar12 == (char *)0x0" (pointer_expression "*(bool *)(param_1 + 0x5939)" * (cast_expression "(bool *)(param_1 + 0x5939)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5939)" ( (binary_expression "param_1 + 0x5939" identifier + number_literal) )))) = (binary_expression "pcVar12 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ;) }) (else_clause "else {\n      *(undefined1 *)(param_1 + 0x5939) = 0;\n    }" else (compound_statement "{\n      *(undefined1 *)(param_1 + 0x5939) = 0;\n    }" { (expression_statement "*(undefined1 *)(param_1 + 0x5939) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x5939) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x5939)" * (cast_expression "(undefined1 *)(param_1 + 0x5939)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5939)" ( (binary_expression "param_1 + 0x5939" identifier + number_literal) )))) = number_literal) ;) }))) }) (else_clause "else {\n    pcVar12 = *(char **)(param_1 + 0xd50);\n    *(undefined1 *)(param_1 + 0x5939) = 1;\n    local_1c4 = &__DT_PLTGOT;\n    if (*pcVar12 != '\0') {\n      iVar14 = FUN_00395b70(pcVar12);\n      if (iVar14 == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);\n      }\n      FUN_00395b20(iVar14);\n    }\n  }" else (compound_statement "{\n    pcVar12 = *(char **)(param_1 + 0xd50);\n    *(undefined1 *)(param_1 + 0x5939) = 1;\n    local_1c4 = &__DT_PLTGOT;\n    if (*pcVar12 != '\0') {\n      iVar14 = FUN_00395b70(pcVar12);\n      if (iVar14 == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);\n      }\n      FUN_00395b20(iVar14);\n    }\n  }" { (expression_statement "pcVar12 = *(char **)(param_1 + 0xd50);" (assignment_expression "pcVar12 = *(char **)(param_1 + 0xd50)" identifier = (pointer_expression "*(char **)(param_1 + 0xd50)" * (cast_expression "(char **)(param_1 + 0xd50)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xd50)" ( (binary_expression "param_1 + 0xd50" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(param_1 + 0x5939) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x5939) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x5939)" * (cast_expression "(undefined1 *)(param_1 + 0x5939)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5939)" ( (binary_expression "param_1 + 0x5939" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_1c4 = &__DT_PLTGOT;" (assignment_expression "local_1c4 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (if_statement "if (*pcVar12 != '\0') {\n      iVar14 = FUN_00395b70(pcVar12);\n      if (iVar14 == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);\n      }\n      FUN_00395b20(iVar14);\n    }" if (parenthesized_expression "(*pcVar12 != '\0')" ( (binary_expression "*pcVar12 != '\0'" (pointer_expression "*pcVar12" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      iVar14 = FUN_00395b70(pcVar12);\n      if (iVar14 == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);\n      }\n      FUN_00395b20(iVar14);\n    }" { (expression_statement "iVar14 = FUN_00395b70(pcVar12);" (assignment_expression "iVar14 = FUN_00395b70(pcVar12)" identifier = (call_expression "FUN_00395b70(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier )))) ;) (if_statement "if (iVar14 == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);\n      }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);\n      }" { comment (expression_statement "FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);" (call_expression "FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21)" identifier (argument_list "(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21)" ( (binary_expression "local_1c4 + -0x56e9a" identifier + number_literal) , identifier , identifier , identifier ))) ;) })) (expression_statement "FUN_00395b20(iVar14);" (call_expression "FUN_00395b20(iVar14)" identifier (argument_list "(iVar14)" ( identifier ))) ;) })) }))) (expression_statement "ppuVar4 = local_1c4;" (assignment_expression "ppuVar4 = local_1c4" identifier = identifier) ;) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (expression_statement "bVar22 = *(char *)(param_1 + 0x2870) == '\0';" (assignment_expression "bVar22 = *(char *)(param_1 + 0x2870) == '\0'" identifier = (binary_expression "*(char *)(param_1 + 0x2870) == '\0'" (pointer_expression "*(char *)(param_1 + 0x2870)" * (cast_expression "(char *)(param_1 + 0x2870)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2870)" ( (binary_expression "param_1 + 0x2870" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (!bVar22) {\n    pbVar19 = *(byte **)(param_1 + 0x2874);\n    iVar14 = 6;\n    pbVar20 = pbVar19;\n    pbVar21 = (byte *)((int)local_1c4 + -0x1477fe);\n    do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      bVar24 = *pbVar20 < *pbVar21;\n      bVar22 = *pbVar20 == *pbVar21;\n      pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n      pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar24 = (!bVar24 && !bVar22) == bVar24;\n    if (bVar24) {\n      *(undefined4 *)(param_1 + 0x5a88) = 0;\n    }\n    else {\n      iVar14 = 8;\n      pbVar20 = pbVar19;\n      pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar23 = *pbVar20 < *pbVar21;\n        bVar24 = *pbVar20 == *pbVar21;\n        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      bVar22 = false;\n      bVar24 = (!bVar23 && !bVar24) == bVar23;\n      if (bVar24) {\n        *(undefined4 *)(param_1 + 0x5a88) = 1;\n      }\n      else {\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }\n    }\n  }" if (parenthesized_expression "(!bVar22)" ( (unary_expression "!bVar22" ! identifier) )) (compound_statement "{\n    pbVar19 = *(byte **)(param_1 + 0x2874);\n    iVar14 = 6;\n    pbVar20 = pbVar19;\n    pbVar21 = (byte *)((int)local_1c4 + -0x1477fe);\n    do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      bVar24 = *pbVar20 < *pbVar21;\n      bVar22 = *pbVar20 == *pbVar21;\n      pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n      pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar24 = (!bVar24 && !bVar22) == bVar24;\n    if (bVar24) {\n      *(undefined4 *)(param_1 + 0x5a88) = 0;\n    }\n    else {\n      iVar14 = 8;\n      pbVar20 = pbVar19;\n      pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar23 = *pbVar20 < *pbVar21;\n        bVar24 = *pbVar20 == *pbVar21;\n        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      bVar22 = false;\n      bVar24 = (!bVar23 && !bVar24) == bVar23;\n      if (bVar24) {\n        *(undefined4 *)(param_1 + 0x5a88) = 1;\n      }\n      else {\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }\n    }\n  }" { (expression_statement "pbVar19 = *(byte **)(param_1 + 0x2874);" (assignment_expression "pbVar19 = *(byte **)(param_1 + 0x2874)" identifier = (pointer_expression "*(byte **)(param_1 + 0x2874)" * (cast_expression "(byte **)(param_1 + 0x2874)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x2874)" ( (binary_expression "param_1 + 0x2874" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = 6;" (assignment_expression "iVar14 = 6" identifier = number_literal) ;) (expression_statement "pbVar20 = pbVar19;" (assignment_expression "pbVar20 = pbVar19" identifier = identifier) ;) (expression_statement "pbVar21 = (byte *)((int)local_1c4 + -0x1477fe);" (assignment_expression "pbVar21 = (byte *)((int)local_1c4 + -0x1477fe)" identifier = (cast_expression "(byte *)((int)local_1c4 + -0x1477fe)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_1c4 + -0x1477fe)" ( (binary_expression "(int)local_1c4 + -0x1477fe" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      bVar24 = *pbVar20 < *pbVar21;\n      bVar22 = *pbVar20 == *pbVar21;\n      pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n      pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n    } while (bVar22);" do (compound_statement "{\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      bVar24 = *pbVar20 < *pbVar21;\n      bVar22 = *pbVar20 == *pbVar21;\n      pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n      pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n    }" { (if_statement "if (iVar14 == 0) break;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (expression_statement "bVar24 = *pbVar20 < *pbVar21;" (assignment_expression "bVar24 = *pbVar20 < *pbVar21" identifier = (binary_expression "*pbVar20 < *pbVar21" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "bVar22 = *pbVar20 == *pbVar21;" (assignment_expression "bVar22 = *pbVar20 == *pbVar21" identifier = (binary_expression "*pbVar20 == *pbVar21" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar22)" ( identifier )) ;) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar24 && !bVar22) == bVar24;" (assignment_expression "bVar24 = (!bVar24 && !bVar22) == bVar24" identifier = (binary_expression "(!bVar24 && !bVar22) == bVar24" (parenthesized_expression "(!bVar24 && !bVar22)" ( (binary_expression "!bVar24 && !bVar22" (unary_expression "!bVar24" ! identifier) && (unary_expression "!bVar22" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar24) {\n      *(undefined4 *)(param_1 + 0x5a88) = 0;\n    }\n    else {\n      iVar14 = 8;\n      pbVar20 = pbVar19;\n      pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar23 = *pbVar20 < *pbVar21;\n        bVar24 = *pbVar20 == *pbVar21;\n        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      bVar22 = false;\n      bVar24 = (!bVar23 && !bVar24) == bVar23;\n      if (bVar24) {\n        *(undefined4 *)(param_1 + 0x5a88) = 1;\n      }\n      else {\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }\n    }" if (parenthesized_expression "(bVar24)" ( identifier )) (compound_statement "{\n      *(undefined4 *)(param_1 + 0x5a88) = 0;\n    }" { (expression_statement "*(undefined4 *)(param_1 + 0x5a88) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x5a88) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x5a88)" * (cast_expression "(undefined4 *)(param_1 + 0x5a88)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5a88)" ( (binary_expression "param_1 + 0x5a88" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      iVar14 = 8;\n      pbVar20 = pbVar19;\n      pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar23 = *pbVar20 < *pbVar21;\n        bVar24 = *pbVar20 == *pbVar21;\n        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      bVar22 = false;\n      bVar24 = (!bVar23 && !bVar24) == bVar23;\n      if (bVar24) {\n        *(undefined4 *)(param_1 + 0x5a88) = 1;\n      }\n      else {\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }\n    }" else (compound_statement "{\n      iVar14 = 8;\n      pbVar20 = pbVar19;\n      pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar23 = *pbVar20 < *pbVar21;\n        bVar24 = *pbVar20 == *pbVar21;\n        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      bVar22 = false;\n      bVar24 = (!bVar23 && !bVar24) == bVar23;\n      if (bVar24) {\n        *(undefined4 *)(param_1 + 0x5a88) = 1;\n      }\n      else {\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }\n    }" { (expression_statement "iVar14 = 8;" (assignment_expression "iVar14 = 8" identifier = number_literal) ;) (expression_statement "pbVar20 = pbVar19;" (assignment_expression "pbVar20 = pbVar19" identifier = identifier) ;) (expression_statement "pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3);" (assignment_expression "pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3)" identifier = (cast_expression "(byte *)((int)local_1c4 + -0x1a1fb3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_1c4 + -0x1a1fb3)" ( (binary_expression "(int)local_1c4 + -0x1a1fb3" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar23 = *pbVar20 < *pbVar21;\n        bVar24 = *pbVar20 == *pbVar21;\n        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);" do (compound_statement "{\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar23 = *pbVar20 < *pbVar21;\n        bVar24 = *pbVar20 == *pbVar21;\n        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      }" { (if_statement "if (iVar14 == 0) break;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *pbVar20 < *pbVar21;" (assignment_expression "bVar23 = *pbVar20 < *pbVar21" identifier = (binary_expression "*pbVar20 < *pbVar21" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "bVar24 = *pbVar20 == *pbVar21;" (assignment_expression "bVar24 = *pbVar20 == *pbVar21" identifier = (binary_expression "*pbVar20 == *pbVar21" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "bVar22 = false;" (assignment_expression "bVar22 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar23 && !bVar24) == bVar23;" (assignment_expression "bVar24 = (!bVar23 && !bVar24) == bVar23" identifier = (binary_expression "(!bVar23 && !bVar24) == bVar23" (parenthesized_expression "(!bVar23 && !bVar24)" ( (binary_expression "!bVar23 && !bVar24" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar24) {\n        *(undefined4 *)(param_1 + 0x5a88) = 1;\n      }\n      else {\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }" if (parenthesized_expression "(bVar24)" ( identifier )) (compound_statement "{\n        *(undefined4 *)(param_1 + 0x5a88) = 1;\n      }" { (expression_statement "*(undefined4 *)(param_1 + 0x5a88) = 1;" (assignment_expression "*(undefined4 *)(param_1 + 0x5a88) = 1" (pointer_expression "*(undefined4 *)(param_1 + 0x5a88)" * (cast_expression "(undefined4 *)(param_1 + 0x5a88)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5a88)" ( (binary_expression "param_1 + 0x5a88" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }" else (compound_statement "{\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }" { (expression_statement "iVar14 = 5;" (assignment_expression "iVar14 = 5" identifier = number_literal) ;) (expression_statement "pbVar20 = pbVar19;" (assignment_expression "pbVar20 = pbVar19" identifier = identifier) ;) (expression_statement "pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);" (assignment_expression "pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab)" identifier = (cast_expression "(byte *)((int)local_1c4 + -0x1a1fab)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_1c4 + -0x1a1fab)" ( (binary_expression "(int)local_1c4 + -0x1a1fab" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);" do (compound_statement "{\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        }" { (if_statement "if (iVar14 == 0) break;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (expression_statement "bVar22 = *pbVar20 < *pbVar21;" (assignment_expression "bVar22 = *pbVar20 < *pbVar21" identifier = (binary_expression "*pbVar20 < *pbVar21" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "bVar24 = *pbVar20 == *pbVar21;" (assignment_expression "bVar24 = *pbVar20 == *pbVar21" identifier = (binary_expression "*pbVar20 == *pbVar21" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar22 && !bVar24) == bVar22;" (assignment_expression "bVar24 = (!bVar22 && !bVar24) == bVar22" identifier = (binary_expression "(!bVar22 && !bVar24) == bVar22" (parenthesized_expression "(!bVar22 && !bVar24)" ( (binary_expression "!bVar22 && !bVar24" (unary_expression "!bVar22" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }" if (parenthesized_expression "(bVar24)" ( identifier )) (compound_statement "{\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }" { (expression_statement "*(undefined4 *)(param_1 + 0x5a88) = 2;" (assignment_expression "*(undefined4 *)(param_1 + 0x5a88) = 2" (pointer_expression "*(undefined4 *)(param_1 + 0x5a88)" * (cast_expression "(undefined4 *)(param_1 + 0x5a88)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5a88)" ( (binary_expression "param_1 + 0x5a88" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }" else (compound_statement "{\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }" { (expression_statement "iVar14 = 6;" (assignment_expression "iVar14 = 6" identifier = number_literal) ;) (expression_statement "pbVar20 = (byte *)((int)local_1c4 + -0x146582);" (assignment_expression "pbVar20 = (byte *)((int)local_1c4 + -0x146582)" identifier = (cast_expression "(byte *)((int)local_1c4 + -0x146582)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_1c4 + -0x146582)" ( (binary_expression "(int)local_1c4 + -0x146582" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);" do (compound_statement "{\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          }" { (if_statement "if (iVar14 == 0) break;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *pbVar19 < *pbVar20;" (assignment_expression "bVar23 = *pbVar19 < *pbVar20" identifier = (binary_expression "*pbVar19 < *pbVar20" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar24 = *pbVar19 == *pbVar20;" (assignment_expression "bVar24 = *pbVar19 == *pbVar20" identifier = (binary_expression "*pbVar19 == *pbVar20" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar19 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar19 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (if_statement "if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }" if (parenthesized_expression "((!bVar23 && !bVar24) == bVar23)" ( (binary_expression "(!bVar23 && !bVar24) == bVar23" (parenthesized_expression "(!bVar23 && !bVar24)" ( (binary_expression "!bVar23 && !bVar24" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier) )) (compound_statement "{\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }" { (expression_statement "*(undefined4 *)(param_1 + 0x5a88) = 3;" (assignment_expression "*(undefined4 *)(param_1 + 0x5a88) = 3" (pointer_expression "*(undefined4 *)(param_1 + 0x5a88)" * (cast_expression "(undefined4 *)(param_1 + 0x5a88)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5a88)" ( (binary_expression "param_1 + 0x5a88" identifier + number_literal) )))) = number_literal) ;) })) }))) }))) }))) })) (if_statement "if ((*(char *)(param_1 + 0x2401) != '\0') && (*(char *)(param_1 + 0x247c) == '\0')) {\n    *(undefined1 *)(param_1 + 0x247c) = 1;\n    *(undefined ***)(param_1 + 0x2480) = local_1c4 + -0x573ca;\n  }" if (parenthesized_expression "((*(char *)(param_1 + 0x2401) != '\0') && (*(char *)(param_1 + 0x247c) == '\0'))" ( (binary_expression "(*(char *)(param_1 + 0x2401) != '\0') && (*(char *)(param_1 + 0x247c) == '\0')" (parenthesized_expression "(*(char *)(param_1 + 0x2401) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x2401) != '\0'" (pointer_expression "*(char *)(param_1 + 0x2401)" * (cast_expression "(char *)(param_1 + 0x2401)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2401)" ( (binary_expression "param_1 + 0x2401" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(param_1 + 0x247c) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x247c) == '\0'" (pointer_expression "*(char *)(param_1 + 0x247c)" * (cast_expression "(char *)(param_1 + 0x247c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x247c)" ( (binary_expression "param_1 + 0x247c" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    *(undefined1 *)(param_1 + 0x247c) = 1;\n    *(undefined ***)(param_1 + 0x2480) = local_1c4 + -0x573ca;\n  }" { (expression_statement "*(undefined1 *)(param_1 + 0x247c) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x247c) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x247c)" * (cast_expression "(undefined1 *)(param_1 + 0x247c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x247c)" ( (binary_expression "param_1 + 0x247c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(param_1 + 0x2480) = local_1c4 + -0x573ca;" (assignment_expression "*(undefined ***)(param_1 + 0x2480) = local_1c4 + -0x573ca" (pointer_expression "*(undefined ***)(param_1 + 0x2480)" * (cast_expression "(undefined ***)(param_1 + 0x2480)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(param_1 + 0x2480)" ( (binary_expression "param_1 + 0x2480" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x573ca" identifier + number_literal)) ;) })) (if_statement "if ((*(char *)(param_1 + 0x24c1) != '\0') || (*(char *)(param_1 + 0x253d) != '\0')) {\n    *(undefined1 *)(param_1 + 0x5938) = 1;\n  }" if (parenthesized_expression "((*(char *)(param_1 + 0x24c1) != '\0') || (*(char *)(param_1 + 0x253d) != '\0'))" ( (binary_expression "(*(char *)(param_1 + 0x24c1) != '\0') || (*(char *)(param_1 + 0x253d) != '\0')" (parenthesized_expression "(*(char *)(param_1 + 0x24c1) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x24c1) != '\0'" (pointer_expression "*(char *)(param_1 + 0x24c1)" * (cast_expression "(char *)(param_1 + 0x24c1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24c1)" ( (binary_expression "param_1 + 0x24c1" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*(char *)(param_1 + 0x253d) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x253d) != '\0'" (pointer_expression "*(char *)(param_1 + 0x253d)" * (cast_expression "(char *)(param_1 + 0x253d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x253d)" ( (binary_expression "param_1 + 0x253d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    *(undefined1 *)(param_1 + 0x5938) = 1;\n  }" { (expression_statement "*(undefined1 *)(param_1 + 0x5938) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x5938) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x5938)" * (cast_expression "(undefined1 *)(param_1 + 0x5938)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5938)" ( (binary_expression "param_1 + 0x5938" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "iVar14 = *(int *)(param_1 + 0x3de8);" (assignment_expression "iVar14 = *(int *)(param_1 + 0x3de8)" identifier = (pointer_expression "*(int *)(param_1 + 0x3de8)" * (cast_expression "(int *)(param_1 + 0x3de8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3de8)" ( (binary_expression "param_1 + 0x3de8" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar14) {\n    if (*(int *)(param_1 + 0x3e2c) == 0) {\n      *(int *)(param_1 + 0x3e2c) = iVar14;\n    }\n    if (*(int *)(param_1 + 0x3e70) == 0) {\n      *(int *)(param_1 + 0x3e70) = iVar14;\n    }\n    if (*(int *)(param_1 + 0x3eb4) == 0) {\n      *(int *)(param_1 + 0x3eb4) = iVar14;\n    }\n  }" if (parenthesized_expression "(0 < iVar14)" ( (binary_expression "0 < iVar14" number_literal < identifier) )) (compound_statement "{\n    if (*(int *)(param_1 + 0x3e2c) == 0) {\n      *(int *)(param_1 + 0x3e2c) = iVar14;\n    }\n    if (*(int *)(param_1 + 0x3e70) == 0) {\n      *(int *)(param_1 + 0x3e70) = iVar14;\n    }\n    if (*(int *)(param_1 + 0x3eb4) == 0) {\n      *(int *)(param_1 + 0x3eb4) = iVar14;\n    }\n  }" { (if_statement "if (*(int *)(param_1 + 0x3e2c) == 0) {\n      *(int *)(param_1 + 0x3e2c) = iVar14;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x3e2c) == 0)" ( (binary_expression "*(int *)(param_1 + 0x3e2c) == 0" (pointer_expression "*(int *)(param_1 + 0x3e2c)" * (cast_expression "(int *)(param_1 + 0x3e2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3e2c)" ( (binary_expression "param_1 + 0x3e2c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      *(int *)(param_1 + 0x3e2c) = iVar14;\n    }" { (expression_statement "*(int *)(param_1 + 0x3e2c) = iVar14;" (assignment_expression "*(int *)(param_1 + 0x3e2c) = iVar14" (pointer_expression "*(int *)(param_1 + 0x3e2c)" * (cast_expression "(int *)(param_1 + 0x3e2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3e2c)" ( (binary_expression "param_1 + 0x3e2c" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (*(int *)(param_1 + 0x3e70) == 0) {\n      *(int *)(param_1 + 0x3e70) = iVar14;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x3e70) == 0)" ( (binary_expression "*(int *)(param_1 + 0x3e70) == 0" (pointer_expression "*(int *)(param_1 + 0x3e70)" * (cast_expression "(int *)(param_1 + 0x3e70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3e70)" ( (binary_expression "param_1 + 0x3e70" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      *(int *)(param_1 + 0x3e70) = iVar14;\n    }" { (expression_statement "*(int *)(param_1 + 0x3e70) = iVar14;" (assignment_expression "*(int *)(param_1 + 0x3e70) = iVar14" (pointer_expression "*(int *)(param_1 + 0x3e70)" * (cast_expression "(int *)(param_1 + 0x3e70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3e70)" ( (binary_expression "param_1 + 0x3e70" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (*(int *)(param_1 + 0x3eb4) == 0) {\n      *(int *)(param_1 + 0x3eb4) = iVar14;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x3eb4) == 0)" ( (binary_expression "*(int *)(param_1 + 0x3eb4) == 0" (pointer_expression "*(int *)(param_1 + 0x3eb4)" * (cast_expression "(int *)(param_1 + 0x3eb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3eb4)" ( (binary_expression "param_1 + 0x3eb4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      *(int *)(param_1 + 0x3eb4) = iVar14;\n    }" { (expression_statement "*(int *)(param_1 + 0x3eb4) = iVar14;" (assignment_expression "*(int *)(param_1 + 0x3eb4) = iVar14" (pointer_expression "*(int *)(param_1 + 0x3eb4)" * (cast_expression "(int *)(param_1 + 0x3eb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3eb4)" ( (binary_expression "param_1 + 0x3eb4" identifier + number_literal) )))) = identifier) ;) })) })) (expression_statement "local_1d4 = &local_1bc;" (assignment_expression "local_1d4 = &local_1bc" identifier = (pointer_expression "&local_1bc" & identifier)) ;) (expression_statement "local_1b4[0] = 0;" (assignment_expression "local_1b4[0] = 0" (subscript_expression "local_1b4[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_1ec = local_1b4;" (assignment_expression "local_1ec = local_1b4" identifier = identifier) ;) (expression_statement "local_1b8 = 0;" (assignment_expression "local_1b8 = 0" identifier = number_literal) ;) (expression_statement "local_1bc = local_1ec;" (assignment_expression "local_1bc = local_1ec" identifier = identifier) ;) (if_statement "if (*(char *)(param_1 + 0x4ca8) == '\0') {\n    if (*(char *)(param_1 + 0x2729) == '\0') {\n      local_1dc = local_12c;\n      local_1d0 = (undefined ***)&local_134;\n      local_134 = local_1dc;\n                    /* try { // try from 002c0505 to 002c0509 has its CatchHandler @ 002c0e87 */\n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);\n      local_1a4 = local_19c;\n                    /* try { // try from 002c0532 to 002c0536 has its CatchHandler @ 002c0ef5 */\n      FUN_0014fca0(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_18c = 1;\n      if (local_1a0 == 0) {\n                    /* try { // try from 002c0957 to 002c095b has its CatchHandler @ 002c0e8e */\n        FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      local_1d8 = param_1 + 0x2184;\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0973 to 002c0977 has its CatchHandler @ 002c0e95 */\n        FUN_002c3140(local_1d8,piVar7,&local_1a4);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c058f to 002c0593 has its CatchHandler @ 002c0e95 */\n        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_1a4 != local_19c) {\n        FUN_003ae080(local_1a4);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    /* try { // try from 002c0619 to 002c061d has its CatchHandler @ 002c0e87 */\n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);\n      local_188 = local_180;\n                    /* try { // try from 002c0646 to 002c064a has its CatchHandler @ 002c0ecd */\n      FUN_0014fca0(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_170 = 1;\n      if (local_184 == 0) {\n                    /* try { // try from 002c0af7 to 002c0afb has its CatchHandler @ 002c0eb8 */\n        FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0b8b to 002c0b8f has its CatchHandler @ 002c0ebf */\n        FUN_002c3140(local_1d8,piVar7,&local_188);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c0695 to 002c0699 has its CatchHandler @ 002c0ebf */\n        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_188 != local_180) {\n        FUN_003ae080(local_188);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    /* try { // try from 002c071f to 002c0723 has its CatchHandler @ 002c0e87 */\n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);\n      local_16c = local_164;\n                    /* try { // try from 002c074c to 002c0750 has its CatchHandler @ 002c0ec6 */\n      FUN_0014fca0(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_154 = 1;\n      if (local_168 == 0) {\n                    /* try { // try from 002c0b1f to 002c0b23 has its CatchHandler @ 002c0eb1 */\n        FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0b6b to 002c0b6f has its CatchHandler @ 002c0e9c */\n        FUN_002c3140(local_1d8,piVar7,&local_16c);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c079b to 002c079f has its CatchHandler @ 002c0e9c */\n        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_16c != local_164) {\n        FUN_003ae080(local_16c);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    /* try { // try from 002c0825 to 002c0829 has its CatchHandler @ 002c0e87 */\n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);\n      local_1e0 = local_148;\n      local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n      local_150 = local_1e0;\n                    /* try { // try from 002c085e to 002c0862 has its CatchHandler @ 002c0e6b */\n      FUN_0014fca0(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_138 = 1;\n      if (local_14c == 0) {\n                    /* try { // try from 002c0b4c to 002c0b50 has its CatchHandler @ 002c0eaa */\n        FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0bb0 to 002c0bb4 has its CatchHandler @ 002c0e64 */\n        FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c08ad to 002c08b1 has its CatchHandler @ 002c0e64 */\n        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_150 != local_1e0) {\n        FUN_003ae080(local_150);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      goto LAB_002c0258;\n    }\n  }\n  else {\n    pcVar12 = *(char **)(param_1 + 0x4cac);\n    sVar9 = strlen(pcVar12);\n    ppuVar3 = local_1d4;\n                    /* try { // try from 002c022e to 002c02de has its CatchHandler @ 002c0e87 */\n    FUN_003b6cc0(local_1d4,0,0,pcVar12,sVar9);\n    iVar14 = FUN_003b86a0(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36);\n    if (iVar14 == 0) {\n      uVar6 = local_1b8;\n      if (2 < local_1b8) {\n        uVar6 = 2;\n      }\n                    /* try { // try from 002c0acd to 002c0ad1 has its CatchHandler @ 002c0e87 */\n      FUN_003b5ec0(local_1d4,0,uVar6);\n    }\nLAB_002c0258:\n    uVar6 = 0;\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n    if (local_1b8 != 0) {\n      do {\n        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);\n        uVar16 = 0xffffffff;\n        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    /* WARNING: Subroutine does not return */\n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    /* try { // try from 002c0313 to 002c0317 has its CatchHandler @ 002c0ea3 */\n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */\n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */\n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */\n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }\n        uVar6 = iVar14 + 1;\n      } while( true );\n    }\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0x4ca8) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x4ca8) == '\0'" (pointer_expression "*(char *)(param_1 + 0x4ca8)" * (cast_expression "(char *)(param_1 + 0x4ca8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x4ca8)" ( (binary_expression "param_1 + 0x4ca8" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (*(char *)(param_1 + 0x2729) == '\0') {\n      local_1dc = local_12c;\n      local_1d0 = (undefined ***)&local_134;\n      local_134 = local_1dc;\n                    /* try { // try from 002c0505 to 002c0509 has its CatchHandler @ 002c0e87 */\n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);\n      local_1a4 = local_19c;\n                    /* try { // try from 002c0532 to 002c0536 has its CatchHandler @ 002c0ef5 */\n      FUN_0014fca0(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_18c = 1;\n      if (local_1a0 == 0) {\n                    /* try { // try from 002c0957 to 002c095b has its CatchHandler @ 002c0e8e */\n        FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      local_1d8 = param_1 + 0x2184;\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0973 to 002c0977 has its CatchHandler @ 002c0e95 */\n        FUN_002c3140(local_1d8,piVar7,&local_1a4);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c058f to 002c0593 has its CatchHandler @ 002c0e95 */\n        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_1a4 != local_19c) {\n        FUN_003ae080(local_1a4);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    /* try { // try from 002c0619 to 002c061d has its CatchHandler @ 002c0e87 */\n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);\n      local_188 = local_180;\n                    /* try { // try from 002c0646 to 002c064a has its CatchHandler @ 002c0ecd */\n      FUN_0014fca0(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_170 = 1;\n      if (local_184 == 0) {\n                    /* try { // try from 002c0af7 to 002c0afb has its CatchHandler @ 002c0eb8 */\n        FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0b8b to 002c0b8f has its CatchHandler @ 002c0ebf */\n        FUN_002c3140(local_1d8,piVar7,&local_188);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c0695 to 002c0699 has its CatchHandler @ 002c0ebf */\n        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_188 != local_180) {\n        FUN_003ae080(local_188);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    /* try { // try from 002c071f to 002c0723 has its CatchHandler @ 002c0e87 */\n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);\n      local_16c = local_164;\n                    /* try { // try from 002c074c to 002c0750 has its CatchHandler @ 002c0ec6 */\n      FUN_0014fca0(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_154 = 1;\n      if (local_168 == 0) {\n                    /* try { // try from 002c0b1f to 002c0b23 has its CatchHandler @ 002c0eb1 */\n        FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0b6b to 002c0b6f has its CatchHandler @ 002c0e9c */\n        FUN_002c3140(local_1d8,piVar7,&local_16c);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c079b to 002c079f has its CatchHandler @ 002c0e9c */\n        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_16c != local_164) {\n        FUN_003ae080(local_16c);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    /* try { // try from 002c0825 to 002c0829 has its CatchHandler @ 002c0e87 */\n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);\n      local_1e0 = local_148;\n      local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n      local_150 = local_1e0;\n                    /* try { // try from 002c085e to 002c0862 has its CatchHandler @ 002c0e6b */\n      FUN_0014fca0(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_138 = 1;\n      if (local_14c == 0) {\n                    /* try { // try from 002c0b4c to 002c0b50 has its CatchHandler @ 002c0eaa */\n        FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0bb0 to 002c0bb4 has its CatchHandler @ 002c0e64 */\n        FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c08ad to 002c08b1 has its CatchHandler @ 002c0e64 */\n        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_150 != local_1e0) {\n        FUN_003ae080(local_150);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      goto LAB_002c0258;\n    }\n  }" { (if_statement "if (*(char *)(param_1 + 0x2729) == '\0') {\n      local_1dc = local_12c;\n      local_1d0 = (undefined ***)&local_134;\n      local_134 = local_1dc;\n                    /* try { // try from 002c0505 to 002c0509 has its CatchHandler @ 002c0e87 */\n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);\n      local_1a4 = local_19c;\n                    /* try { // try from 002c0532 to 002c0536 has its CatchHandler @ 002c0ef5 */\n      FUN_0014fca0(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_18c = 1;\n      if (local_1a0 == 0) {\n                    /* try { // try from 002c0957 to 002c095b has its CatchHandler @ 002c0e8e */\n        FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      local_1d8 = param_1 + 0x2184;\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0973 to 002c0977 has its CatchHandler @ 002c0e95 */\n        FUN_002c3140(local_1d8,piVar7,&local_1a4);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c058f to 002c0593 has its CatchHandler @ 002c0e95 */\n        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_1a4 != local_19c) {\n        FUN_003ae080(local_1a4);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    /* try { // try from 002c0619 to 002c061d has its CatchHandler @ 002c0e87 */\n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);\n      local_188 = local_180;\n                    /* try { // try from 002c0646 to 002c064a has its CatchHandler @ 002c0ecd */\n      FUN_0014fca0(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_170 = 1;\n      if (local_184 == 0) {\n                    /* try { // try from 002c0af7 to 002c0afb has its CatchHandler @ 002c0eb8 */\n        FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0b8b to 002c0b8f has its CatchHandler @ 002c0ebf */\n        FUN_002c3140(local_1d8,piVar7,&local_188);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c0695 to 002c0699 has its CatchHandler @ 002c0ebf */\n        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_188 != local_180) {\n        FUN_003ae080(local_188);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    /* try { // try from 002c071f to 002c0723 has its CatchHandler @ 002c0e87 */\n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);\n      local_16c = local_164;\n                    /* try { // try from 002c074c to 002c0750 has its CatchHandler @ 002c0ec6 */\n      FUN_0014fca0(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_154 = 1;\n      if (local_168 == 0) {\n                    /* try { // try from 002c0b1f to 002c0b23 has its CatchHandler @ 002c0eb1 */\n        FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0b6b to 002c0b6f has its CatchHandler @ 002c0e9c */\n        FUN_002c3140(local_1d8,piVar7,&local_16c);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c079b to 002c079f has its CatchHandler @ 002c0e9c */\n        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_16c != local_164) {\n        FUN_003ae080(local_16c);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    /* try { // try from 002c0825 to 002c0829 has its CatchHandler @ 002c0e87 */\n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);\n      local_1e0 = local_148;\n      local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n      local_150 = local_1e0;\n                    /* try { // try from 002c085e to 002c0862 has its CatchHandler @ 002c0e6b */\n      FUN_0014fca0(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_138 = 1;\n      if (local_14c == 0) {\n                    /* try { // try from 002c0b4c to 002c0b50 has its CatchHandler @ 002c0eaa */\n        FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0bb0 to 002c0bb4 has its CatchHandler @ 002c0e64 */\n        FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c08ad to 002c08b1 has its CatchHandler @ 002c0e64 */\n        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_150 != local_1e0) {\n        FUN_003ae080(local_150);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      goto LAB_002c0258;\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x2729) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x2729) == '\0'" (pointer_expression "*(char *)(param_1 + 0x2729)" * (cast_expression "(char *)(param_1 + 0x2729)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2729)" ( (binary_expression "param_1 + 0x2729" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      local_1dc = local_12c;\n      local_1d0 = (undefined ***)&local_134;\n      local_134 = local_1dc;\n                    /* try { // try from 002c0505 to 002c0509 has its CatchHandler @ 002c0e87 */\n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);\n      local_1a4 = local_19c;\n                    /* try { // try from 002c0532 to 002c0536 has its CatchHandler @ 002c0ef5 */\n      FUN_0014fca0(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_18c = 1;\n      if (local_1a0 == 0) {\n                    /* try { // try from 002c0957 to 002c095b has its CatchHandler @ 002c0e8e */\n        FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      local_1d8 = param_1 + 0x2184;\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0973 to 002c0977 has its CatchHandler @ 002c0e95 */\n        FUN_002c3140(local_1d8,piVar7,&local_1a4);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c058f to 002c0593 has its CatchHandler @ 002c0e95 */\n        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_1a4 != local_19c) {\n        FUN_003ae080(local_1a4);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    /* try { // try from 002c0619 to 002c061d has its CatchHandler @ 002c0e87 */\n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);\n      local_188 = local_180;\n                    /* try { // try from 002c0646 to 002c064a has its CatchHandler @ 002c0ecd */\n      FUN_0014fca0(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_170 = 1;\n      if (local_184 == 0) {\n                    /* try { // try from 002c0af7 to 002c0afb has its CatchHandler @ 002c0eb8 */\n        FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0b8b to 002c0b8f has its CatchHandler @ 002c0ebf */\n        FUN_002c3140(local_1d8,piVar7,&local_188);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c0695 to 002c0699 has its CatchHandler @ 002c0ebf */\n        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_188 != local_180) {\n        FUN_003ae080(local_188);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    /* try { // try from 002c071f to 002c0723 has its CatchHandler @ 002c0e87 */\n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);\n      local_16c = local_164;\n                    /* try { // try from 002c074c to 002c0750 has its CatchHandler @ 002c0ec6 */\n      FUN_0014fca0(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_154 = 1;\n      if (local_168 == 0) {\n                    /* try { // try from 002c0b1f to 002c0b23 has its CatchHandler @ 002c0eb1 */\n        FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0b6b to 002c0b6f has its CatchHandler @ 002c0e9c */\n        FUN_002c3140(local_1d8,piVar7,&local_16c);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c079b to 002c079f has its CatchHandler @ 002c0e9c */\n        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_16c != local_164) {\n        FUN_003ae080(local_16c);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    /* try { // try from 002c0825 to 002c0829 has its CatchHandler @ 002c0e87 */\n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);\n      local_1e0 = local_148;\n      local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n      local_150 = local_1e0;\n                    /* try { // try from 002c085e to 002c0862 has its CatchHandler @ 002c0e6b */\n      FUN_0014fca0(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_138 = 1;\n      if (local_14c == 0) {\n                    /* try { // try from 002c0b4c to 002c0b50 has its CatchHandler @ 002c0eaa */\n        FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0bb0 to 002c0bb4 has its CatchHandler @ 002c0e64 */\n        FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c08ad to 002c08b1 has its CatchHandler @ 002c0e64 */\n        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_150 != local_1e0) {\n        FUN_003ae080(local_150);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      goto LAB_002c0258;\n    }" { (expression_statement "local_1dc = local_12c;" (assignment_expression "local_1dc = local_12c" identifier = identifier) ;) (expression_statement "local_1d0 = (undefined ***)&local_134;" (assignment_expression "local_1d0 = (undefined ***)&local_134" identifier = (cast_expression "(undefined ***)&local_134" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&local_134" & identifier))) ;) (expression_statement "local_134 = local_1dc;" (assignment_expression "local_134 = local_1dc" identifier = identifier) ;) comment (expression_statement "FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);" (call_expression "FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0)" identifier (argument_list "(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0)" ( identifier , (binary_expression "(int)local_1c4 + -0x15ba2f" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , (binary_expression "(int)local_1c4 + -0x15ba16" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal ))) ;) (expression_statement "local_1a4 = local_19c;" (assignment_expression "local_1a4 = local_19c" identifier = identifier) ;) comment (expression_statement "FUN_0014fca0(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0);" (call_expression "FUN_0014fca0(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0)" identifier (argument_list "(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0)" ( (pointer_expression "&local_1a4" & identifier) , identifier , (cast_expression "(undefined *)(local_130 + (int)local_134)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_130 + (int)local_134)" ( (binary_expression "local_130 + (int)local_134" identifier + (cast_expression "(int)local_134" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , number_literal ))) ;) (expression_statement "local_18c = 1;" (assignment_expression "local_18c = 1" identifier = number_literal) ;) (if_statement "if (local_1a0 == 0) {\n                    /* try { // try from 002c0957 to 002c095b has its CatchHandler @ 002c0e8e */\n        FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);\n      }" if (parenthesized_expression "(local_1a0 == 0)" ( (binary_expression "local_1a0 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* try { // try from 002c0957 to 002c095b has its CatchHandler @ 002c0e8e */\n        FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);\n      }" { comment (expression_statement "FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);" (call_expression "FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1)" identifier (argument_list "(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1)" ( (pointer_expression "&local_1a4" & identifier) , number_literal , number_literal , (binary_expression "(int)local_1c4 + -0x15ca25" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal ))) ;) })) (expression_statement "local_1d8 = param_1 + 0x2184;" (assignment_expression "local_1d8 = param_1 + 0x2184" identifier = (binary_expression "param_1 + 0x2184" identifier + number_literal)) ;) (expression_statement "piVar7 = *(int **)(param_1 + 0x2188);" (assignment_expression "piVar7 = *(int **)(param_1 + 0x2188)" identifier = (pointer_expression "*(int **)(param_1 + 0x2188)" * (cast_expression "(int **)(param_1 + 0x2188)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x2188)" ( (binary_expression "param_1 + 0x2188" identifier + number_literal) ))))) ;) (if_statement "if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0973 to 002c0977 has its CatchHandler @ 002c0e95 */\n        FUN_002c3140(local_1d8,piVar7,&local_1a4);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c058f to 002c0593 has its CatchHandler @ 002c0e95 */\n        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" if (parenthesized_expression "(piVar7 == *(int **)(param_1 + 0x218c))" ( (binary_expression "piVar7 == *(int **)(param_1 + 0x218c)" identifier == (pointer_expression "*(int **)(param_1 + 0x218c)" * (cast_expression "(int **)(param_1 + 0x218c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x218c)" ( (binary_expression "param_1 + 0x218c" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* try { // try from 002c0973 to 002c0977 has its CatchHandler @ 002c0e95 */\n        FUN_002c3140(local_1d8,piVar7,&local_1a4);\n      }" { comment (expression_statement "FUN_002c3140(local_1d8,piVar7,&local_1a4);" (call_expression "FUN_002c3140(local_1d8,piVar7,&local_1a4)" identifier (argument_list "(local_1d8,piVar7,&local_1a4)" ( identifier , identifier , (pointer_expression "&local_1a4" & identifier) ))) ;) }) (else_clause "else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c058f to 002c0593 has its CatchHandler @ 002c0e95 */\n        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" else (compound_statement "{\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c058f to 002c0593 has its CatchHandler @ 002c0e95 */\n        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" { (expression_statement "*piVar7 = (int)(piVar7 + 2);" (assignment_expression "*piVar7 = (int)(piVar7 + 2)" (pointer_expression "*piVar7" * identifier) = (cast_expression "(int)(piVar7 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar7 + 2)" ( (binary_expression "piVar7 + 2" identifier + number_literal) )))) ;) comment (expression_statement "FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);" (call_expression "FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0)" identifier (argument_list "(piVar7,local_1a4,local_1a4 + local_1a0,0)" ( identifier , identifier , (binary_expression "local_1a4 + local_1a0" identifier + identifier) , number_literal ))) ;) (expression_statement "*(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;" (assignment_expression "*(undefined1 *)(piVar7 + 6) = (undefined1)local_18c" (pointer_expression "*(undefined1 *)(piVar7 + 6)" * (cast_expression "(undefined1 *)(piVar7 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar7 + 6)" ( (binary_expression "piVar7 + 6" identifier + number_literal) )))) = (cast_expression "(undefined1)local_18c" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "*(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;" (assignment_expression "*(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_" (pointer_expression "*(undefined1 *)((int)piVar7 + 0x19)" * (cast_expression "(undefined1 *)((int)piVar7 + 0x19)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar7 + 0x19)" ( (binary_expression "(int)piVar7 + 0x19" (cast_expression "(int)piVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "local_18c._1_1_" identifier . field_identifier)) ;) (expression_statement "*(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;" (assignment_expression "*(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2188)" * (cast_expression "(int *)(param_1 + 0x2188)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2188)" ( (binary_expression "param_1 + 0x2188" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x2188) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2188)" * (cast_expression "(int *)(param_1 + 0x2188)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2188)" ( (binary_expression "param_1 + 0x2188" identifier + number_literal) )))) + number_literal)) ;) }))) (if_statement "if (local_1a4 != local_19c) {\n        FUN_003ae080(local_1a4);\n      }" if (parenthesized_expression "(local_1a4 != local_19c)" ( (binary_expression "local_1a4 != local_19c" identifier != identifier) )) (compound_statement "{\n        FUN_003ae080(local_1a4);\n      }" { (expression_statement "FUN_003ae080(local_1a4);" (call_expression "FUN_003ae080(local_1a4)" identifier (argument_list "(local_1a4)" ( identifier ))) ;) })) (if_statement "if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }" if (parenthesized_expression "(local_134 != local_1dc)" ( (binary_expression "local_134 != local_1dc" identifier != identifier) )) (compound_statement "{\n        FUN_003ae080(local_134);\n      }" { (expression_statement "FUN_003ae080(local_134);" (call_expression "FUN_003ae080(local_134)" identifier (argument_list "(local_134)" ( identifier ))) ;) })) (expression_statement "local_134 = local_1dc;" (assignment_expression "local_134 = local_1dc" identifier = identifier) ;) comment (expression_statement "FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);" (call_expression "FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0)" identifier (argument_list "(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0)" ( identifier , (binary_expression "(int)local_1c4 + -0x15ba33" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , (binary_expression "(int)local_1c4 + -0x15ba16" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal ))) ;) (expression_statement "local_188 = local_180;" (assignment_expression "local_188 = local_180" identifier = identifier) ;) comment (expression_statement "FUN_0014fca0(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0);" (call_expression "FUN_0014fca0(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0)" identifier (argument_list "(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0)" ( (pointer_expression "&local_188" & identifier) , identifier , (cast_expression "(undefined *)(local_130 + (int)local_134)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_130 + (int)local_134)" ( (binary_expression "local_130 + (int)local_134" identifier + (cast_expression "(int)local_134" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , number_literal ))) ;) (expression_statement "local_170 = 1;" (assignment_expression "local_170 = 1" identifier = number_literal) ;) (if_statement "if (local_184 == 0) {\n                    /* try { // try from 002c0af7 to 002c0afb has its CatchHandler @ 002c0eb8 */\n        FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);\n      }" if (parenthesized_expression "(local_184 == 0)" ( (binary_expression "local_184 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* try { // try from 002c0af7 to 002c0afb has its CatchHandler @ 002c0eb8 */\n        FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);\n      }" { comment (expression_statement "FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);" (call_expression "FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1)" identifier (argument_list "(&local_188,0,0,(int)local_1c4 + -0x15ca25,1)" ( (pointer_expression "&local_188" & identifier) , number_literal , number_literal , (binary_expression "(int)local_1c4 + -0x15ca25" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal ))) ;) })) (expression_statement "piVar7 = *(int **)(param_1 + 0x2188);" (assignment_expression "piVar7 = *(int **)(param_1 + 0x2188)" identifier = (pointer_expression "*(int **)(param_1 + 0x2188)" * (cast_expression "(int **)(param_1 + 0x2188)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x2188)" ( (binary_expression "param_1 + 0x2188" identifier + number_literal) ))))) ;) (if_statement "if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0b8b to 002c0b8f has its CatchHandler @ 002c0ebf */\n        FUN_002c3140(local_1d8,piVar7,&local_188);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c0695 to 002c0699 has its CatchHandler @ 002c0ebf */\n        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" if (parenthesized_expression "(piVar7 == *(int **)(param_1 + 0x218c))" ( (binary_expression "piVar7 == *(int **)(param_1 + 0x218c)" identifier == (pointer_expression "*(int **)(param_1 + 0x218c)" * (cast_expression "(int **)(param_1 + 0x218c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x218c)" ( (binary_expression "param_1 + 0x218c" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* try { // try from 002c0b8b to 002c0b8f has its CatchHandler @ 002c0ebf */\n        FUN_002c3140(local_1d8,piVar7,&local_188);\n      }" { comment (expression_statement "FUN_002c3140(local_1d8,piVar7,&local_188);" (call_expression "FUN_002c3140(local_1d8,piVar7,&local_188)" identifier (argument_list "(local_1d8,piVar7,&local_188)" ( identifier , identifier , (pointer_expression "&local_188" & identifier) ))) ;) }) (else_clause "else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c0695 to 002c0699 has its CatchHandler @ 002c0ebf */\n        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" else (compound_statement "{\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c0695 to 002c0699 has its CatchHandler @ 002c0ebf */\n        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" { (expression_statement "*piVar7 = (int)(piVar7 + 2);" (assignment_expression "*piVar7 = (int)(piVar7 + 2)" (pointer_expression "*piVar7" * identifier) = (cast_expression "(int)(piVar7 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar7 + 2)" ( (binary_expression "piVar7 + 2" identifier + number_literal) )))) ;) comment (expression_statement "FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);" (call_expression "FUN_0014fca0(piVar7,local_188,local_188 + local_184,0)" identifier (argument_list "(piVar7,local_188,local_188 + local_184,0)" ( identifier , identifier , (binary_expression "local_188 + local_184" identifier + identifier) , number_literal ))) ;) (expression_statement "*(undefined1 *)(piVar7 + 6) = (undefined1)local_170;" (assignment_expression "*(undefined1 *)(piVar7 + 6) = (undefined1)local_170" (pointer_expression "*(undefined1 *)(piVar7 + 6)" * (cast_expression "(undefined1 *)(piVar7 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar7 + 6)" ( (binary_expression "piVar7 + 6" identifier + number_literal) )))) = (cast_expression "(undefined1)local_170" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "*(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;" (assignment_expression "*(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_" (pointer_expression "*(undefined1 *)((int)piVar7 + 0x19)" * (cast_expression "(undefined1 *)((int)piVar7 + 0x19)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar7 + 0x19)" ( (binary_expression "(int)piVar7 + 0x19" (cast_expression "(int)piVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "local_170._1_1_" identifier . field_identifier)) ;) (expression_statement "*(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;" (assignment_expression "*(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2188)" * (cast_expression "(int *)(param_1 + 0x2188)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2188)" ( (binary_expression "param_1 + 0x2188" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x2188) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2188)" * (cast_expression "(int *)(param_1 + 0x2188)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2188)" ( (binary_expression "param_1 + 0x2188" identifier + number_literal) )))) + number_literal)) ;) }))) (if_statement "if (local_188 != local_180) {\n        FUN_003ae080(local_188);\n      }" if (parenthesized_expression "(local_188 != local_180)" ( (binary_expression "local_188 != local_180" identifier != identifier) )) (compound_statement "{\n        FUN_003ae080(local_188);\n      }" { (expression_statement "FUN_003ae080(local_188);" (call_expression "FUN_003ae080(local_188)" identifier (argument_list "(local_188)" ( identifier ))) ;) })) (if_statement "if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }" if (parenthesized_expression "(local_134 != local_1dc)" ( (binary_expression "local_134 != local_1dc" identifier != identifier) )) (compound_statement "{\n        FUN_003ae080(local_134);\n      }" { (expression_statement "FUN_003ae080(local_134);" (call_expression "FUN_003ae080(local_134)" identifier (argument_list "(local_134)" ( identifier ))) ;) })) (expression_statement "local_134 = local_1dc;" (assignment_expression "local_134 = local_1dc" identifier = identifier) ;) comment (expression_statement "FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);" (call_expression "FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0)" identifier (argument_list "(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0)" ( identifier , (binary_expression "(int)local_1c4 + -0x15ba11" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , (binary_expression "(int)local_1c4 + -0x15ba0d" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal ))) ;) (expression_statement "local_16c = local_164;" (assignment_expression "local_16c = local_164" identifier = identifier) ;) comment (expression_statement "FUN_0014fca0(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0);" (call_expression "FUN_0014fca0(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0)" identifier (argument_list "(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0)" ( (pointer_expression "&local_16c" & identifier) , identifier , (cast_expression "(undefined *)(local_130 + (int)local_134)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_130 + (int)local_134)" ( (binary_expression "local_130 + (int)local_134" identifier + (cast_expression "(int)local_134" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , number_literal ))) ;) (expression_statement "local_154 = 1;" (assignment_expression "local_154 = 1" identifier = number_literal) ;) (if_statement "if (local_168 == 0) {\n                    /* try { // try from 002c0b1f to 002c0b23 has its CatchHandler @ 002c0eb1 */\n        FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);\n      }" if (parenthesized_expression "(local_168 == 0)" ( (binary_expression "local_168 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* try { // try from 002c0b1f to 002c0b23 has its CatchHandler @ 002c0eb1 */\n        FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);\n      }" { comment (expression_statement "FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);" (call_expression "FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1)" identifier (argument_list "(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1)" ( (pointer_expression "&local_16c" & identifier) , number_literal , number_literal , (binary_expression "(int)local_1c4 + -0x15ca25" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal ))) ;) })) (expression_statement "piVar7 = *(int **)(param_1 + 0x2188);" (assignment_expression "piVar7 = *(int **)(param_1 + 0x2188)" identifier = (pointer_expression "*(int **)(param_1 + 0x2188)" * (cast_expression "(int **)(param_1 + 0x2188)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x2188)" ( (binary_expression "param_1 + 0x2188" identifier + number_literal) ))))) ;) (if_statement "if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0b6b to 002c0b6f has its CatchHandler @ 002c0e9c */\n        FUN_002c3140(local_1d8,piVar7,&local_16c);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c079b to 002c079f has its CatchHandler @ 002c0e9c */\n        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" if (parenthesized_expression "(piVar7 == *(int **)(param_1 + 0x218c))" ( (binary_expression "piVar7 == *(int **)(param_1 + 0x218c)" identifier == (pointer_expression "*(int **)(param_1 + 0x218c)" * (cast_expression "(int **)(param_1 + 0x218c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x218c)" ( (binary_expression "param_1 + 0x218c" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* try { // try from 002c0b6b to 002c0b6f has its CatchHandler @ 002c0e9c */\n        FUN_002c3140(local_1d8,piVar7,&local_16c);\n      }" { comment (expression_statement "FUN_002c3140(local_1d8,piVar7,&local_16c);" (call_expression "FUN_002c3140(local_1d8,piVar7,&local_16c)" identifier (argument_list "(local_1d8,piVar7,&local_16c)" ( identifier , identifier , (pointer_expression "&local_16c" & identifier) ))) ;) }) (else_clause "else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c079b to 002c079f has its CatchHandler @ 002c0e9c */\n        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" else (compound_statement "{\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c079b to 002c079f has its CatchHandler @ 002c0e9c */\n        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" { (expression_statement "*piVar7 = (int)(piVar7 + 2);" (assignment_expression "*piVar7 = (int)(piVar7 + 2)" (pointer_expression "*piVar7" * identifier) = (cast_expression "(int)(piVar7 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar7 + 2)" ( (binary_expression "piVar7 + 2" identifier + number_literal) )))) ;) comment (expression_statement "FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);" (call_expression "FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0)" identifier (argument_list "(piVar7,local_16c,local_16c + local_168,0)" ( identifier , identifier , (binary_expression "local_16c + local_168" identifier + identifier) , number_literal ))) ;) (expression_statement "*(undefined1 *)(piVar7 + 6) = (undefined1)local_154;" (assignment_expression "*(undefined1 *)(piVar7 + 6) = (undefined1)local_154" (pointer_expression "*(undefined1 *)(piVar7 + 6)" * (cast_expression "(undefined1 *)(piVar7 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar7 + 6)" ( (binary_expression "piVar7 + 6" identifier + number_literal) )))) = (cast_expression "(undefined1)local_154" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "*(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;" (assignment_expression "*(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_" (pointer_expression "*(undefined1 *)((int)piVar7 + 0x19)" * (cast_expression "(undefined1 *)((int)piVar7 + 0x19)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar7 + 0x19)" ( (binary_expression "(int)piVar7 + 0x19" (cast_expression "(int)piVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "local_154._1_1_" identifier . field_identifier)) ;) (expression_statement "*(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;" (assignment_expression "*(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2188)" * (cast_expression "(int *)(param_1 + 0x2188)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2188)" ( (binary_expression "param_1 + 0x2188" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x2188) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2188)" * (cast_expression "(int *)(param_1 + 0x2188)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2188)" ( (binary_expression "param_1 + 0x2188" identifier + number_literal) )))) + number_literal)) ;) }))) (if_statement "if (local_16c != local_164) {\n        FUN_003ae080(local_16c);\n      }" if (parenthesized_expression "(local_16c != local_164)" ( (binary_expression "local_16c != local_164" identifier != identifier) )) (compound_statement "{\n        FUN_003ae080(local_16c);\n      }" { (expression_statement "FUN_003ae080(local_16c);" (call_expression "FUN_003ae080(local_16c)" identifier (argument_list "(local_16c)" ( identifier ))) ;) })) (if_statement "if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }" if (parenthesized_expression "(local_134 != local_1dc)" ( (binary_expression "local_134 != local_1dc" identifier != identifier) )) (compound_statement "{\n        FUN_003ae080(local_134);\n      }" { (expression_statement "FUN_003ae080(local_134);" (call_expression "FUN_003ae080(local_134)" identifier (argument_list "(local_134)" ( identifier ))) ;) })) (expression_statement "local_134 = local_1dc;" (assignment_expression "local_134 = local_1dc" identifier = identifier) ;) comment (expression_statement "FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);" (call_expression "FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0)" identifier (argument_list "(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0)" ( identifier , (binary_expression "(int)local_1c4 + -0x15ba15" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , (binary_expression "(int)local_1c4 + -0x15ba0d" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal ))) ;) (expression_statement "local_1e0 = local_148;" (assignment_expression "local_1e0 = local_148" identifier = identifier) ;) (expression_statement "local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);" (assignment_expression "local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150)" identifier = (cast_expression "(double)CONCAT44(local_1cc._4_4_,&local_150)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(local_1cc._4_4_,&local_150)" identifier (argument_list "(local_1cc._4_4_,&local_150)" ( (field_expression "local_1cc._4_4_" identifier . field_identifier) , (pointer_expression "&local_150" & identifier) ))))) ;) (expression_statement "local_150 = local_1e0;" (assignment_expression "local_150 = local_1e0" identifier = identifier) ;) comment (expression_statement "FUN_0014fca0(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0);" (call_expression "FUN_0014fca0(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0)" identifier (argument_list "(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0)" ( (pointer_expression "&local_150" & identifier) , identifier , (cast_expression "(undefined *)(local_130 + (int)local_134)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_130 + (int)local_134)" ( (binary_expression "local_130 + (int)local_134" identifier + (cast_expression "(int)local_134" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , number_literal ))) ;) (expression_statement "local_138 = 1;" (assignment_expression "local_138 = 1" identifier = number_literal) ;) (if_statement "if (local_14c == 0) {\n                    /* try { // try from 002c0b4c to 002c0b50 has its CatchHandler @ 002c0eaa */\n        FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);\n      }" if (parenthesized_expression "(local_14c == 0)" ( (binary_expression "local_14c == 0" identifier == number_literal) )) (compound_statement "{\n                    /* try { // try from 002c0b4c to 002c0b50 has its CatchHandler @ 002c0eaa */\n        FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);\n      }" { comment (expression_statement "FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);" (call_expression "FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1)" identifier (argument_list "(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1)" ( (field_expression "local_1cc._0_4_" identifier . field_identifier) , number_literal , number_literal , (binary_expression "(int)local_1c4 + -0x15ca25" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal ))) ;) })) (expression_statement "piVar7 = *(int **)(param_1 + 0x2188);" (assignment_expression "piVar7 = *(int **)(param_1 + 0x2188)" identifier = (pointer_expression "*(int **)(param_1 + 0x2188)" * (cast_expression "(int **)(param_1 + 0x2188)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x2188)" ( (binary_expression "param_1 + 0x2188" identifier + number_literal) ))))) ;) (if_statement "if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0bb0 to 002c0bb4 has its CatchHandler @ 002c0e64 */\n        FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c08ad to 002c08b1 has its CatchHandler @ 002c0e64 */\n        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" if (parenthesized_expression "(piVar7 == *(int **)(param_1 + 0x218c))" ( (binary_expression "piVar7 == *(int **)(param_1 + 0x218c)" identifier == (pointer_expression "*(int **)(param_1 + 0x218c)" * (cast_expression "(int **)(param_1 + 0x218c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x218c)" ( (binary_expression "param_1 + 0x218c" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* try { // try from 002c0bb0 to 002c0bb4 has its CatchHandler @ 002c0e64 */\n        FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);\n      }" { comment (expression_statement "FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);" (call_expression "FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_)" identifier (argument_list "(local_1d8,piVar7,local_1cc._0_4_)" ( identifier , identifier , (field_expression "local_1cc._0_4_" identifier . field_identifier) ))) ;) }) (else_clause "else {\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c08ad to 002c08b1 has its CatchHandler @ 002c0e64 */\n        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" else (compound_statement "{\n        *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c08ad to 002c08b1 has its CatchHandler @ 002c0e64 */\n        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" { (expression_statement "*piVar7 = (int)(piVar7 + 2);" (assignment_expression "*piVar7 = (int)(piVar7 + 2)" (pointer_expression "*piVar7" * identifier) = (cast_expression "(int)(piVar7 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar7 + 2)" ( (binary_expression "piVar7 + 2" identifier + number_literal) )))) ;) comment (expression_statement "FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);" (call_expression "FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0)" identifier (argument_list "(piVar7,local_150,local_150 + local_14c,0)" ( identifier , identifier , (binary_expression "local_150 + local_14c" identifier + identifier) , number_literal ))) ;) (expression_statement "*(undefined1 *)(piVar7 + 6) = (undefined1)local_138;" (assignment_expression "*(undefined1 *)(piVar7 + 6) = (undefined1)local_138" (pointer_expression "*(undefined1 *)(piVar7 + 6)" * (cast_expression "(undefined1 *)(piVar7 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar7 + 6)" ( (binary_expression "piVar7 + 6" identifier + number_literal) )))) = (cast_expression "(undefined1)local_138" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "*(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;" (assignment_expression "*(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_" (pointer_expression "*(undefined1 *)((int)piVar7 + 0x19)" * (cast_expression "(undefined1 *)((int)piVar7 + 0x19)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar7 + 0x19)" ( (binary_expression "(int)piVar7 + 0x19" (cast_expression "(int)piVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "local_138._1_1_" identifier . field_identifier)) ;) (expression_statement "*(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;" (assignment_expression "*(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2188)" * (cast_expression "(int *)(param_1 + 0x2188)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2188)" ( (binary_expression "param_1 + 0x2188" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x2188) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2188)" * (cast_expression "(int *)(param_1 + 0x2188)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2188)" ( (binary_expression "param_1 + 0x2188" identifier + number_literal) )))) + number_literal)) ;) }))) (if_statement "if (local_150 != local_1e0) {\n        FUN_003ae080(local_150);\n      }" if (parenthesized_expression "(local_150 != local_1e0)" ( (binary_expression "local_150 != local_1e0" identifier != identifier) )) (compound_statement "{\n        FUN_003ae080(local_150);\n      }" { (expression_statement "FUN_003ae080(local_150);" (call_expression "FUN_003ae080(local_150)" identifier (argument_list "(local_150)" ( identifier ))) ;) })) (if_statement "if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }" if (parenthesized_expression "(local_134 != local_1dc)" ( (binary_expression "local_134 != local_1dc" identifier != identifier) )) (compound_statement "{\n        FUN_003ae080(local_134);\n      }" { (expression_statement "FUN_003ae080(local_134);" (call_expression "FUN_003ae080(local_134)" identifier (argument_list "(local_134)" ( identifier ))) ;) })) (goto_statement "goto LAB_002c0258;" goto statement_identifier ;) })) }) (else_clause "else {\n    pcVar12 = *(char **)(param_1 + 0x4cac);\n    sVar9 = strlen(pcVar12);\n    ppuVar3 = local_1d4;\n                    /* try { // try from 002c022e to 002c02de has its CatchHandler @ 002c0e87 */\n    FUN_003b6cc0(local_1d4,0,0,pcVar12,sVar9);\n    iVar14 = FUN_003b86a0(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36);\n    if (iVar14 == 0) {\n      uVar6 = local_1b8;\n      if (2 < local_1b8) {\n        uVar6 = 2;\n      }\n                    /* try { // try from 002c0acd to 002c0ad1 has its CatchHandler @ 002c0e87 */\n      FUN_003b5ec0(local_1d4,0,uVar6);\n    }\nLAB_002c0258:\n    uVar6 = 0;\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n    if (local_1b8 != 0) {\n      do {\n        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);\n        uVar16 = 0xffffffff;\n        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    /* WARNING: Subroutine does not return */\n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    /* try { // try from 002c0313 to 002c0317 has its CatchHandler @ 002c0ea3 */\n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */\n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */\n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */\n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }\n        uVar6 = iVar14 + 1;\n      } while( true );\n    }\n  }" else (compound_statement "{\n    pcVar12 = *(char **)(param_1 + 0x4cac);\n    sVar9 = strlen(pcVar12);\n    ppuVar3 = local_1d4;\n                    /* try { // try from 002c022e to 002c02de has its CatchHandler @ 002c0e87 */\n    FUN_003b6cc0(local_1d4,0,0,pcVar12,sVar9);\n    iVar14 = FUN_003b86a0(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36);\n    if (iVar14 == 0) {\n      uVar6 = local_1b8;\n      if (2 < local_1b8) {\n        uVar6 = 2;\n      }\n                    /* try { // try from 002c0acd to 002c0ad1 has its CatchHandler @ 002c0e87 */\n      FUN_003b5ec0(local_1d4,0,uVar6);\n    }\nLAB_002c0258:\n    uVar6 = 0;\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n    if (local_1b8 != 0) {\n      do {\n        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);\n        uVar16 = 0xffffffff;\n        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    /* WARNING: Subroutine does not return */\n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    /* try { // try from 002c0313 to 002c0317 has its CatchHandler @ 002c0ea3 */\n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */\n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */\n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */\n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }\n        uVar6 = iVar14 + 1;\n      } while( true );\n    }\n  }" { (expression_statement "pcVar12 = *(char **)(param_1 + 0x4cac);" (assignment_expression "pcVar12 = *(char **)(param_1 + 0x4cac)" identifier = (pointer_expression "*(char **)(param_1 + 0x4cac)" * (cast_expression "(char **)(param_1 + 0x4cac)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x4cac)" ( (binary_expression "param_1 + 0x4cac" identifier + number_literal) ))))) ;) (expression_statement "sVar9 = strlen(pcVar12);" (assignment_expression "sVar9 = strlen(pcVar12)" identifier = (call_expression "strlen(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier )))) ;) (expression_statement "ppuVar3 = local_1d4;" (assignment_expression "ppuVar3 = local_1d4" identifier = identifier) ;) comment (expression_statement "FUN_003b6cc0(local_1d4,0,0,pcVar12,sVar9);" (call_expression "FUN_003b6cc0(local_1d4,0,0,pcVar12,sVar9)" identifier (argument_list "(local_1d4,0,0,pcVar12,sVar9)" ( identifier , number_literal , number_literal , identifier , identifier ))) ;) (expression_statement "iVar14 = FUN_003b86a0(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36);" (assignment_expression "iVar14 = FUN_003b86a0(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36)" identifier = (call_expression "FUN_003b86a0(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36)" identifier (argument_list "(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36)" ( identifier , number_literal , number_literal , (binary_expression "(int)ppuVar4 + -0x15ba36" (cast_expression "(int)ppuVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (iVar14 == 0) {\n      uVar6 = local_1b8;\n      if (2 < local_1b8) {\n        uVar6 = 2;\n      }\n                    /* try { // try from 002c0acd to 002c0ad1 has its CatchHandler @ 002c0e87 */\n      FUN_003b5ec0(local_1d4,0,uVar6);\n    }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar6 = local_1b8;\n      if (2 < local_1b8) {\n        uVar6 = 2;\n      }\n                    /* try { // try from 002c0acd to 002c0ad1 has its CatchHandler @ 002c0e87 */\n      FUN_003b5ec0(local_1d4,0,uVar6);\n    }" { (expression_statement "uVar6 = local_1b8;" (assignment_expression "uVar6 = local_1b8" identifier = identifier) ;) (if_statement "if (2 < local_1b8) {\n        uVar6 = 2;\n      }" if (parenthesized_expression "(2 < local_1b8)" ( (binary_expression "2 < local_1b8" number_literal < identifier) )) (compound_statement "{\n        uVar6 = 2;\n      }" { (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) })) comment (expression_statement "FUN_003b5ec0(local_1d4,0,uVar6);" (call_expression "FUN_003b5ec0(local_1d4,0,uVar6)" identifier (argument_list "(local_1d4,0,uVar6)" ( identifier , number_literal , identifier ))) ;) })) (labeled_statement "LAB_002c0258:\n    uVar6 = 0;" statement_identifier : (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;)) (expression_statement "local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);" (assignment_expression "local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150)" identifier = (cast_expression "(double)CONCAT44(local_1cc._4_4_,&local_150)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(local_1cc._4_4_,&local_150)" identifier (argument_list "(local_1cc._4_4_,&local_150)" ( (field_expression "local_1cc._4_4_" identifier . field_identifier) , (pointer_expression "&local_150" & identifier) ))))) ;) (if_statement "if (local_1b8 != 0) {\n      do {\n        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);\n        uVar16 = 0xffffffff;\n        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    /* WARNING: Subroutine does not return */\n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    /* try { // try from 002c0313 to 002c0317 has its CatchHandler @ 002c0ea3 */\n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */\n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */\n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */\n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }\n        uVar6 = iVar14 + 1;\n      } while( true );\n    }" if (parenthesized_expression "(local_1b8 != 0)" ( (binary_expression "local_1b8 != 0" identifier != number_literal) )) (compound_statement "{\n      do {\n        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);\n        uVar16 = 0xffffffff;\n        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    /* WARNING: Subroutine does not return */\n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    /* try { // try from 002c0313 to 002c0317 has its CatchHandler @ 002c0ea3 */\n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */\n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */\n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */\n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }\n        uVar6 = iVar14 + 1;\n      } while( true );\n    }" { (do_statement "do {\n        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);\n        uVar16 = 0xffffffff;\n        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    /* WARNING: Subroutine does not return */\n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    /* try { // try from 002c0313 to 002c0317 has its CatchHandler @ 002c0ea3 */\n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */\n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */\n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */\n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }\n        uVar6 = iVar14 + 1;\n      } while( true );" do (compound_statement "{\n        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);\n        uVar16 = 0xffffffff;\n        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    /* WARNING: Subroutine does not return */\n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    /* try { // try from 002c0313 to 002c0317 has its CatchHandler @ 002c0ea3 */\n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */\n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */\n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */\n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }\n        uVar6 = iVar14 + 1;\n      }" { (expression_statement "iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);" (assignment_expression "iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6)" identifier = (call_expression "FUN_003b7ee0(local_1d4,0x3a,uVar6)" identifier (argument_list "(local_1d4,0x3a,uVar6)" ( identifier , number_literal , identifier )))) ;) (expression_statement "uVar16 = 0xffffffff;" (assignment_expression "uVar16 = 0xffffffff" identifier = number_literal) ;) (if_statement "if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    /* WARNING: Subroutine does not return */\n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    /* try { // try from 002c0313 to 002c0317 has its CatchHandler @ 002c0ea3 */\n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */\n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */\n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */\n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }" if (parenthesized_expression "((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0))" ( (binary_expression "(iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)" (parenthesized_expression "(iVar14 == -1)" ( (binary_expression "iVar14 == -1" identifier == number_literal) )) || (parenthesized_expression "(uVar16 = iVar14 - uVar6, uVar16 != 0)" ( (comma_expression "uVar16 = iVar14 - uVar6, uVar16 != 0" (assignment_expression "uVar16 = iVar14 - uVar6" identifier = (binary_expression "iVar14 - uVar6" identifier - identifier)) , (binary_expression "uVar16 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          if (local_1b8 < uVar6) {\n                    /* WARNING: Subroutine does not return */\n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    /* try { // try from 002c0313 to 002c0317 has its CatchHandler @ 002c0ea3 */\n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */\n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */\n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */\n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }" { (if_statement "if (local_1b8 < uVar6) {\n                    /* WARNING: Subroutine does not return */\n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }" if (parenthesized_expression "(local_1b8 < uVar6)" ( (binary_expression "local_1b8 < uVar6" identifier < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }" { comment (expression_statement "FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);" (call_expression "FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8)" identifier (argument_list "(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8)" ( (binary_expression "local_1c4 + -0x58f98" identifier + number_literal) , (binary_expression "(int)local_1c4 + -0x1641fb" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , identifier , identifier ))) ;) })) (expression_statement "local_1e0 = local_148;" (assignment_expression "local_1e0 = local_148" identifier = identifier) ;) (expression_statement "uVar10 = local_1b8 - uVar6;" (assignment_expression "uVar10 = local_1b8 - uVar6" identifier = (binary_expression "local_1b8 - uVar6" identifier - identifier)) ;) (if_statement "if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }" if (parenthesized_expression "(uVar16 < local_1b8 - uVar6)" ( (binary_expression "uVar16 < local_1b8 - uVar6" identifier < (binary_expression "local_1b8 - uVar6" identifier - identifier)) )) (compound_statement "{\n            uVar10 = uVar16;\n          }" { (expression_statement "uVar10 = uVar16;" (assignment_expression "uVar10 = uVar16" identifier = identifier) ;) })) (expression_statement "local_150 = local_1e0;" (assignment_expression "local_150 = local_1e0" identifier = identifier) ;) (expression_statement "FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);" (call_expression "FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0)" identifier (argument_list "(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0)" ( (field_expression "local_1cc._0_4_" identifier . field_identifier) , (binary_expression "local_1bc + uVar6" identifier + identifier) , (binary_expression "local_1bc + uVar6 + uVar10" (binary_expression "local_1bc + uVar6" identifier + identifier) + identifier) , number_literal ))) ;) (expression_statement "local_1dc = local_12c;" (assignment_expression "local_1dc = local_12c" identifier = identifier) ;) (expression_statement "local_1d0 = (undefined ***)&local_134;" (assignment_expression "local_1d0 = (undefined ***)&local_134" identifier = (cast_expression "(undefined ***)&local_134" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&local_134" & identifier))) ;) (expression_statement "local_134 = local_1dc;" (assignment_expression "local_134 = local_1dc" identifier = identifier) ;) comment (expression_statement "FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);" (call_expression "FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0)" identifier (argument_list "(local_1d0,local_150,local_150 + local_14c,0)" ( identifier , identifier , (binary_expression "local_150 + local_14c" identifier + identifier) , number_literal ))) ;) (expression_statement "local_11c = 1;" (assignment_expression "local_11c = 1" identifier = number_literal) ;) (if_statement "if (local_130 == 0) {\n                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */\n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }" if (parenthesized_expression "(local_130 == 0)" ( (binary_expression "local_130 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */\n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }" { comment (expression_statement "FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);" (call_expression "FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1)" identifier (argument_list "(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1)" ( identifier , number_literal , number_literal , (binary_expression "(int)local_1c4 + -0x15ca25" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal ))) ;) })) (expression_statement "piVar7 = *(int **)(param_1 + 0x2188);" (assignment_expression "piVar7 = *(int **)(param_1 + 0x2188)" identifier = (pointer_expression "*(int **)(param_1 + 0x2188)" * (cast_expression "(int **)(param_1 + 0x2188)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x2188)" ( (binary_expression "param_1 + 0x2188" identifier + number_literal) ))))) ;) (if_statement "if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */\n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */\n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }" if (parenthesized_expression "(piVar7 == *(int **)(param_1 + 0x218c))" ( (binary_expression "piVar7 == *(int **)(param_1 + 0x218c)" identifier == (pointer_expression "*(int **)(param_1 + 0x218c)" * (cast_expression "(int **)(param_1 + 0x218c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x218c)" ( (binary_expression "param_1 + 0x218c" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */\n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }" { comment (expression_statement "FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);" (call_expression "FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0)" identifier (argument_list "(param_1 + 0x2184,piVar7,local_1d0)" ( (binary_expression "param_1 + 0x2184" identifier + number_literal) , identifier , identifier ))) ;) }) (else_clause "else {\n            *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */\n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }" else (compound_statement "{\n            *piVar7 = (int)(piVar7 + 2);\n                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */\n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }" { (expression_statement "*piVar7 = (int)(piVar7 + 2);" (assignment_expression "*piVar7 = (int)(piVar7 + 2)" (pointer_expression "*piVar7" * identifier) = (cast_expression "(int)(piVar7 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar7 + 2)" ( (binary_expression "piVar7 + 2" identifier + number_literal) )))) ;) comment (expression_statement "FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);" (call_expression "FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0)" identifier (argument_list "(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0)" ( identifier , identifier , (cast_expression "(undefined *)(local_130 + (int)local_134)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_130 + (int)local_134)" ( (binary_expression "local_130 + (int)local_134" identifier + (cast_expression "(int)local_134" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , number_literal ))) ;) (expression_statement "*(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;" (assignment_expression "*(undefined1 *)(piVar7 + 6) = (undefined1)local_11c" (pointer_expression "*(undefined1 *)(piVar7 + 6)" * (cast_expression "(undefined1 *)(piVar7 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar7 + 6)" ( (binary_expression "piVar7 + 6" identifier + number_literal) )))) = (cast_expression "(undefined1)local_11c" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "*(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;" (assignment_expression "*(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_" (pointer_expression "*(undefined1 *)((int)piVar7 + 0x19)" * (cast_expression "(undefined1 *)((int)piVar7 + 0x19)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar7 + 0x19)" ( (binary_expression "(int)piVar7 + 0x19" (cast_expression "(int)piVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "local_11c._1_1_" identifier . field_identifier)) ;) (expression_statement "*(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;" (assignment_expression "*(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2188)" * (cast_expression "(int *)(param_1 + 0x2188)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2188)" ( (binary_expression "param_1 + 0x2188" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x2188) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2188)" * (cast_expression "(int *)(param_1 + 0x2188)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2188)" ( (binary_expression "param_1 + 0x2188" identifier + number_literal) )))) + number_literal)) ;) }))) (if_statement "if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }" if (parenthesized_expression "(local_134 != local_1dc)" ( (binary_expression "local_134 != local_1dc" identifier != identifier) )) (compound_statement "{\n            FUN_003ae080(local_134);\n          }" { (expression_statement "FUN_003ae080(local_134);" (call_expression "FUN_003ae080(local_134)" identifier (argument_list "(local_134)" ( identifier ))) ;) })) (if_statement "if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }" if (parenthesized_expression "(local_150 != local_1e0)" ( (binary_expression "local_150 != local_1e0" identifier != identifier) )) (compound_statement "{\n            FUN_003ae080(local_150);\n          }" { (expression_statement "FUN_003ae080(local_150);" (call_expression "FUN_003ae080(local_150)" identifier (argument_list "(local_150)" ( identifier ))) ;) })) (if_statement "if (iVar14 == -1) break;" if (parenthesized_expression "(iVar14 == -1)" ( (binary_expression "iVar14 == -1" identifier == number_literal) )) (break_statement "break;" break ;)) })) (expression_statement "uVar6 = iVar14 + 1;" (assignment_expression "uVar6 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) }))) (expression_statement "ppuVar4 = local_1c4;" (assignment_expression "ppuVar4 = local_1c4" identifier = identifier) ;) (expression_statement "puVar17 = auStack_20c;" (assignment_expression "puVar17 = auStack_20c" identifier = identifier) ;) (expression_statement "puVar18 = auStack_20c;" (assignment_expression "puVar18 = auStack_20c" identifier = identifier) ;) (if_statement "if (*(int *)(param_1 + 0x3288) != 0) {\n    local_1e8 = local_a4;\n    local_1d0 = (undefined ***)&local_134;\n    FUN_003f2f70(local_1e8);\n    local_1fc = ppuVar4 + -0xa0e;\n    local_34 = 0;\n    local_2c = 0;\n    local_a4[0] = ppuVar4 + -0xa0c;\n    local_30 = 0;\n    local_28 = 0;\n    local_1f4 = (undefined ***)ppuVar4[-0x9d3];\n    local_1f8 = ppuVar4[-0x9d2];\n    local_24 = 0;\n    local_20 = 0;\n    local_134 = local_1f4;\n    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;\n    local_130 = 0;\n                    /* try { // try from 002bfb07 to 002bfb0b has its CatchHandler @ 002c0ee2 */\n    FUN_003d8720((int)local_1f4[-3] + (int)&local_134,0);\n    local_200 = ppuVar4 + -0x9d0;\n    local_134 = (undefined ***)(ppuVar4 + -0x9cd);\n    local_a4[0] = ppuVar4 + -0x9c8;\n    local_1dc = local_12c;\n                    /* try { // try from 002bfb39 to 002bfb3d has its CatchHandler @ 002c0ed4 */\n    FUN_003da940(local_12c);\n                    /* try { // try from 002bfb47 to 002bfb4b has its CatchHandler @ 002c0e79 */\n    FUN_003d8720(local_1e8,local_12c);\n                    /* try { // try from 002bfb5b to 002bfb8a has its CatchHandler @ 002c0e80 */\n    iVar14 = FUN_003dec20(local_12c,*(undefined4 *)(param_1 + 0x3288),8);\n    puVar15 = (undefined *)((int)local_1d0 + (int)local_134[-3]);\n    if (iVar14 == 0) {\n                    /* try { // try from 002c0aa1 to 002c0aa5 has its CatchHandler @ 002c0e80 */\n      FUN_003d7ed0(puVar15,*(uint *)(puVar15 + 0x14) | 4);\n    }\n    else {\n      FUN_003d7ed0(puVar15,0);\n    }\n    ppuVar4 = local_1c4;\n    if ((local_90 & 5) != 0) {\n      piVar7 = __errno_location();\n      pcVar12 = strerror(*piVar7);\n      uVar11 = *(undefined4 *)(param_1 + 0x3288);\n      uVar13 = gettext(local_1c4 + -0x5645f);\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d5c to 002c0d60 has its CatchHandler @ 002c0e80 */\n      FUN_0023b7b0(uVar13,uVar11,pcVar12);\n    }\n    local_1e0 = local_148;\n    local_148[0] = 0;\n    local_14c = 0;\n    piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n    local_150 = local_1e0;\n    if (piVar7 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e40 to 002c0e44 has its CatchHandler @ 002c0edb */\n      FUN_003f3900();\n    }\n    if ((char)piVar7[7] == '\0') {\n                    /* try { // try from 002c043c to 002c0463 has its CatchHandler @ 002c0edb */\n      FUN_003f3f90(piVar7);\n      iVar14 = 10;\n      if (*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4) {\n        cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);\n        iVar14 = (int)cVar5;\n      }\n    }\n    else {\n      iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n    }\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n                    /* try { // try from 002bfc01 to 002bfc46 has its CatchHandler @ 002c0edb */\n    FUN_003aef80(local_1d0,&local_150,iVar14);\n    local_1d4 = (undefined1 **)(param_1 + 0x5a3c);\n    local_1e4 = local_1c0;\n    while ((local_90 & 5) == 0) {\n      if ((local_14c != 0) && (local_150[local_14c + -1] == '\r')) {\n        *(undefined4 *)(puVar17 + -8) = 0;\n        *(int *)(puVar17 + -0xc) = local_14c + -1;\n        *(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;\n                    /* try { // try from 002c0182 to 002c0186 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2c0187;\n        FUN_003b6a50();\n      }\n      *(undefined4 *)(puVar17 + -8) = 0xc70f6907;\n      *(int *)(puVar17 + -0xc) = local_14c;\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc8a;\n      uVar6 = FUN_003ac580();\n      local_1d8 = uVar6 % *(uint *)(param_1 + 0x5a40);\n      *(uint *)(puVar17 + -0x14) = uVar6;\n      *(undefined4 *)(puVar17 + -0x18) = local_1cc._0_4_;\n      *(uint *)(puVar17 + -0x1c) = local_1d8;\n      *(undefined1 ***)(puVar17 + -0x20) = local_1d4;\n      *(undefined4 *)(puVar17 + -0x24) = 0x2bfcb0;\n      piVar7 = (int *)FUN_0022ed10();\n      if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n        *(undefined4 *)(puVar17 + -0x10) = 0x20;\n                    /* try { // try from 002bfdcb to 002bfdcf has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;\n        puVar8 = (undefined4 *)FUN_003ac4d0();\n        *puVar8 = 0;\n        puVar8[1] = puVar8 + 3;\n        *(undefined4 *)(puVar17 + -4) = 0;\n        *(undefined1 **)(puVar17 + -8) = local_150 + local_14c;\n        *(undefined1 **)(puVar17 + -0xc) = local_150;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;\n                    /* try { // try from 002bfdf7 to 002bfdfb has its CatchHandler @ 002c0ee9 */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;\n        FUN_0014fca0();\n        *(undefined4 *)(puVar17 + -0xc) = 1;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8;\n        *(uint *)(puVar17 + -0x14) = uVar6;\n        *(uint *)(puVar17 + -0x18) = local_1d8;\n        *(undefined1 ***)(puVar17 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar17 + -0x20) = local_1e4;\n                    /* try { // try from 002bfe14 to 002bfe18 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;\n        FUN_002c4660();\n        puVar17 = puVar17 + -4;\n      }\n      ppuVar4 = local_1c4;\n      piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n      if (piVar7 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0bfa to 002c0bfe has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -4) = 0x2c0bff;\n        FUN_003f3900();\n      }\n      if ((char)piVar7[7] == '\0') {\n        *(int **)(puVar17 + -0x10) = piVar7;\n                    /* try { // try from 002bfcf3 to 002bfd1a has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;\n        FUN_003f3f90();\n        ppuVar2 = *(undefined ***)(*piVar7 + 0x18);\n        iVar14 = 10;\n        if (ppuVar2 != ppuVar4 + -0xdabd4) {\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }\n      }\n      else {\n        iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n      }\n      *(int *)(puVar17 + -8) = iVar14;\n      *(undefined4 *)(puVar17 + -0xc) = local_1cc._0_4_;\n      *(undefined ****)(puVar17 + -0x10) = local_1d0;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc47;\n      FUN_003aef80();\n    }\n    if (local_150 != local_1e0) {\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfe3f;\n      FUN_003ae080();\n    }\n    ppuVar4 = local_1c4;\n    *(undefined ****)(puVar17 + -0x10) = local_1dc;\n    local_134 = (undefined ***)(local_200 + 3);\n    local_a4[0] = local_200 + 8;\n    local_12c[0] = local_1c4 + -0x9ec;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe7f;\n    FUN_003de160();\n    *(undefined1 **)(puVar17 + -0x10) = local_f4;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe8d;\n    FUN_003ae8c0();\n    local_12c[0] = ppuVar4 + -0xbd1;\n    *(undefined1 **)(puVar17 + -0x10) = local_110;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeaa;\n    FUN_003b07e0();\n    local_134 = local_1f4;\n    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;\n    local_130 = 0;\n    local_a4[0] = local_1fc + 2;\n    *(undefined ****)(puVar17 + -0x10) = local_1e8;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeeb;\n    FUN_003f3310();\n    puVar18 = puVar17;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x3288) != 0)" ( (binary_expression "*(int *)(param_1 + 0x3288) != 0" (pointer_expression "*(int *)(param_1 + 0x3288)" * (cast_expression "(int *)(param_1 + 0x3288)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3288)" ( (binary_expression "param_1 + 0x3288" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    local_1e8 = local_a4;\n    local_1d0 = (undefined ***)&local_134;\n    FUN_003f2f70(local_1e8);\n    local_1fc = ppuVar4 + -0xa0e;\n    local_34 = 0;\n    local_2c = 0;\n    local_a4[0] = ppuVar4 + -0xa0c;\n    local_30 = 0;\n    local_28 = 0;\n    local_1f4 = (undefined ***)ppuVar4[-0x9d3];\n    local_1f8 = ppuVar4[-0x9d2];\n    local_24 = 0;\n    local_20 = 0;\n    local_134 = local_1f4;\n    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;\n    local_130 = 0;\n                    /* try { // try from 002bfb07 to 002bfb0b has its CatchHandler @ 002c0ee2 */\n    FUN_003d8720((int)local_1f4[-3] + (int)&local_134,0);\n    local_200 = ppuVar4 + -0x9d0;\n    local_134 = (undefined ***)(ppuVar4 + -0x9cd);\n    local_a4[0] = ppuVar4 + -0x9c8;\n    local_1dc = local_12c;\n                    /* try { // try from 002bfb39 to 002bfb3d has its CatchHandler @ 002c0ed4 */\n    FUN_003da940(local_12c);\n                    /* try { // try from 002bfb47 to 002bfb4b has its CatchHandler @ 002c0e79 */\n    FUN_003d8720(local_1e8,local_12c);\n                    /* try { // try from 002bfb5b to 002bfb8a has its CatchHandler @ 002c0e80 */\n    iVar14 = FUN_003dec20(local_12c,*(undefined4 *)(param_1 + 0x3288),8);\n    puVar15 = (undefined *)((int)local_1d0 + (int)local_134[-3]);\n    if (iVar14 == 0) {\n                    /* try { // try from 002c0aa1 to 002c0aa5 has its CatchHandler @ 002c0e80 */\n      FUN_003d7ed0(puVar15,*(uint *)(puVar15 + 0x14) | 4);\n    }\n    else {\n      FUN_003d7ed0(puVar15,0);\n    }\n    ppuVar4 = local_1c4;\n    if ((local_90 & 5) != 0) {\n      piVar7 = __errno_location();\n      pcVar12 = strerror(*piVar7);\n      uVar11 = *(undefined4 *)(param_1 + 0x3288);\n      uVar13 = gettext(local_1c4 + -0x5645f);\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d5c to 002c0d60 has its CatchHandler @ 002c0e80 */\n      FUN_0023b7b0(uVar13,uVar11,pcVar12);\n    }\n    local_1e0 = local_148;\n    local_148[0] = 0;\n    local_14c = 0;\n    piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n    local_150 = local_1e0;\n    if (piVar7 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e40 to 002c0e44 has its CatchHandler @ 002c0edb */\n      FUN_003f3900();\n    }\n    if ((char)piVar7[7] == '\0') {\n                    /* try { // try from 002c043c to 002c0463 has its CatchHandler @ 002c0edb */\n      FUN_003f3f90(piVar7);\n      iVar14 = 10;\n      if (*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4) {\n        cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);\n        iVar14 = (int)cVar5;\n      }\n    }\n    else {\n      iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n    }\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n                    /* try { // try from 002bfc01 to 002bfc46 has its CatchHandler @ 002c0edb */\n    FUN_003aef80(local_1d0,&local_150,iVar14);\n    local_1d4 = (undefined1 **)(param_1 + 0x5a3c);\n    local_1e4 = local_1c0;\n    while ((local_90 & 5) == 0) {\n      if ((local_14c != 0) && (local_150[local_14c + -1] == '\r')) {\n        *(undefined4 *)(puVar17 + -8) = 0;\n        *(int *)(puVar17 + -0xc) = local_14c + -1;\n        *(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;\n                    /* try { // try from 002c0182 to 002c0186 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2c0187;\n        FUN_003b6a50();\n      }\n      *(undefined4 *)(puVar17 + -8) = 0xc70f6907;\n      *(int *)(puVar17 + -0xc) = local_14c;\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc8a;\n      uVar6 = FUN_003ac580();\n      local_1d8 = uVar6 % *(uint *)(param_1 + 0x5a40);\n      *(uint *)(puVar17 + -0x14) = uVar6;\n      *(undefined4 *)(puVar17 + -0x18) = local_1cc._0_4_;\n      *(uint *)(puVar17 + -0x1c) = local_1d8;\n      *(undefined1 ***)(puVar17 + -0x20) = local_1d4;\n      *(undefined4 *)(puVar17 + -0x24) = 0x2bfcb0;\n      piVar7 = (int *)FUN_0022ed10();\n      if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n        *(undefined4 *)(puVar17 + -0x10) = 0x20;\n                    /* try { // try from 002bfdcb to 002bfdcf has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;\n        puVar8 = (undefined4 *)FUN_003ac4d0();\n        *puVar8 = 0;\n        puVar8[1] = puVar8 + 3;\n        *(undefined4 *)(puVar17 + -4) = 0;\n        *(undefined1 **)(puVar17 + -8) = local_150 + local_14c;\n        *(undefined1 **)(puVar17 + -0xc) = local_150;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;\n                    /* try { // try from 002bfdf7 to 002bfdfb has its CatchHandler @ 002c0ee9 */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;\n        FUN_0014fca0();\n        *(undefined4 *)(puVar17 + -0xc) = 1;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8;\n        *(uint *)(puVar17 + -0x14) = uVar6;\n        *(uint *)(puVar17 + -0x18) = local_1d8;\n        *(undefined1 ***)(puVar17 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar17 + -0x20) = local_1e4;\n                    /* try { // try from 002bfe14 to 002bfe18 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;\n        FUN_002c4660();\n        puVar17 = puVar17 + -4;\n      }\n      ppuVar4 = local_1c4;\n      piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n      if (piVar7 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0bfa to 002c0bfe has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -4) = 0x2c0bff;\n        FUN_003f3900();\n      }\n      if ((char)piVar7[7] == '\0') {\n        *(int **)(puVar17 + -0x10) = piVar7;\n                    /* try { // try from 002bfcf3 to 002bfd1a has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;\n        FUN_003f3f90();\n        ppuVar2 = *(undefined ***)(*piVar7 + 0x18);\n        iVar14 = 10;\n        if (ppuVar2 != ppuVar4 + -0xdabd4) {\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }\n      }\n      else {\n        iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n      }\n      *(int *)(puVar17 + -8) = iVar14;\n      *(undefined4 *)(puVar17 + -0xc) = local_1cc._0_4_;\n      *(undefined ****)(puVar17 + -0x10) = local_1d0;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc47;\n      FUN_003aef80();\n    }\n    if (local_150 != local_1e0) {\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfe3f;\n      FUN_003ae080();\n    }\n    ppuVar4 = local_1c4;\n    *(undefined ****)(puVar17 + -0x10) = local_1dc;\n    local_134 = (undefined ***)(local_200 + 3);\n    local_a4[0] = local_200 + 8;\n    local_12c[0] = local_1c4 + -0x9ec;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe7f;\n    FUN_003de160();\n    *(undefined1 **)(puVar17 + -0x10) = local_f4;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe8d;\n    FUN_003ae8c0();\n    local_12c[0] = ppuVar4 + -0xbd1;\n    *(undefined1 **)(puVar17 + -0x10) = local_110;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeaa;\n    FUN_003b07e0();\n    local_134 = local_1f4;\n    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;\n    local_130 = 0;\n    local_a4[0] = local_1fc + 2;\n    *(undefined ****)(puVar17 + -0x10) = local_1e8;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeeb;\n    FUN_003f3310();\n    puVar18 = puVar17;\n  }" { (expression_statement "local_1e8 = local_a4;" (assignment_expression "local_1e8 = local_a4" identifier = identifier) ;) (expression_statement "local_1d0 = (undefined ***)&local_134;" (assignment_expression "local_1d0 = (undefined ***)&local_134" identifier = (cast_expression "(undefined ***)&local_134" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&local_134" & identifier))) ;) (expression_statement "FUN_003f2f70(local_1e8);" (call_expression "FUN_003f2f70(local_1e8)" identifier (argument_list "(local_1e8)" ( identifier ))) ;) (expression_statement "local_1fc = ppuVar4 + -0xa0e;" (assignment_expression "local_1fc = ppuVar4 + -0xa0e" identifier = (binary_expression "ppuVar4 + -0xa0e" identifier + number_literal)) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" identifier = number_literal) ;) (expression_statement "local_a4[0] = ppuVar4 + -0xa0c;" (assignment_expression "local_a4[0] = ppuVar4 + -0xa0c" (subscript_expression "local_a4[0]" identifier [ number_literal ]) = (binary_expression "ppuVar4 + -0xa0c" identifier + number_literal)) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_1f4 = (undefined ***)ppuVar4[-0x9d3];" (assignment_expression "local_1f4 = (undefined ***)ppuVar4[-0x9d3]" identifier = (cast_expression "(undefined ***)ppuVar4[-0x9d3]" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "ppuVar4[-0x9d3]" identifier [ number_literal ]))) ;) (expression_statement "local_1f8 = ppuVar4[-0x9d2];" (assignment_expression "local_1f8 = ppuVar4[-0x9d2]" identifier = (subscript_expression "ppuVar4[-0x9d2]" identifier [ number_literal ])) ;) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" identifier = number_literal) ;) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" identifier = number_literal) ;) (expression_statement "local_134 = local_1f4;" (assignment_expression "local_134 = local_1f4" identifier = identifier) ;) (expression_statement "*(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;" (assignment_expression "*(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8" (pointer_expression "*(undefined **)((int)&local_134 + (int)local_1f4[-3])" * (cast_expression "(undefined **)((int)&local_134 + (int)local_1f4[-3])" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&local_134 + (int)local_1f4[-3])" ( (binary_expression "(int)&local_134 + (int)local_1f4[-3]" (cast_expression "(int)&local_134" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_134" & identifier)) + (cast_expression "(int)local_1f4[-3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_1f4[-3]" identifier [ number_literal ]))) )))) = identifier) ;) (expression_statement "local_130 = 0;" (assignment_expression "local_130 = 0" identifier = number_literal) ;) comment (expression_statement "FUN_003d8720((int)local_1f4[-3] + (int)&local_134,0);" (call_expression "FUN_003d8720((int)local_1f4[-3] + (int)&local_134,0)" identifier (argument_list "((int)local_1f4[-3] + (int)&local_134,0)" ( (binary_expression "(int)local_1f4[-3] + (int)&local_134" (cast_expression "(int)local_1f4[-3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_1f4[-3]" identifier [ number_literal ])) + (cast_expression "(int)&local_134" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_134" & identifier))) , number_literal ))) ;) (expression_statement "local_200 = ppuVar4 + -0x9d0;" (assignment_expression "local_200 = ppuVar4 + -0x9d0" identifier = (binary_expression "ppuVar4 + -0x9d0" identifier + number_literal)) ;) (expression_statement "local_134 = (undefined ***)(ppuVar4 + -0x9cd);" (assignment_expression "local_134 = (undefined ***)(ppuVar4 + -0x9cd)" identifier = (cast_expression "(undefined ***)(ppuVar4 + -0x9cd)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(ppuVar4 + -0x9cd)" ( (binary_expression "ppuVar4 + -0x9cd" identifier + number_literal) )))) ;) (expression_statement "local_a4[0] = ppuVar4 + -0x9c8;" (assignment_expression "local_a4[0] = ppuVar4 + -0x9c8" (subscript_expression "local_a4[0]" identifier [ number_literal ]) = (binary_expression "ppuVar4 + -0x9c8" identifier + number_literal)) ;) (expression_statement "local_1dc = local_12c;" (assignment_expression "local_1dc = local_12c" identifier = identifier) ;) comment (expression_statement "FUN_003da940(local_12c);" (call_expression "FUN_003da940(local_12c)" identifier (argument_list "(local_12c)" ( identifier ))) ;) comment (expression_statement "FUN_003d8720(local_1e8,local_12c);" (call_expression "FUN_003d8720(local_1e8,local_12c)" identifier (argument_list "(local_1e8,local_12c)" ( identifier , identifier ))) ;) comment (expression_statement "iVar14 = FUN_003dec20(local_12c,*(undefined4 *)(param_1 + 0x3288),8);" (assignment_expression "iVar14 = FUN_003dec20(local_12c,*(undefined4 *)(param_1 + 0x3288),8)" identifier = (call_expression "FUN_003dec20(local_12c,*(undefined4 *)(param_1 + 0x3288),8)" identifier (argument_list "(local_12c,*(undefined4 *)(param_1 + 0x3288),8)" ( identifier , (pointer_expression "*(undefined4 *)(param_1 + 0x3288)" * (cast_expression "(undefined4 *)(param_1 + 0x3288)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3288)" ( (binary_expression "param_1 + 0x3288" identifier + number_literal) )))) , number_literal )))) ;) (expression_statement "puVar15 = (undefined *)((int)local_1d0 + (int)local_134[-3]);" (assignment_expression "puVar15 = (undefined *)((int)local_1d0 + (int)local_134[-3])" identifier = (cast_expression "(undefined *)((int)local_1d0 + (int)local_134[-3])" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_1d0 + (int)local_134[-3])" ( (binary_expression "(int)local_1d0 + (int)local_134[-3]" (cast_expression "(int)local_1d0" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_134[-3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_134[-3]" identifier [ number_literal ]))) )))) ;) (if_statement "if (iVar14 == 0) {\n                    /* try { // try from 002c0aa1 to 002c0aa5 has its CatchHandler @ 002c0e80 */\n      FUN_003d7ed0(puVar15,*(uint *)(puVar15 + 0x14) | 4);\n    }\n    else {\n      FUN_003d7ed0(puVar15,0);\n    }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* try { // try from 002c0aa1 to 002c0aa5 has its CatchHandler @ 002c0e80 */\n      FUN_003d7ed0(puVar15,*(uint *)(puVar15 + 0x14) | 4);\n    }" { comment (expression_statement "FUN_003d7ed0(puVar15,*(uint *)(puVar15 + 0x14) | 4);" (call_expression "FUN_003d7ed0(puVar15,*(uint *)(puVar15 + 0x14) | 4)" identifier (argument_list "(puVar15,*(uint *)(puVar15 + 0x14) | 4)" ( identifier , (binary_expression "*(uint *)(puVar15 + 0x14) | 4" (pointer_expression "*(uint *)(puVar15 + 0x14)" * (cast_expression "(uint *)(puVar15 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x14)" ( (binary_expression "puVar15 + 0x14" identifier + number_literal) )))) | number_literal) ))) ;) }) (else_clause "else {\n      FUN_003d7ed0(puVar15,0);\n    }" else (compound_statement "{\n      FUN_003d7ed0(puVar15,0);\n    }" { (expression_statement "FUN_003d7ed0(puVar15,0);" (call_expression "FUN_003d7ed0(puVar15,0)" identifier (argument_list "(puVar15,0)" ( identifier , number_literal ))) ;) }))) (expression_statement "ppuVar4 = local_1c4;" (assignment_expression "ppuVar4 = local_1c4" identifier = identifier) ;) (if_statement "if ((local_90 & 5) != 0) {\n      piVar7 = __errno_location();\n      pcVar12 = strerror(*piVar7);\n      uVar11 = *(undefined4 *)(param_1 + 0x3288);\n      uVar13 = gettext(local_1c4 + -0x5645f);\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d5c to 002c0d60 has its CatchHandler @ 002c0e80 */\n      FUN_0023b7b0(uVar13,uVar11,pcVar12);\n    }" if (parenthesized_expression "((local_90 & 5) != 0)" ( (binary_expression "(local_90 & 5) != 0" (parenthesized_expression "(local_90 & 5)" ( (binary_expression "local_90 & 5" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      piVar7 = __errno_location();\n      pcVar12 = strerror(*piVar7);\n      uVar11 = *(undefined4 *)(param_1 + 0x3288);\n      uVar13 = gettext(local_1c4 + -0x5645f);\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d5c to 002c0d60 has its CatchHandler @ 002c0e80 */\n      FUN_0023b7b0(uVar13,uVar11,pcVar12);\n    }" { (expression_statement "piVar7 = __errno_location();" (assignment_expression "piVar7 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar12 = strerror(*piVar7);" (assignment_expression "pcVar12 = strerror(*piVar7)" identifier = (call_expression "strerror(*piVar7)" identifier (argument_list "(*piVar7)" ( (pointer_expression "*piVar7" * identifier) )))) ;) (expression_statement "uVar11 = *(undefined4 *)(param_1 + 0x3288);" (assignment_expression "uVar11 = *(undefined4 *)(param_1 + 0x3288)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x3288)" * (cast_expression "(undefined4 *)(param_1 + 0x3288)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3288)" ( (binary_expression "param_1 + 0x3288" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = gettext(local_1c4 + -0x5645f);" (assignment_expression "uVar13 = gettext(local_1c4 + -0x5645f)" identifier = (call_expression "gettext(local_1c4 + -0x5645f)" identifier (argument_list "(local_1c4 + -0x5645f)" ( (binary_expression "local_1c4 + -0x5645f" identifier + number_literal) )))) ;) comment comment (expression_statement "FUN_0023b7b0(uVar13,uVar11,pcVar12);" (call_expression "FUN_0023b7b0(uVar13,uVar11,pcVar12)" identifier (argument_list "(uVar13,uVar11,pcVar12)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "local_1e0 = local_148;" (assignment_expression "local_1e0 = local_148" identifier = identifier) ;) (expression_statement "local_148[0] = 0;" (assignment_expression "local_148[0] = 0" (subscript_expression "local_148[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_14c = 0;" (assignment_expression "local_14c = 0" identifier = number_literal) ;) (expression_statement "piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);" (assignment_expression "piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3])" identifier = (pointer_expression "*(int **)((int)aiStack_b8 + (int)local_134[-3])" * (cast_expression "(int **)((int)aiStack_b8 + (int)local_134[-3])" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)aiStack_b8 + (int)local_134[-3])" ( (binary_expression "(int)aiStack_b8 + (int)local_134[-3]" (cast_expression "(int)aiStack_b8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_134[-3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_134[-3]" identifier [ number_literal ]))) ))))) ;) (expression_statement "local_150 = local_1e0;" (assignment_expression "local_150 = local_1e0" identifier = identifier) ;) (if_statement "if (piVar7 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e40 to 002c0e44 has its CatchHandler @ 002c0edb */\n      FUN_003f3900();\n    }" if (parenthesized_expression "(piVar7 == (int *)0x0)" ( (binary_expression "piVar7 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e40 to 002c0e44 has its CatchHandler @ 002c0edb */\n      FUN_003f3900();\n    }" { comment comment (expression_statement "FUN_003f3900();" (call_expression "FUN_003f3900()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((char)piVar7[7] == '\0') {\n                    /* try { // try from 002c043c to 002c0463 has its CatchHandler @ 002c0edb */\n      FUN_003f3f90(piVar7);\n      iVar14 = 10;\n      if (*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4) {\n        cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);\n        iVar14 = (int)cVar5;\n      }\n    }\n    else {\n      iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n    }" if (parenthesized_expression "((char)piVar7[7] == '\0')" ( (binary_expression "(char)piVar7[7] == '\0'" (cast_expression "(char)piVar7[7]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar7[7]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* try { // try from 002c043c to 002c0463 has its CatchHandler @ 002c0edb */\n      FUN_003f3f90(piVar7);\n      iVar14 = 10;\n      if (*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4) {\n        cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);\n        iVar14 = (int)cVar5;\n      }\n    }" { comment (expression_statement "FUN_003f3f90(piVar7);" (call_expression "FUN_003f3f90(piVar7)" identifier (argument_list "(piVar7)" ( identifier ))) ;) (expression_statement "iVar14 = 10;" (assignment_expression "iVar14 = 10" identifier = number_literal) ;) (if_statement "if (*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4) {\n        cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);\n        iVar14 = (int)cVar5;\n      }" if (parenthesized_expression "(*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4)" ( (binary_expression "*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4" (pointer_expression "*(undefined ***)(*piVar7 + 0x18)" * (cast_expression "(undefined ***)(*piVar7 + 0x18)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar7 + 0x18)" ( (binary_expression "*piVar7 + 0x18" (pointer_expression "*piVar7" * identifier) + number_literal) )))) != (binary_expression "ppuVar4 + -0xdabd4" identifier + number_literal)) )) (compound_statement "{\n        cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);\n        iVar14 = (int)cVar5;\n      }" { (expression_statement "cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);" (assignment_expression "cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10)" identifier = (call_expression "(*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10)" (parenthesized_expression "(*(code *)*(undefined ***)(*piVar7 + 0x18))" ( (pointer_expression "*(code *)*(undefined ***)(*piVar7 + 0x18)" * (cast_expression "(code *)*(undefined ***)(*piVar7 + 0x18)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*(undefined ***)(*piVar7 + 0x18)" * (cast_expression "(undefined ***)(*piVar7 + 0x18)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar7 + 0x18)" ( (binary_expression "*piVar7 + 0x18" (pointer_expression "*piVar7" * identifier) + number_literal) )))))) )) (argument_list "(piVar7,10)" ( identifier , number_literal )))) ;) (expression_statement "iVar14 = (int)cVar5;" (assignment_expression "iVar14 = (int)cVar5" identifier = (cast_expression "(int)cVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) }) (else_clause "else {\n      iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n    }" else (compound_statement "{\n      iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n    }" { (expression_statement "iVar14 = (int)*(char *)((int)piVar7 + 0x27);" (assignment_expression "iVar14 = (int)*(char *)((int)piVar7 + 0x27)" identifier = (cast_expression "(int)*(char *)((int)piVar7 + 0x27)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)((int)piVar7 + 0x27)" * (cast_expression "(char *)((int)piVar7 + 0x27)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar7 + 0x27)" ( (binary_expression "(int)piVar7 + 0x27" (cast_expression "(int)piVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) ;) }))) (expression_statement "local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);" (assignment_expression "local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150)" identifier = (cast_expression "(double)CONCAT44(local_1cc._4_4_,&local_150)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(local_1cc._4_4_,&local_150)" identifier (argument_list "(local_1cc._4_4_,&local_150)" ( (field_expression "local_1cc._4_4_" identifier . field_identifier) , (pointer_expression "&local_150" & identifier) ))))) ;) comment (expression_statement "FUN_003aef80(local_1d0,&local_150,iVar14);" (call_expression "FUN_003aef80(local_1d0,&local_150,iVar14)" identifier (argument_list "(local_1d0,&local_150,iVar14)" ( identifier , (pointer_expression "&local_150" & identifier) , identifier ))) ;) (expression_statement "local_1d4 = (undefined1 **)(param_1 + 0x5a3c);" (assignment_expression "local_1d4 = (undefined1 **)(param_1 + 0x5a3c)" identifier = (cast_expression "(undefined1 **)(param_1 + 0x5a3c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x5a3c)" ( (binary_expression "param_1 + 0x5a3c" identifier + number_literal) )))) ;) (expression_statement "local_1e4 = local_1c0;" (assignment_expression "local_1e4 = local_1c0" identifier = identifier) ;) (while_statement "while ((local_90 & 5) == 0) {\n      if ((local_14c != 0) && (local_150[local_14c + -1] == '\r')) {\n        *(undefined4 *)(puVar17 + -8) = 0;\n        *(int *)(puVar17 + -0xc) = local_14c + -1;\n        *(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;\n                    /* try { // try from 002c0182 to 002c0186 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2c0187;\n        FUN_003b6a50();\n      }\n      *(undefined4 *)(puVar17 + -8) = 0xc70f6907;\n      *(int *)(puVar17 + -0xc) = local_14c;\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc8a;\n      uVar6 = FUN_003ac580();\n      local_1d8 = uVar6 % *(uint *)(param_1 + 0x5a40);\n      *(uint *)(puVar17 + -0x14) = uVar6;\n      *(undefined4 *)(puVar17 + -0x18) = local_1cc._0_4_;\n      *(uint *)(puVar17 + -0x1c) = local_1d8;\n      *(undefined1 ***)(puVar17 + -0x20) = local_1d4;\n      *(undefined4 *)(puVar17 + -0x24) = 0x2bfcb0;\n      piVar7 = (int *)FUN_0022ed10();\n      if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n        *(undefined4 *)(puVar17 + -0x10) = 0x20;\n                    /* try { // try from 002bfdcb to 002bfdcf has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;\n        puVar8 = (undefined4 *)FUN_003ac4d0();\n        *puVar8 = 0;\n        puVar8[1] = puVar8 + 3;\n        *(undefined4 *)(puVar17 + -4) = 0;\n        *(undefined1 **)(puVar17 + -8) = local_150 + local_14c;\n        *(undefined1 **)(puVar17 + -0xc) = local_150;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;\n                    /* try { // try from 002bfdf7 to 002bfdfb has its CatchHandler @ 002c0ee9 */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;\n        FUN_0014fca0();\n        *(undefined4 *)(puVar17 + -0xc) = 1;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8;\n        *(uint *)(puVar17 + -0x14) = uVar6;\n        *(uint *)(puVar17 + -0x18) = local_1d8;\n        *(undefined1 ***)(puVar17 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar17 + -0x20) = local_1e4;\n                    /* try { // try from 002bfe14 to 002bfe18 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;\n        FUN_002c4660();\n        puVar17 = puVar17 + -4;\n      }\n      ppuVar4 = local_1c4;\n      piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n      if (piVar7 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0bfa to 002c0bfe has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -4) = 0x2c0bff;\n        FUN_003f3900();\n      }\n      if ((char)piVar7[7] == '\0') {\n        *(int **)(puVar17 + -0x10) = piVar7;\n                    /* try { // try from 002bfcf3 to 002bfd1a has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;\n        FUN_003f3f90();\n        ppuVar2 = *(undefined ***)(*piVar7 + 0x18);\n        iVar14 = 10;\n        if (ppuVar2 != ppuVar4 + -0xdabd4) {\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }\n      }\n      else {\n        iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n      }\n      *(int *)(puVar17 + -8) = iVar14;\n      *(undefined4 *)(puVar17 + -0xc) = local_1cc._0_4_;\n      *(undefined ****)(puVar17 + -0x10) = local_1d0;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc47;\n      FUN_003aef80();\n    }" while (parenthesized_expression "((local_90 & 5) == 0)" ( (binary_expression "(local_90 & 5) == 0" (parenthesized_expression "(local_90 & 5)" ( (binary_expression "local_90 & 5" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((local_14c != 0) && (local_150[local_14c + -1] == '\r')) {\n        *(undefined4 *)(puVar17 + -8) = 0;\n        *(int *)(puVar17 + -0xc) = local_14c + -1;\n        *(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;\n                    /* try { // try from 002c0182 to 002c0186 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2c0187;\n        FUN_003b6a50();\n      }\n      *(undefined4 *)(puVar17 + -8) = 0xc70f6907;\n      *(int *)(puVar17 + -0xc) = local_14c;\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc8a;\n      uVar6 = FUN_003ac580();\n      local_1d8 = uVar6 % *(uint *)(param_1 + 0x5a40);\n      *(uint *)(puVar17 + -0x14) = uVar6;\n      *(undefined4 *)(puVar17 + -0x18) = local_1cc._0_4_;\n      *(uint *)(puVar17 + -0x1c) = local_1d8;\n      *(undefined1 ***)(puVar17 + -0x20) = local_1d4;\n      *(undefined4 *)(puVar17 + -0x24) = 0x2bfcb0;\n      piVar7 = (int *)FUN_0022ed10();\n      if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n        *(undefined4 *)(puVar17 + -0x10) = 0x20;\n                    /* try { // try from 002bfdcb to 002bfdcf has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;\n        puVar8 = (undefined4 *)FUN_003ac4d0();\n        *puVar8 = 0;\n        puVar8[1] = puVar8 + 3;\n        *(undefined4 *)(puVar17 + -4) = 0;\n        *(undefined1 **)(puVar17 + -8) = local_150 + local_14c;\n        *(undefined1 **)(puVar17 + -0xc) = local_150;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;\n                    /* try { // try from 002bfdf7 to 002bfdfb has its CatchHandler @ 002c0ee9 */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;\n        FUN_0014fca0();\n        *(undefined4 *)(puVar17 + -0xc) = 1;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8;\n        *(uint *)(puVar17 + -0x14) = uVar6;\n        *(uint *)(puVar17 + -0x18) = local_1d8;\n        *(undefined1 ***)(puVar17 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar17 + -0x20) = local_1e4;\n                    /* try { // try from 002bfe14 to 002bfe18 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;\n        FUN_002c4660();\n        puVar17 = puVar17 + -4;\n      }\n      ppuVar4 = local_1c4;\n      piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n      if (piVar7 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0bfa to 002c0bfe has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -4) = 0x2c0bff;\n        FUN_003f3900();\n      }\n      if ((char)piVar7[7] == '\0') {\n        *(int **)(puVar17 + -0x10) = piVar7;\n                    /* try { // try from 002bfcf3 to 002bfd1a has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;\n        FUN_003f3f90();\n        ppuVar2 = *(undefined ***)(*piVar7 + 0x18);\n        iVar14 = 10;\n        if (ppuVar2 != ppuVar4 + -0xdabd4) {\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }\n      }\n      else {\n        iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n      }\n      *(int *)(puVar17 + -8) = iVar14;\n      *(undefined4 *)(puVar17 + -0xc) = local_1cc._0_4_;\n      *(undefined ****)(puVar17 + -0x10) = local_1d0;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc47;\n      FUN_003aef80();\n    }" { (if_statement "if ((local_14c != 0) && (local_150[local_14c + -1] == '\r')) {\n        *(undefined4 *)(puVar17 + -8) = 0;\n        *(int *)(puVar17 + -0xc) = local_14c + -1;\n        *(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;\n                    /* try { // try from 002c0182 to 002c0186 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2c0187;\n        FUN_003b6a50();\n      }" if (parenthesized_expression "((local_14c != 0) && (local_150[local_14c + -1] == '\r'))" ( (binary_expression "(local_14c != 0) && (local_150[local_14c + -1] == '\r')" (parenthesized_expression "(local_14c != 0)" ( (binary_expression "local_14c != 0" identifier != number_literal) )) && (parenthesized_expression "(local_150[local_14c + -1] == '\r')" ( (binary_expression "local_150[local_14c + -1] == '\r'" (subscript_expression "local_150[local_14c + -1]" identifier [ (binary_expression "local_14c + -1" identifier + number_literal) ]) == (char_literal "'\r'" ' escape_sequence ')) ))) )) (compound_statement "{\n        *(undefined4 *)(puVar17 + -8) = 0;\n        *(int *)(puVar17 + -0xc) = local_14c + -1;\n        *(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;\n                    /* try { // try from 002c0182 to 002c0186 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2c0187;\n        FUN_003b6a50();\n      }" { (expression_statement "*(undefined4 *)(puVar17 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0xc) = local_14c + -1;" (assignment_expression "*(int *)(puVar17 + -0xc) = local_14c + -1" (pointer_expression "*(int *)(puVar17 + -0xc)" * (cast_expression "(int *)(puVar17 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (binary_expression "local_14c + -1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (field_expression "local_1cc._0_4_" identifier . field_identifier)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2c0187;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2c0187" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003b6a50();" (call_expression "FUN_003b6a50()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined4 *)(puVar17 + -8) = 0xc70f6907;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 0xc70f6907" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0xc) = local_14c;" (assignment_expression "*(int *)(puVar17 + -0xc) = local_14c" (pointer_expression "*(int *)(puVar17 + -0xc)" * (cast_expression "(int *)(puVar17 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar17 + -0x10) = local_150;" (assignment_expression "*(undefined1 **)(puVar17 + -0x10) = local_150" (pointer_expression "*(undefined1 **)(puVar17 + -0x10)" * (cast_expression "(undefined1 **)(puVar17 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfc8a;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfc8a" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar6 = FUN_003ac580();" (assignment_expression "uVar6 = FUN_003ac580()" identifier = (call_expression "FUN_003ac580()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_1d8 = uVar6 % *(uint *)(param_1 + 0x5a40);" (assignment_expression "local_1d8 = uVar6 % *(uint *)(param_1 + 0x5a40)" identifier = (binary_expression "uVar6 % *(uint *)(param_1 + 0x5a40)" identifier % (pointer_expression "*(uint *)(param_1 + 0x5a40)" * (cast_expression "(uint *)(param_1 + 0x5a40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5a40)" ( (binary_expression "param_1 + 0x5a40" identifier + number_literal) )))))) ;) (expression_statement "*(uint *)(puVar17 + -0x14) = uVar6;" (assignment_expression "*(uint *)(puVar17 + -0x14) = uVar6" (pointer_expression "*(uint *)(puVar17 + -0x14)" * (cast_expression "(uint *)(puVar17 + -0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = local_1cc._0_4_;" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = local_1cc._0_4_" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" * (cast_expression "(undefined4 *)(puVar17 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = (field_expression "local_1cc._0_4_" identifier . field_identifier)) ;) (expression_statement "*(uint *)(puVar17 + -0x1c) = local_1d8;" (assignment_expression "*(uint *)(puVar17 + -0x1c) = local_1d8" (pointer_expression "*(uint *)(puVar17 + -0x1c)" * (cast_expression "(uint *)(puVar17 + -0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x1c)" ( (binary_expression "puVar17 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 ***)(puVar17 + -0x20) = local_1d4;" (assignment_expression "*(undefined1 ***)(puVar17 + -0x20) = local_1d4" (pointer_expression "*(undefined1 ***)(puVar17 + -0x20)" * (cast_expression "(undefined1 ***)(puVar17 + -0x20)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x20)" ( (binary_expression "puVar17 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x24) = 0x2bfcb0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x2bfcb0" (pointer_expression "*(undefined4 *)(puVar17 + -0x24)" * (cast_expression "(undefined4 *)(puVar17 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x24)" ( (binary_expression "puVar17 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar7 = (int *)FUN_0022ed10();" (assignment_expression "piVar7 = (int *)FUN_0022ed10()" identifier = (cast_expression "(int *)FUN_0022ed10()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0022ed10()" identifier (argument_list "()" ( ))))) ;) (if_statement "if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n        *(undefined4 *)(puVar17 + -0x10) = 0x20;\n                    /* try { // try from 002bfdcb to 002bfdcf has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;\n        puVar8 = (undefined4 *)FUN_003ac4d0();\n        *puVar8 = 0;\n        puVar8[1] = puVar8 + 3;\n        *(undefined4 *)(puVar17 + -4) = 0;\n        *(undefined1 **)(puVar17 + -8) = local_150 + local_14c;\n        *(undefined1 **)(puVar17 + -0xc) = local_150;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;\n                    /* try { // try from 002bfdf7 to 002bfdfb has its CatchHandler @ 002c0ee9 */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;\n        FUN_0014fca0();\n        *(undefined4 *)(puVar17 + -0xc) = 1;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8;\n        *(uint *)(puVar17 + -0x14) = uVar6;\n        *(uint *)(puVar17 + -0x18) = local_1d8;\n        *(undefined1 ***)(puVar17 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar17 + -0x20) = local_1e4;\n                    /* try { // try from 002bfe14 to 002bfe18 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;\n        FUN_002c4660();\n        puVar17 = puVar17 + -4;\n      }" if (parenthesized_expression "((piVar7 == (int *)0x0) || (*piVar7 == 0))" ( (binary_expression "(piVar7 == (int *)0x0) || (*piVar7 == 0)" (parenthesized_expression "(piVar7 == (int *)0x0)" ( (binary_expression "piVar7 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*piVar7 == 0)" ( (binary_expression "*piVar7 == 0" (pointer_expression "*piVar7" * identifier) == number_literal) ))) )) (compound_statement "{\n        *(undefined4 *)(puVar17 + -0x10) = 0x20;\n                    /* try { // try from 002bfdcb to 002bfdcf has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;\n        puVar8 = (undefined4 *)FUN_003ac4d0();\n        *puVar8 = 0;\n        puVar8[1] = puVar8 + 3;\n        *(undefined4 *)(puVar17 + -4) = 0;\n        *(undefined1 **)(puVar17 + -8) = local_150 + local_14c;\n        *(undefined1 **)(puVar17 + -0xc) = local_150;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;\n                    /* try { // try from 002bfdf7 to 002bfdfb has its CatchHandler @ 002c0ee9 */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;\n        FUN_0014fca0();\n        *(undefined4 *)(puVar17 + -0xc) = 1;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8;\n        *(uint *)(puVar17 + -0x14) = uVar6;\n        *(uint *)(puVar17 + -0x18) = local_1d8;\n        *(undefined1 ***)(puVar17 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar17 + -0x20) = local_1e4;\n                    /* try { // try from 002bfe14 to 002bfe18 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;\n        FUN_002c4660();\n        puVar17 = puVar17 + -4;\n      }" { (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0x20;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0x20" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar8 = (undefined4 *)FUN_003ac4d0();" (assignment_expression "puVar8 = (undefined4 *)FUN_003ac4d0()" identifier = (cast_expression "(undefined4 *)FUN_003ac4d0()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*puVar8 = 0;" (assignment_expression "*puVar8 = 0" (pointer_expression "*puVar8" * identifier) = number_literal) ;) (expression_statement "puVar8[1] = puVar8 + 3;" (assignment_expression "puVar8[1] = puVar8 + 3" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = (binary_expression "puVar8 + 3" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -4)" * (cast_expression "(undefined4 *)(puVar17 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar17 + -8) = local_150 + local_14c;" (assignment_expression "*(undefined1 **)(puVar17 + -8) = local_150 + local_14c" (pointer_expression "*(undefined1 **)(puVar17 + -8)" * (cast_expression "(undefined1 **)(puVar17 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_150 + local_14c" identifier + identifier)) ;) (expression_statement "*(undefined1 **)(puVar17 + -0xc) = local_150;" (assignment_expression "*(undefined1 **)(puVar17 + -0xc) = local_150" (pointer_expression "*(undefined1 **)(puVar17 + -0xc)" * (cast_expression "(undefined1 **)(puVar17 + -0xc)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;" (assignment_expression "*(undefined4 **)(puVar17 + -0x10) = puVar8 + 1" (pointer_expression "*(undefined4 **)(puVar17 + -0x10)" * (cast_expression "(undefined4 **)(puVar17 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "puVar8 + 1" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0014fca0();" (call_expression "FUN_0014fca0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 **)(puVar17 + -0x10) = puVar8;" (assignment_expression "*(undefined4 **)(puVar17 + -0x10) = puVar8" (pointer_expression "*(undefined4 **)(puVar17 + -0x10)" * (cast_expression "(undefined4 **)(puVar17 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar17 + -0x14) = uVar6;" (assignment_expression "*(uint *)(puVar17 + -0x14) = uVar6" (pointer_expression "*(uint *)(puVar17 + -0x14)" * (cast_expression "(uint *)(puVar17 + -0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar17 + -0x18) = local_1d8;" (assignment_expression "*(uint *)(puVar17 + -0x18) = local_1d8" (pointer_expression "*(uint *)(puVar17 + -0x18)" * (cast_expression "(uint *)(puVar17 + -0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 ***)(puVar17 + -0x1c) = local_1d4;" (assignment_expression "*(undefined1 ***)(puVar17 + -0x1c) = local_1d4" (pointer_expression "*(undefined1 ***)(puVar17 + -0x1c)" * (cast_expression "(undefined1 ***)(puVar17 + -0x1c)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x1c)" ( (binary_expression "puVar17 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar17 + -0x20) = local_1e4;" (assignment_expression "*(undefined1 **)(puVar17 + -0x20) = local_1e4" (pointer_expression "*(undefined1 **)(puVar17 + -0x20)" * (cast_expression "(undefined1 **)(puVar17 + -0x20)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x20)" ( (binary_expression "puVar17 + -0x20" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x2bfe19" (pointer_expression "*(undefined4 *)(puVar17 + -0x24)" * (cast_expression "(undefined4 *)(puVar17 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x24)" ( (binary_expression "puVar17 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002c4660();" (call_expression "FUN_002c4660()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar17 = puVar17 + -4;" (assignment_expression "puVar17 = puVar17 + -4" identifier = (binary_expression "puVar17 + -4" identifier + number_literal)) ;) })) (expression_statement "ppuVar4 = local_1c4;" (assignment_expression "ppuVar4 = local_1c4" identifier = identifier) ;) (expression_statement "piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);" (assignment_expression "piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3])" identifier = (pointer_expression "*(int **)((int)aiStack_b8 + (int)local_134[-3])" * (cast_expression "(int **)((int)aiStack_b8 + (int)local_134[-3])" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)aiStack_b8 + (int)local_134[-3])" ( (binary_expression "(int)aiStack_b8 + (int)local_134[-3]" (cast_expression "(int)aiStack_b8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_134[-3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_134[-3]" identifier [ number_literal ]))) ))))) ;) (if_statement "if (piVar7 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0bfa to 002c0bfe has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -4) = 0x2c0bff;\n        FUN_003f3900();\n      }" if (parenthesized_expression "(piVar7 == (int *)0x0)" ( (binary_expression "piVar7 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0bfa to 002c0bfe has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -4) = 0x2c0bff;\n        FUN_003f3900();\n      }" { comment comment (expression_statement "*(undefined4 *)(puVar17 + -4) = 0x2c0bff;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = 0x2c0bff" (pointer_expression "*(undefined4 *)(puVar17 + -4)" * (cast_expression "(undefined4 *)(puVar17 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003f3900();" (call_expression "FUN_003f3900()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((char)piVar7[7] == '\0') {\n        *(int **)(puVar17 + -0x10) = piVar7;\n                    /* try { // try from 002bfcf3 to 002bfd1a has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;\n        FUN_003f3f90();\n        ppuVar2 = *(undefined ***)(*piVar7 + 0x18);\n        iVar14 = 10;\n        if (ppuVar2 != ppuVar4 + -0xdabd4) {\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }\n      }\n      else {\n        iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n      }" if (parenthesized_expression "((char)piVar7[7] == '\0')" ( (binary_expression "(char)piVar7[7] == '\0'" (cast_expression "(char)piVar7[7]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar7[7]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(int **)(puVar17 + -0x10) = piVar7;\n                    /* try { // try from 002bfcf3 to 002bfd1a has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;\n        FUN_003f3f90();\n        ppuVar2 = *(undefined ***)(*piVar7 + 0x18);\n        iVar14 = 10;\n        if (ppuVar2 != ppuVar4 + -0xdabd4) {\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }\n      }" { (expression_statement "*(int **)(puVar17 + -0x10) = piVar7;" (assignment_expression "*(int **)(puVar17 + -0x10) = piVar7" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003f3f90();" (call_expression "FUN_003f3f90()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar2 = *(undefined ***)(*piVar7 + 0x18);" (assignment_expression "ppuVar2 = *(undefined ***)(*piVar7 + 0x18)" identifier = (pointer_expression "*(undefined ***)(*piVar7 + 0x18)" * (cast_expression "(undefined ***)(*piVar7 + 0x18)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar7 + 0x18)" ( (binary_expression "*piVar7 + 0x18" (pointer_expression "*piVar7" * identifier) + number_literal) ))))) ;) (expression_statement "iVar14 = 10;" (assignment_expression "iVar14 = 10" identifier = number_literal) ;) (if_statement "if (ppuVar2 != ppuVar4 + -0xdabd4) {\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }" if (parenthesized_expression "(ppuVar2 != ppuVar4 + -0xdabd4)" ( (binary_expression "ppuVar2 != ppuVar4 + -0xdabd4" identifier != (binary_expression "ppuVar4 + -0xdabd4" identifier + number_literal)) )) (compound_statement "{\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }" { (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 10;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 10" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int **)(puVar17 + -0x10) = piVar7;" (assignment_expression "*(int **)(puVar17 + -0x10) = piVar7" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar5 = (*(code *)ppuVar2)();" (assignment_expression "cVar5 = (*(code *)ppuVar2)()" identifier = (call_expression "(*(code *)ppuVar2)()" (parenthesized_expression "(*(code *)ppuVar2)" ( (pointer_expression "*(code *)ppuVar2" * (cast_expression "(code *)ppuVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "iVar14 = (int)cVar5;" (assignment_expression "iVar14 = (int)cVar5" identifier = (cast_expression "(int)cVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) }) (else_clause "else {\n        iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n      }" else (compound_statement "{\n        iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n      }" { (expression_statement "iVar14 = (int)*(char *)((int)piVar7 + 0x27);" (assignment_expression "iVar14 = (int)*(char *)((int)piVar7 + 0x27)" identifier = (cast_expression "(int)*(char *)((int)piVar7 + 0x27)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)((int)piVar7 + 0x27)" * (cast_expression "(char *)((int)piVar7 + 0x27)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar7 + 0x27)" ( (binary_expression "(int)piVar7 + 0x27" (cast_expression "(int)piVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) ;) }))) (expression_statement "*(int *)(puVar17 + -8) = iVar14;" (assignment_expression "*(int *)(puVar17 + -8) = iVar14" (pointer_expression "*(int *)(puVar17 + -8)" * (cast_expression "(int *)(puVar17 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = local_1cc._0_4_;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = local_1cc._0_4_" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (field_expression "local_1cc._0_4_" identifier . field_identifier)) ;) (expression_statement "*(undefined ****)(puVar17 + -0x10) = local_1d0;" (assignment_expression "*(undefined ****)(puVar17 + -0x10) = local_1d0" (pointer_expression "*(undefined ****)(puVar17 + -0x10)" * (cast_expression "(undefined ****)(puVar17 + -0x10)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfc47;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfc47" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003aef80();" (call_expression "FUN_003aef80()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_150 != local_1e0) {\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfe3f;\n      FUN_003ae080();\n    }" if (parenthesized_expression "(local_150 != local_1e0)" ( (binary_expression "local_150 != local_1e0" identifier != identifier) )) (compound_statement "{\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfe3f;\n      FUN_003ae080();\n    }" { (expression_statement "*(undefined1 **)(puVar17 + -0x10) = local_150;" (assignment_expression "*(undefined1 **)(puVar17 + -0x10) = local_150" (pointer_expression "*(undefined1 **)(puVar17 + -0x10)" * (cast_expression "(undefined1 **)(puVar17 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfe3f;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfe3f" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppuVar4 = local_1c4;" (assignment_expression "ppuVar4 = local_1c4" identifier = identifier) ;) (expression_statement "*(undefined ****)(puVar17 + -0x10) = local_1dc;" (assignment_expression "*(undefined ****)(puVar17 + -0x10) = local_1dc" (pointer_expression "*(undefined ****)(puVar17 + -0x10)" * (cast_expression "(undefined ****)(puVar17 + -0x10)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_134 = (undefined ***)(local_200 + 3);" (assignment_expression "local_134 = (undefined ***)(local_200 + 3)" identifier = (cast_expression "(undefined ***)(local_200 + 3)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(local_200 + 3)" ( (binary_expression "local_200 + 3" identifier + number_literal) )))) ;) (expression_statement "local_a4[0] = local_200 + 8;" (assignment_expression "local_a4[0] = local_200 + 8" (subscript_expression "local_a4[0]" identifier [ number_literal ]) = (binary_expression "local_200 + 8" identifier + number_literal)) ;) (expression_statement "local_12c[0] = local_1c4 + -0x9ec;" (assignment_expression "local_12c[0] = local_1c4 + -0x9ec" (subscript_expression "local_12c[0]" identifier [ number_literal ]) = (binary_expression "local_1c4 + -0x9ec" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfe7f;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfe7f" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003de160();" (call_expression "FUN_003de160()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 **)(puVar17 + -0x10) = local_f4;" (assignment_expression "*(undefined1 **)(puVar17 + -0x10) = local_f4" (pointer_expression "*(undefined1 **)(puVar17 + -0x10)" * (cast_expression "(undefined1 **)(puVar17 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfe8d;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfe8d" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae8c0();" (call_expression "FUN_003ae8c0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_12c[0] = ppuVar4 + -0xbd1;" (assignment_expression "local_12c[0] = ppuVar4 + -0xbd1" (subscript_expression "local_12c[0]" identifier [ number_literal ]) = (binary_expression "ppuVar4 + -0xbd1" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar17 + -0x10) = local_110;" (assignment_expression "*(undefined1 **)(puVar17 + -0x10) = local_110" (pointer_expression "*(undefined1 **)(puVar17 + -0x10)" * (cast_expression "(undefined1 **)(puVar17 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfeaa;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfeaa" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003b07e0();" (call_expression "FUN_003b07e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_134 = local_1f4;" (assignment_expression "local_134 = local_1f4" identifier = identifier) ;) (expression_statement "*(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;" (assignment_expression "*(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8" (pointer_expression "*(undefined **)((int)&local_134 + (int)local_1f4[-3])" * (cast_expression "(undefined **)((int)&local_134 + (int)local_1f4[-3])" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&local_134 + (int)local_1f4[-3])" ( (binary_expression "(int)&local_134 + (int)local_1f4[-3]" (cast_expression "(int)&local_134" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_134" & identifier)) + (cast_expression "(int)local_1f4[-3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_1f4[-3]" identifier [ number_literal ]))) )))) = identifier) ;) (expression_statement "local_130 = 0;" (assignment_expression "local_130 = 0" identifier = number_literal) ;) (expression_statement "local_a4[0] = local_1fc + 2;" (assignment_expression "local_a4[0] = local_1fc + 2" (subscript_expression "local_a4[0]" identifier [ number_literal ]) = (binary_expression "local_1fc + 2" identifier + number_literal)) ;) (expression_statement "*(undefined ****)(puVar17 + -0x10) = local_1e8;" (assignment_expression "*(undefined ****)(puVar17 + -0x10) = local_1e8" (pointer_expression "*(undefined ****)(puVar17 + -0x10)" * (cast_expression "(undefined ****)(puVar17 + -0x10)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfeeb;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfeeb" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003f3310();" (call_expression "FUN_003f3310()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar18 = puVar17;" (assignment_expression "puVar18 = puVar17" identifier = identifier) ;) })) (if_statement "if ((*(char *)(param_1 + 0x72d) != '\0') && (*(char *)(param_1 + 0x42e0) == '\0')) {\n    *(int *)(param_1 + 0x42e4) = (int)local_1c4 + -0x1a1f9b;\n  }" if (parenthesized_expression "((*(char *)(param_1 + 0x72d) != '\0') && (*(char *)(param_1 + 0x42e0) == '\0'))" ( (binary_expression "(*(char *)(param_1 + 0x72d) != '\0') && (*(char *)(param_1 + 0x42e0) == '\0')" (parenthesized_expression "(*(char *)(param_1 + 0x72d) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x72d) != '\0'" (pointer_expression "*(char *)(param_1 + 0x72d)" * (cast_expression "(char *)(param_1 + 0x72d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x72d)" ( (binary_expression "param_1 + 0x72d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(param_1 + 0x42e0) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x42e0) == '\0'" (pointer_expression "*(char *)(param_1 + 0x42e0)" * (cast_expression "(char *)(param_1 + 0x42e0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x42e0)" ( (binary_expression "param_1 + 0x42e0" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    *(int *)(param_1 + 0x42e4) = (int)local_1c4 + -0x1a1f9b;\n  }" { (expression_statement "*(int *)(param_1 + 0x42e4) = (int)local_1c4 + -0x1a1f9b;" (assignment_expression "*(int *)(param_1 + 0x42e4) = (int)local_1c4 + -0x1a1f9b" (pointer_expression "*(int *)(param_1 + 0x42e4)" * (cast_expression "(int *)(param_1 + 0x42e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x42e4)" ( (binary_expression "param_1 + 0x42e4" identifier + number_literal) )))) = (binary_expression "(int)local_1c4 + -0x1a1f9b" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) })) (if_statement "if ((*(char *)(param_1 + 0x1a25) != '\0') && (*(char *)(param_1 + 0x1fc) == '\0')) {\n    *(undefined1 *)(param_1 + 0x1fd) = 1;\n  }" if (parenthesized_expression "((*(char *)(param_1 + 0x1a25) != '\0') && (*(char *)(param_1 + 0x1fc) == '\0'))" ( (binary_expression "(*(char *)(param_1 + 0x1a25) != '\0') && (*(char *)(param_1 + 0x1fc) == '\0')" (parenthesized_expression "(*(char *)(param_1 + 0x1a25) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x1a25) != '\0'" (pointer_expression "*(char *)(param_1 + 0x1a25)" * (cast_expression "(char *)(param_1 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1a25)" ( (binary_expression "param_1 + 0x1a25" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(param_1 + 0x1fc) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x1fc) == '\0'" (pointer_expression "*(char *)(param_1 + 0x1fc)" * (cast_expression "(char *)(param_1 + 0x1fc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    *(undefined1 *)(param_1 + 0x1fd) = 1;\n  }" { (expression_statement "*(undefined1 *)(param_1 + 0x1fd) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x1fd) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x1fd)" * (cast_expression "(undefined1 *)(param_1 + 0x1fd)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fd)" ( (binary_expression "param_1 + 0x1fd" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "*(int *)(puVar18 + -0x10) = param_1;" (assignment_expression "*(int *)(puVar18 + -0x10) = param_1" (pointer_expression "*(int *)(puVar18 + -0x10)" * (cast_expression "(int *)(puVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2bff3f;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2bff3f" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002b6130();" (call_expression "FUN_002b6130()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(char *)(param_1 + 0x1a25) == '\0') {\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      if (*(char *)(param_1 + 0x5938) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e5f to 002c0e63 has its CatchHandler @ 002c0e87 */\n        *(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;\n        FUN_0023b7b0();\n      }\n      if (*(char *)(param_1 + 0x318d) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;\n        FUN_0023b7b0();\n      }\n    }\n    if (*(int *)(param_1 + 0x1478) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5642f;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0cdc;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ce4;\n      FUN_0023b7b0();\n    }\n    if (*(int *)(param_1 + 0x1428) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56424;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d10;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d13 to 002c0d17 has its CatchHandler @ 002c0e87 */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d18;\n      FUN_0023b7b0();\n    }\n    if ((*(char *)(param_1 + 0x318d) != '\0') && (*(int *)(param_1 + 0x3288) != 0)) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56418;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0163;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined **)(puVar18 + -0x14) = &UNK_002c016b;\n      FUN_0023b7b0();\n    }\n  }\n  else {\n    if (*(char *)(param_1 + 0x5938) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e32;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c87;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x318d) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6;\n      FUN_0023b7b0();\n    }\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0x1a25) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x1a25) == '\0'" (pointer_expression "*(char *)(param_1 + 0x1a25)" * (cast_expression "(char *)(param_1 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1a25)" ( (binary_expression "param_1 + 0x1a25" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      if (*(char *)(param_1 + 0x5938) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e5f to 002c0e63 has its CatchHandler @ 002c0e87 */\n        *(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;\n        FUN_0023b7b0();\n      }\n      if (*(char *)(param_1 + 0x318d) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;\n        FUN_0023b7b0();\n      }\n    }\n    if (*(int *)(param_1 + 0x1478) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5642f;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0cdc;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ce4;\n      FUN_0023b7b0();\n    }\n    if (*(int *)(param_1 + 0x1428) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56424;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d10;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d13 to 002c0d17 has its CatchHandler @ 002c0e87 */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d18;\n      FUN_0023b7b0();\n    }\n    if ((*(char *)(param_1 + 0x318d) != '\0') && (*(int *)(param_1 + 0x3288) != 0)) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56418;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0163;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined **)(puVar18 + -0x14) = &UNK_002c016b;\n      FUN_0023b7b0();\n    }\n  }" { (if_statement "if (*(char *)(param_1 + 0x2931) != '\0') {\n      if (*(char *)(param_1 + 0x5938) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e5f to 002c0e63 has its CatchHandler @ 002c0e87 */\n        *(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;\n        FUN_0023b7b0();\n      }\n      if (*(char *)(param_1 + 0x318d) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;\n        FUN_0023b7b0();\n      }\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x2931) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x2931) != '\0'" (pointer_expression "*(char *)(param_1 + 0x2931)" * (cast_expression "(char *)(param_1 + 0x2931)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2931)" ( (binary_expression "param_1 + 0x2931" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (*(char *)(param_1 + 0x5938) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e5f to 002c0e63 has its CatchHandler @ 002c0e87 */\n        *(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;\n        FUN_0023b7b0();\n      }\n      if (*(char *)(param_1 + 0x318d) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;\n        FUN_0023b7b0();\n      }\n    }" { (if_statement "if (*(char *)(param_1 + 0x5938) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e5f to 002c0e63 has its CatchHandler @ 002c0e87 */\n        *(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;\n        FUN_0023b7b0();\n      }" if (parenthesized_expression "(*(char *)(param_1 + 0x5938) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x5938) != '\0'" (pointer_expression "*(char *)(param_1 + 0x5938)" * (cast_expression "(char *)(param_1 + 0x5938)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5938)" ( (binary_expression "param_1 + 0x5938" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e5f to 002c0e63 has its CatchHandler @ 002c0e87 */\n        *(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;\n        FUN_0023b7b0();\n      }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x56440" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) comment comment (expression_statement "*(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;" (assignment_expression "*(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64" (pointer_expression "*(undefined1 **)(puVar18 + -0x14)" * (cast_expression "(undefined1 **)(puVar18 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_002c0e64" & identifier)) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)(param_1 + 0x318d) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;\n        FUN_0023b7b0();\n      }" if (parenthesized_expression "(*(char *)(param_1 + 0x318d) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x318d) != '\0'" (pointer_expression "*(char *)(param_1 + 0x318d)" * (cast_expression "(char *)(param_1 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x318d)" ( (binary_expression "param_1 + 0x318d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;\n        FUN_0023b7b0();\n      }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x56e83" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })) })) (if_statement "if (*(int *)(param_1 + 0x1478) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5642f;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0cdc;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ce4;\n      FUN_0023b7b0();\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x1478) != 0)" ( (binary_expression "*(int *)(param_1 + 0x1478) != 0" (pointer_expression "*(int *)(param_1 + 0x1478)" * (cast_expression "(int *)(param_1 + 0x1478)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1478)" ( (binary_expression "param_1 + 0x1478" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5642f;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0cdc;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ce4;\n      FUN_0023b7b0();\n    }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5642f;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5642f" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x5642f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0cdc;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0cdc" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0ce4;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0ce4" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x1428) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56424;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d10;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d13 to 002c0d17 has its CatchHandler @ 002c0e87 */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d18;\n      FUN_0023b7b0();\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x1428) != 0)" ( (binary_expression "*(int *)(param_1 + 0x1428) != 0" (pointer_expression "*(int *)(param_1 + 0x1428)" * (cast_expression "(int *)(param_1 + 0x1428)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1428)" ( (binary_expression "param_1 + 0x1428" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56424;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d10;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d13 to 002c0d17 has its CatchHandler @ 002c0e87 */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d18;\n      FUN_0023b7b0();\n    }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56424;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56424" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x56424" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d10;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d10" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) comment comment (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d18;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d18" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((*(char *)(param_1 + 0x318d) != '\0') && (*(int *)(param_1 + 0x3288) != 0)) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56418;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0163;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined **)(puVar18 + -0x14) = &UNK_002c016b;\n      FUN_0023b7b0();\n    }" if (parenthesized_expression "((*(char *)(param_1 + 0x318d) != '\0') && (*(int *)(param_1 + 0x3288) != 0))" ( (binary_expression "(*(char *)(param_1 + 0x318d) != '\0') && (*(int *)(param_1 + 0x3288) != 0)" (parenthesized_expression "(*(char *)(param_1 + 0x318d) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x318d) != '\0'" (pointer_expression "*(char *)(param_1 + 0x318d)" * (cast_expression "(char *)(param_1 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x318d)" ( (binary_expression "param_1 + 0x318d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(int *)(param_1 + 0x3288) != 0)" ( (binary_expression "*(int *)(param_1 + 0x3288) != 0" (pointer_expression "*(int *)(param_1 + 0x3288)" * (cast_expression "(int *)(param_1 + 0x3288)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3288)" ( (binary_expression "param_1 + 0x3288" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56418;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0163;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined **)(puVar18 + -0x14) = &UNK_002c016b;\n      FUN_0023b7b0();\n    }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56418;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56418" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x56418" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0163;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0163" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_002c016b;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_002c016b" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_002c016b" & identifier)) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })) }) (else_clause "else {\n    if (*(char *)(param_1 + 0x5938) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e32;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c87;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x318d) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6;\n      FUN_0023b7b0();\n    }\n  }" else (compound_statement "{\n    if (*(char *)(param_1 + 0x5938) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e32;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c87;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x318d) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6;\n      FUN_0023b7b0();\n    }\n  }" { (if_statement "if (*(char *)(param_1 + 0x5938) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e32;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a;\n      FUN_0023b7b0();\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x5938) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x5938) != '\0'" (pointer_expression "*(char *)(param_1 + 0x5938)" * (cast_expression "(char *)(param_1 + 0x5938)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5938)" ( (binary_expression "param_1 + 0x5938" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e32;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a;\n      FUN_0023b7b0();\n    }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x56453" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0e32;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0e32" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)(param_1 + 0x2931) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c87;\n      FUN_0023b7b0();\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x2931) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x2931) != '\0'" (pointer_expression "*(char *)(param_1 + 0x2931)" * (cast_expression "(char *)(param_1 + 0x2931)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2931)" ( (binary_expression "param_1 + 0x2931" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c87;\n      FUN_0023b7b0();\n    }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x56449" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c87;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c87" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)(param_1 + 0x318d) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6;\n      FUN_0023b7b0();\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x318d) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x318d) != '\0'" (pointer_expression "*(char *)(param_1 + 0x318d)" * (cast_expression "(char *)(param_1 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x318d)" ( (binary_expression "param_1 + 0x318d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6;\n      FUN_0023b7b0();\n    }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x56437" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })) }))) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(param_1 + 0x27ec);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(param_1 + 0x27ec)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 0x27ec)" * (cast_expression "(undefined4 *)(param_1 + 0x27ec)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x27ec)" ( (binary_expression "param_1 + 0x27ec" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2bff90;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2bff90" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar14 = FUN_002b5ab0();" (assignment_expression "iVar14 = FUN_002b5ab0()" identifier = (call_expression "FUN_002b5ab0()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar14 != 0) &&\n     (((*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')) ||\n      (*(char *)(param_1 + 0x318d) != '\0')))) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5640c;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c60;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c68;\n    FUN_0023b7b0();\n  }" if (parenthesized_expression "((iVar14 != 0) &&\n     (((*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')) ||\n      (*(char *)(param_1 + 0x318d) != '\0'))))" ( (binary_expression "(iVar14 != 0) &&\n     (((*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')) ||\n      (*(char *)(param_1 + 0x318d) != '\0')))" (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) && (parenthesized_expression "(((*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')) ||\n      (*(char *)(param_1 + 0x318d) != '\0')))" ( (parenthesized_expression "((*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')) ||\n      (*(char *)(param_1 + 0x318d) != '\0'))" ( (binary_expression "(*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')) ||\n      (*(char *)(param_1 + 0x318d) != '\0')" (parenthesized_expression "(*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0'))" ( (binary_expression "*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')" (binary_expression "*(char *)(param_1 + 0x1a25) != '\0'" (pointer_expression "*(char *)(param_1 + 0x1a25)" * (cast_expression "(char *)(param_1 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1a25)" ( (binary_expression "param_1 + 0x1a25" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) || (parenthesized_expression "(*(char *)(param_1 + 0x2931) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x2931) != '\0'" (pointer_expression "*(char *)(param_1 + 0x2931)" * (cast_expression "(char *)(param_1 + 0x2931)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2931)" ( (binary_expression "param_1 + 0x2931" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(*(char *)(param_1 + 0x318d) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x318d) != '\0'" (pointer_expression "*(char *)(param_1 + 0x318d)" * (cast_expression "(char *)(param_1 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x318d)" ( (binary_expression "param_1 + 0x318d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (compound_statement "{\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5640c;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c60;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c68;\n    FUN_0023b7b0();\n  }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5640c;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5640c" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x5640c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c60;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c60" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c68;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c68" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((*(char *)(param_1 + 0x1ae4) != '\0') &&\n     ((dVar1 = *(double *)(param_1 + 0x1ae8), dVar1 < 0.0 || (1.0 <= dVar1)))) {\n    local_1cc = dVar1;\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563fc;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c1c;\n    uVar11 = gettext();\n    dVar1 = local_1cc;\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(double *)(puVar18 + -0xc) = dVar1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0c29 to 002c0ce3 has its CatchHandler @ 002c0e87 */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c2e;\n    FUN_0023b7b0();\n  }" if (parenthesized_expression "((*(char *)(param_1 + 0x1ae4) != '\0') &&\n     ((dVar1 = *(double *)(param_1 + 0x1ae8), dVar1 < 0.0 || (1.0 <= dVar1))))" ( (binary_expression "(*(char *)(param_1 + 0x1ae4) != '\0') &&\n     ((dVar1 = *(double *)(param_1 + 0x1ae8), dVar1 < 0.0 || (1.0 <= dVar1)))" (parenthesized_expression "(*(char *)(param_1 + 0x1ae4) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x1ae4) != '\0'" (pointer_expression "*(char *)(param_1 + 0x1ae4)" * (cast_expression "(char *)(param_1 + 0x1ae4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1ae4)" ( (binary_expression "param_1 + 0x1ae4" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((dVar1 = *(double *)(param_1 + 0x1ae8), dVar1 < 0.0 || (1.0 <= dVar1)))" ( (parenthesized_expression "(dVar1 = *(double *)(param_1 + 0x1ae8), dVar1 < 0.0 || (1.0 <= dVar1))" ( (comma_expression "dVar1 = *(double *)(param_1 + 0x1ae8), dVar1 < 0.0 || (1.0 <= dVar1)" (assignment_expression "dVar1 = *(double *)(param_1 + 0x1ae8)" identifier = (pointer_expression "*(double *)(param_1 + 0x1ae8)" * (cast_expression "(double *)(param_1 + 0x1ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1ae8)" ( (binary_expression "param_1 + 0x1ae8" identifier + number_literal) ))))) , (binary_expression "dVar1 < 0.0 || (1.0 <= dVar1)" (binary_expression "dVar1 < 0.0" identifier < number_literal) || (parenthesized_expression "(1.0 <= dVar1)" ( (binary_expression "1.0 <= dVar1" number_literal <= identifier) )))) )) ))) )) (compound_statement "{\n    local_1cc = dVar1;\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563fc;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c1c;\n    uVar11 = gettext();\n    dVar1 = local_1cc;\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(double *)(puVar18 + -0xc) = dVar1;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0c29 to 002c0ce3 has its CatchHandler @ 002c0e87 */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c2e;\n    FUN_0023b7b0();\n  }" { (expression_statement "local_1cc = dVar1;" (assignment_expression "local_1cc = dVar1" identifier = identifier) ;) (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563fc;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563fc" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x563fc" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c1c;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c1c" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "dVar1 = local_1cc;" (assignment_expression "dVar1 = local_1cc" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(double *)(puVar18 + -0xc) = dVar1;" (assignment_expression "*(double *)(puVar18 + -0xc) = dVar1" (pointer_expression "*(double *)(puVar18 + -0xc)" * (cast_expression "(double *)(puVar18 + -0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = identifier) ;) comment comment (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c2e;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c2e" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)(param_1 + 0x5a1c) == '\0') {\n    if (*(int *)(param_1 + 0x5a10) == 0) goto LAB_002c00a3;\n  }\n  else if (*(int *)(param_1 + 0x5a10) == 0) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563ec;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0db6;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dbe;\n    FUN_0023b7b0();\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0x5a1c) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x5a1c) == '\0'" (pointer_expression "*(char *)(param_1 + 0x5a1c)" * (cast_expression "(char *)(param_1 + 0x5a1c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5a1c)" ( (binary_expression "param_1 + 0x5a1c" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (*(int *)(param_1 + 0x5a10) == 0) goto LAB_002c00a3;\n  }" { (if_statement "if (*(int *)(param_1 + 0x5a10) == 0) goto LAB_002c00a3;" if (parenthesized_expression "(*(int *)(param_1 + 0x5a10) == 0)" ( (binary_expression "*(int *)(param_1 + 0x5a10) == 0" (pointer_expression "*(int *)(param_1 + 0x5a10)" * (cast_expression "(int *)(param_1 + 0x5a10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5a10)" ( (binary_expression "param_1 + 0x5a10" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_002c00a3;" goto statement_identifier ;)) }) (else_clause "else if (*(int *)(param_1 + 0x5a10) == 0) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563ec;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0db6;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dbe;\n    FUN_0023b7b0();\n  }" else (if_statement "if (*(int *)(param_1 + 0x5a10) == 0) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563ec;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0db6;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dbe;\n    FUN_0023b7b0();\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x5a10) == 0)" ( (binary_expression "*(int *)(param_1 + 0x5a10) == 0" (pointer_expression "*(int *)(param_1 + 0x5a10)" * (cast_expression "(int *)(param_1 + 0x5a10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5a10)" ( (binary_expression "param_1 + 0x5a10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563ec;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0db6;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dbe;\n    FUN_0023b7b0();\n  }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563ec;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563ec" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x563ec" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0db6;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0db6" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0dbe;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0dbe" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })))) (if_statement "if (*(char *)(param_1 + 0x318d) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563d0;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dd5;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0ddd;\n    FUN_0023b7b0();\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0x318d) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x318d) != '\0'" (pointer_expression "*(char *)(param_1 + 0x318d)" * (cast_expression "(char *)(param_1 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x318d)" ( (binary_expression "param_1 + 0x318d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563d0;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dd5;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0ddd;\n    FUN_0023b7b0();\n  }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563d0;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563d0" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x563d0" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0dd5;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0dd5" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0ddd;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0ddd" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)(param_1 + 0x3095) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563c4;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0df4;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dfc;\n    FUN_0023b7b0();\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0x3095) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x3095) != '\0'" (pointer_expression "*(char *)(param_1 + 0x3095)" * (cast_expression "(char *)(param_1 + 0x3095)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3095)" ( (binary_expression "param_1 + 0x3095" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563c4;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0df4;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dfc;\n    FUN_0023b7b0();\n  }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563c4;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563c4" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x563c4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0df4;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0df4" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0dfc;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0dfc" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x593c) != 0) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563b5;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e13;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e1b;\n    FUN_0023b7b0();\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x593c) != 0)" ( (binary_expression "*(int *)(param_1 + 0x593c) != 0" (pointer_expression "*(int *)(param_1 + 0x593c)" * (cast_expression "(int *)(param_1 + 0x593c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x593c)" ( (binary_expression "param_1 + 0x593c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563b5;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e13;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e1b;\n    FUN_0023b7b0();\n  }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563b5;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563b5" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x563b5" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0e13;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0e13" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0e1b;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0e1b" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)(param_1 + 0x56b9) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563a8;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d78;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d7b to 002c0e39 has its CatchHandler @ 002c0e87 */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d80;\n    FUN_0023b7b0();\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0x56b9) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x56b9) != '\0'" (pointer_expression "*(char *)(param_1 + 0x56b9)" * (cast_expression "(char *)(param_1 + 0x56b9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x56b9)" ( (binary_expression "param_1 + 0x56b9" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563a8;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d78;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d7b to 002c0e39 has its CatchHandler @ 002c0e87 */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d80;\n    FUN_0023b7b0();\n  }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563a8;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563a8" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x563a8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d78;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d78" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) comment comment (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d80;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d80" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)(param_1 + 0x2931) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5639b;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d97;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d9f;\n    FUN_0023b7b0();\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0x2931) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x2931) != '\0'" (pointer_expression "*(char *)(param_1 + 0x2931)" * (cast_expression "(char *)(param_1 + 0x2931)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2931)" ( (binary_expression "param_1 + 0x2931" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5639b;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d97;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d9f;\n    FUN_0023b7b0();\n  }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5639b;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5639b" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x5639b" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d97;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d97" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d9f;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d9f" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)(param_1 + 0x18b1) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5638f;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a6f;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a77;\n    FUN_0023b840();\n    *(undefined1 *)(param_1 + 0x18b1) = 0;\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0x18b1) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x18b1) != '\0'" (pointer_expression "*(char *)(param_1 + 0x18b1)" * (cast_expression "(char *)(param_1 + 0x18b1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18b1)" ( (binary_expression "param_1 + 0x18b1" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5638f;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a6f;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a77;\n    FUN_0023b840();\n    *(undefined1 *)(param_1 + 0x18b1) = 0;\n  }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5638f;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5638f" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x5638f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0a6f;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0a6f" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0a77;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0a77" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b840();" (call_expression "FUN_0023b840()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 *)(param_1 + 0x18b1) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x18b1) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x18b1)" * (cast_expression "(undefined1 *)(param_1 + 0x18b1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18b1)" ( (binary_expression "param_1 + 0x18b1" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "bVar22 = *(int *)(param_1 + 0x5934) == 0;" (assignment_expression "bVar22 = *(int *)(param_1 + 0x5934) == 0" identifier = (binary_expression "*(int *)(param_1 + 0x5934) == 0" (pointer_expression "*(int *)(param_1 + 0x5934)" * (cast_expression "(int *)(param_1 + 0x5934)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5934)" ( (binary_expression "param_1 + 0x5934" identifier + number_literal) )))) == number_literal)) ;) (expression_statement "bVar24 = !bVar22;" (assignment_expression "bVar24 = !bVar22" identifier = (unary_expression "!bVar22" ! identifier)) ;) (if_statement "if (bVar24) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56383;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a37;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a3f;\n    FUN_0023b840();\n    *(undefined4 *)(param_1 + 0x5934) = 0;\n  }" if (parenthesized_expression "(bVar24)" ( identifier )) (compound_statement "{\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56383;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a37;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a3f;\n    FUN_0023b840();\n    *(undefined4 *)(param_1 + 0x5934) = 0;\n  }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56383;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56383" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x56383" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0a37;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0a37" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0a3f;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0a3f" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b840();" (call_expression "FUN_0023b840()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x5934) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x5934) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x5934)" * (cast_expression "(undefined4 *)(param_1 + 0x5934)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5934)" ( (binary_expression "param_1 + 0x5934" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "bVar24 = bVar24 && (undefined1 *)0xffffffef < puVar18 + -0x10;" (assignment_expression "bVar24 = bVar24 && (undefined1 *)0xffffffef < puVar18 + -0x10" identifier = (binary_expression "bVar24 && (undefined1 *)0xffffffef < puVar18 + -0x10" identifier && (binary_expression "(undefined1 *)0xffffffef < puVar18 + -0x10" (cast_expression "(undefined1 *)0xffffffef" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (binary_expression "puVar18 + -0x10" identifier + number_literal)))) ;) (expression_statement "bVar22 = bVar22 || puVar18 == (undefined1 *)0x0;" (assignment_expression "bVar22 = bVar22 || puVar18 == (undefined1 *)0x0" identifier = (binary_expression "bVar22 || puVar18 == (undefined1 *)0x0" identifier || (binary_expression "puVar18 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) ;) (expression_statement "iVar14 = 5;" (assignment_expression "iVar14 = 5" identifier = number_literal) ;) (expression_statement "pbVar19 = *(byte **)(param_1 + 0x99c);" (assignment_expression "pbVar19 = *(byte **)(param_1 + 0x99c)" identifier = (pointer_expression "*(byte **)(param_1 + 0x99c)" * (cast_expression "(byte **)(param_1 + 0x99c)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x99c)" ( (binary_expression "param_1 + 0x99c" identifier + number_literal) ))))) ;) (expression_statement "pbVar20 = local_1f0;" (assignment_expression "pbVar20 = local_1f0" identifier = identifier) ;) (do_statement "do {\n    if (iVar14 == 0) break;\n    iVar14 = iVar14 + -1;\n    bVar24 = *pbVar19 < *pbVar20;\n    bVar22 = *pbVar19 == *pbVar20;\n    pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n  } while (bVar22);" do (compound_statement "{\n    if (iVar14 == 0) break;\n    iVar14 = iVar14 + -1;\n    bVar24 = *pbVar19 < *pbVar20;\n    bVar22 = *pbVar19 == *pbVar20;\n    pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n  }" { (if_statement "if (iVar14 == 0) break;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (expression_statement "bVar24 = *pbVar19 < *pbVar20;" (assignment_expression "bVar24 = *pbVar19 < *pbVar20" identifier = (binary_expression "*pbVar19 < *pbVar20" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar22 = *pbVar19 == *pbVar20;" (assignment_expression "bVar22 = *pbVar19 == *pbVar20" identifier = (binary_expression "*pbVar19 == *pbVar20" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar19 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar19 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar22)" ( identifier )) ;) (if_statement "if ((!bVar24 && !bVar22) != bVar24) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56379;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c09ff;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* try { // try from 002c0a02 to 002c0a76 has its CatchHandler @ 002c0e87 */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a07;\n    FUN_0023b840();\n    *(byte **)(param_1 + 0x99c) = local_1f0;\n  }" if (parenthesized_expression "((!bVar24 && !bVar22) != bVar24)" ( (binary_expression "(!bVar24 && !bVar22) != bVar24" (parenthesized_expression "(!bVar24 && !bVar22)" ( (binary_expression "!bVar24 && !bVar22" (unary_expression "!bVar24" ! identifier) && (unary_expression "!bVar22" ! identifier)) )) != identifier) )) (compound_statement "{\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56379;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c09ff;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    /* try { // try from 002c0a02 to 002c0a76 has its CatchHandler @ 002c0e87 */\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a07;\n    FUN_0023b840();\n    *(byte **)(param_1 + 0x99c) = local_1f0;\n  }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56379;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56379" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x56379" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c09ff;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c09ff" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0a07;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0a07" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b840();" (call_expression "FUN_0023b840()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(byte **)(param_1 + 0x99c) = local_1f0;" (assignment_expression "*(byte **)(param_1 + 0x99c) = local_1f0" (pointer_expression "*(byte **)(param_1 + 0x99c)" * (cast_expression "(byte **)(param_1 + 0x99c)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x99c)" ( (binary_expression "param_1 + 0x99c" identifier + number_literal) )))) = identifier) ;) })) (labeled_statement "LAB_002c00a3:\n  if (*(char *)(param_1 + 0x3344) != '\0') {\n    *(undefined1 *)(param_1 + 0x32c9) = 1;\n  }" statement_identifier : (if_statement "if (*(char *)(param_1 + 0x3344) != '\0') {\n    *(undefined1 *)(param_1 + 0x32c9) = 1;\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0x3344) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x3344) != '\0'" (pointer_expression "*(char *)(param_1 + 0x3344)" * (cast_expression "(char *)(param_1 + 0x3344)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3344)" ( (binary_expression "param_1 + 0x3344" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    *(undefined1 *)(param_1 + 0x32c9) = 1;\n  }" { (expression_statement "*(undefined1 *)(param_1 + 0x32c9) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x32c9) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x32c9)" * (cast_expression "(undefined1 *)(param_1 + 0x32c9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x32c9)" ( (binary_expression "param_1 + 0x32c9" identifier + number_literal) )))) = number_literal) ;) }))) (if_statement "if (local_1bc != local_1ec) {\n    *(undefined1 **)(puVar18 + -0x10) = local_1bc;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c00d3;\n    FUN_003ae080();\n  }" if (parenthesized_expression "(local_1bc != local_1ec)" ( (binary_expression "local_1bc != local_1ec" identifier != identifier) )) (compound_statement "{\n    *(undefined1 **)(puVar18 + -0x10) = local_1bc;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c00d3;\n    FUN_003ae080();\n  }" { (expression_statement "*(undefined1 **)(puVar18 + -0x10) = local_1bc;" (assignment_expression "*(undefined1 **)(puVar18 + -0x10) = local_1bc" (pointer_expression "*(undefined1 **)(puVar18 + -0x10)" * (cast_expression "(undefined1 **)(puVar18 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c00d3;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c00d3" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return;" return ;) })))
(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/* DWARF original prototype: void finalize(General_options * this) */\n\nvoid __thiscall gold::General_options::finalize(General_options *this)\n\n{\n  pointer *ppSVar1;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar2;\n  double dVar3;\n  ctype<char> *this_00;\n  undefined **ppuVar4;\n  iterator iVar5;\n  string *psVar6;\n  undefined **ppuVar7;\n  char cVar8;\n  ctype<char> cVar9;\n  __node_base *p_Var10;\n  undefined4 *puVar11;\n  Object_format OVar12;\n  size_t sVar13;\n  uint uVar14;\n  char *pcVar15;\n  demangling_styles style;\n  int *piVar16;\n  char *pcVar17;\n  char *format;\n  int iVar18;\n  undefined *puVar19;\n  uint uVar20;\n  undefined1 *puVar21;\n  undefined1 *puVar22;\n  byte *pbVar23;\n  byte *pbVar24;\n  byte *pbVar25;\n  byte *pbVar26;\n  bool bVar27;\n  bool bVar28;\n  bool bVar29;\n  byte bVar30;\n  undefined4 uStack_230;\n  uint uVar31;\n  undefined4 uVar32;\n  undefined1 auStack_20c [12];\n  undefined **local_200;\n  undefined **local_1fc;\n  undefined *local_1f8;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *local_1f4;\n  byte *local_1f0;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *local_1ec;\n  ios_base *local_1e8;\n  undefined1 *local_1e4;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *local_1e0;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *local_1dc;\n  Dir_list *local_1d8;\n  string *local_1d4;\n  Search_directory *local_1d0;\n  double local_1cc;\n  undefined **local_1c4;\n  undefined1 local_1c0 [4];\n  string libpath;\n  Search_directory local_1a4;\n  Search_directory local_188;\n  Search_directory local_16c;\n  string line;\n  ifstream in;\n  size_type local_130;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  local_12c;\n  undefined2 local_11c;\n  undefined1 local_110 [28];\n  undefined1 local_f4 [60];\n  int aiStack_b8 [5];\n  undefined **local_a4 [5];\n  byte local_90;\n  undefined4 local_34;\n  undefined2 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  bVar30 = 0;\n  local_1c4 = &_GLOBAL_OFFSET_TABLE_;\n  bVar29 = (this->strip_all_).value;\n  if (bVar29 == false) {\n    if ((this->strip_debug_).value != false) goto LAB_002bfd3a;\n    if ((this->strip_debug_non_line_).value != false) {\n      bVar27 = false;\n      goto LAB_002bfd49;\n    }\n    bVar27 = false;\n    if ((this->Bshareable_).value != false) goto LAB_002bfd5c;\n  }\n  else {\n    (this->strip_debug_).value = true;\nLAB_002bfd3a:\n    bVar27 = true;\n    (this->strip_debug_non_line_).value = true;\nLAB_002bfd49:\n    (this->strip_debug_gdb_).value = true;\n    if ((this->Bshareable_).value != false) {\nLAB_002bfd5c:\n      (this->shared_).value = true;\n    }\n    if (((bVar29 != false) && ((this->relocatable_).value != false)) &&\n       ((this->strip_all_).value = false, !bVar27)) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/options.cc",0x453,"finalize");\n    }\n  }\n  if ((this->dc_).value != false) {\n    (this->define_common_).value = true;\n  }\n  if ((this->dp_).value != false) {\n    (this->define_common_).value = true;\n  }\n  if ((this->define_common_).user_set_via_option == false) {\n    bVar29 = (this->relocatable_).value;\n    local_1cc = (double)CONCAT71(local_1cc._1_7_,bVar29);\n    (this->define_common_).value = (bool)(bVar29 ^ 1);\n  }\n  bVar29 = (this->execstack_).value == false;\n  if (bVar29) {\n    bVar29 = (this->noexecstack_).value == false;\n    if (!bVar29) {\n      this->execstack_status_ = EXECSTACK_NO;\n    }\n  }\n  else {\n    this->execstack_status_ = EXECSTACK_YES;\n  }\n  bVar27 = false;\n  iVar18 = 5;\n  pbVar23 = (byte *)(this->icf_).value;\n  local_1f0 = (byte *)0x48e342;\n  pbVar24 = pbVar23;\n  pbVar26 = (byte *)0x48e342;\n  do {\n    pbVar25 = pbVar26;\n    if (iVar18 == 0) break;\n    iVar18 = iVar18 + -1;\n    pbVar25 = pbVar26 + 1;\n    bVar27 = *pbVar24 < *pbVar26;\n    bVar29 = *pbVar24 == *pbVar26;\n    pbVar24 = pbVar24 + 1;\n    pbVar26 = pbVar25;\n  } while (bVar29);\n  bVar28 = false;\n  bVar29 = (!bVar27 && !bVar29) == bVar27;\n  if (bVar29) {\n    this->icf_status_ = ICF_NONE;\n  }\n  else {\n    iVar18 = 5;\n    pbVar24 = (byte *)0x48dc94;\n    do {\n      pbVar25 = pbVar24;\n      if (iVar18 == 0) break;\n      iVar18 = iVar18 + -1;\n      pbVar25 = pbVar24 + 1;\n      bVar28 = *pbVar23 < *pbVar24;\n      bVar29 = *pbVar23 == *pbVar24;\n      pbVar23 = pbVar23 + 1;\n      pbVar24 = pbVar25;\n    } while (bVar29);\n    this->icf_status_ = ((!bVar28 && !bVar29) == bVar28) + ICF_ALL;\n  }\n  if ((this->demangle_).user_set_via_option == false) {\n    if ((this->no_demangle_).user_set_via_option == false) {\n      pcVar15 = getenv("COLLECT_NO_DEMANGLE");\n      this->do_demangle_ = pcVar15 == (char *)0x0;\n    }\n    else {\n      this->do_demangle_ = false;\n    }\n  }\n  else {\n    pcVar15 = (this->demangle_).value;\n    this->do_demangle_ = true;\n    if (*pcVar15 != '\0') {\n      style = cplus_demangle_name_to_style(pcVar15);\n      if (style == unknown_demangling) {\n                    /* WARNING: Subroutine does not return */\n        gold_fatal((char *)(local_1c4 + -0x56e9a),pcVar15,pbVar25,pbVar25);\n      }\n      cplus_demangle_set_style(style);\n    }\n  }\n  bVar29 = false;\n  bVar27 = (this->orphan_handling_).user_set_via_option == false;\n  if (!bVar27) {\n    pbVar23 = (byte *)(this->orphan_handling_).value;\n    iVar18 = 6;\n    pbVar24 = pbVar23;\n    pbVar26 = (byte *)((int)local_1c4 + -0x1477fe);\n    do {\n      if (iVar18 == 0) break;\n      iVar18 = iVar18 + -1;\n      bVar29 = *pbVar24 < *pbVar26;\n      bVar27 = *pbVar24 == *pbVar26;\n      pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n      pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n    } while (bVar27);\n    bVar28 = false;\n    bVar29 = (!bVar29 && !bVar27) == bVar29;\n    if (bVar29) {\n      this->orphan_handling_enum_ = ORPHAN_PLACE;\n    }\n    else {\n      iVar18 = 8;\n      pbVar24 = pbVar23;\n      pbVar26 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar18 == 0) break;\n        iVar18 = iVar18 + -1;\n        bVar28 = *pbVar24 < *pbVar26;\n        bVar29 = *pbVar24 == *pbVar26;\n        pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n        pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar27 = false;\n      bVar29 = (!bVar28 && !bVar29) == bVar28;\n      if (bVar29) {\n        this->orphan_handling_enum_ = ORPHAN_DISCARD;\n      }\n      else {\n        iVar18 = 5;\n        pbVar24 = pbVar23;\n        pbVar26 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar18 == 0) break;\n          iVar18 = iVar18 + -1;\n          bVar27 = *pbVar24 < *pbVar26;\n          bVar29 = *pbVar24 == *pbVar26;\n          pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n          pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n        } while (bVar29);\n        bVar28 = false;\n        bVar29 = (!bVar27 && !bVar29) == bVar27;\n        if (bVar29) {\n          this->orphan_handling_enum_ = ORPHAN_WARN;\n        }\n        else {\n          iVar18 = 6;\n          pbVar24 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar18 == 0) break;\n            iVar18 = iVar18 + -1;\n            bVar28 = *pbVar23 < *pbVar24;\n            bVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar30 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n          } while (bVar29);\n          if ((!bVar28 && !bVar29) == bVar28) {\n            this->orphan_handling_enum_ = ORPHAN_ERROR;\n          }\n        }\n      }\n    }\n  }\n  if (((this->print_map_).value != false) && ((this->Map_).user_set_via_option == false)) {\n    (this->Map_).user_set_via_option = true;\n    (this->Map_).value = (char *)(local_1c4 + -0x573ca);\n  }\n  if (((this->nmagic_).value != false) || ((this->omagic_).value != false)) {\n    this->static_ = true;\n  }\n  iVar18 = (this->thread_count_).value;\n  if (0 < iVar18) {\n    if ((this->thread_count_initial_).value == 0) {\n      (this->thread_count_initial_).value = iVar18;\n    }\n    if ((this->thread_count_middle_).value == 0) {\n      (this->thread_count_middle_).value = iVar18;\n    }\n    if ((this->thread_count_final_).value == 0) {\n      (this->thread_count_final_).value = iVar18;\n    }\n  }\n  libpath.field_2._M_local_buf[0] = '\0';\n  local_1d4 = &libpath;\n  local_1ec = &libpath.field_2;\n  libpath._M_dataplus._M_p = (pointer)&libpath.field_2;\n  libpath._M_string_length = 0;\n  if ((this->Y_).user_set_via_option == false) {\n    if ((this->nostdlib_).value == false) {\n      local_1dc = &local_12c;\n      local_1d0 = (Search_directory *)&in;\n      _in = (pointer)local_1dc;\n                    /* try { // try from 002c0505 to 002c0509 has its CatchHandler @ 002c0e87 */\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>_> *)local_1d0,\n                 (int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);\n      paVar2 = &local_1a4.name_.field_2;\n      local_1a4.name_._M_dataplus._M_p = (pointer)paVar2;\n                    /* try { // try from 002c0532 to 002c0536 has its CatchHandler @ 002c0ef5 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char*>(&local_1a4.name_,_in,(filebuf *)(_in + local_130),0);\n      local_1a4.put_in_sysroot_ = true;\n      local_1a4.is_in_sysroot_ = false;\n      if (local_1a4.name_._M_string_length == 0) {\n                    /* try { // try from 002c0957 to 002c095b has its CatchHandler @ 002c0e8e */\n        std::string::_M_replace((string *)&local_1a4,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }\n      local_1d8 = &(this->library_path_).value;\n      iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n           _M_impl._M_finish;\n      if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0973 to 002c0977 has its CatchHandler @ 002c0e95 */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_1a4);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c058f to 002c0593 has its CatchHandler @ 002c0e95 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_1a4.name_._M_dataplus._M_p,\n                            local_1a4.name_._M_dataplus._M_p + local_1a4.name_._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = local_1a4.put_in_sysroot_;\n        (iVar5._M_current)->is_in_sysroot_ = local_1a4.is_in_sysroot_;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_1a4.name_._M_dataplus._M_p != paVar2) {\n        operator_delete(local_1a4.name_._M_dataplus._M_p);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }\n      _in = (pointer)local_1dc;\n                    /* try { // try from 002c0619 to 002c061d has its CatchHandler @ 002c0e87 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>\n                (&local_1d0->name_,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);\n      paVar2 = &local_188.name_.field_2;\n      local_188.name_._M_dataplus._M_p = (pointer)paVar2;\n                    /* try { // try from 002c0646 to 002c064a has its CatchHandler @ 002c0ecd */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char*>(&local_188.name_,_in,(filebuf *)(_in + local_130),0);\n      local_188.put_in_sysroot_ = true;\n      local_188.is_in_sysroot_ = false;\n      if (local_188.name_._M_string_length == 0) {\n                    /* try { // try from 002c0af7 to 002c0afb has its CatchHandler @ 002c0eb8 */\n        std::string::_M_replace((string *)&local_188,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }\n      iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n           _M_impl._M_finish;\n      if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0b8b to 002c0b8f has its CatchHandler @ 002c0ebf */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_188);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c0695 to 002c0699 has its CatchHandler @ 002c0ebf */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_188.name_._M_dataplus._M_p,\n                            local_188.name_._M_dataplus._M_p + local_188.name_._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = local_188.put_in_sysroot_;\n        (iVar5._M_current)->is_in_sysroot_ = local_188.is_in_sysroot_;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_188.name_._M_dataplus._M_p != paVar2) {\n        operator_delete(local_188.name_._M_dataplus._M_p);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }\n      _in = (pointer)local_1dc;\n                    /* try { // try from 002c071f to 002c0723 has its CatchHandler @ 002c0e87 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>\n                (&local_1d0->name_,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);\n      paVar2 = &local_16c.name_.field_2;\n      local_16c.name_._M_dataplus._M_p = (pointer)paVar2;\n                    /* try { // try from 002c074c to 002c0750 has its CatchHandler @ 002c0ec6 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char*>(&local_16c.name_,_in,(filebuf *)(_in + local_130),0);\n      local_16c.put_in_sysroot_ = true;\n      local_16c.is_in_sysroot_ = false;\n      if (local_16c.name_._M_string_length == 0) {\n                    /* try { // try from 002c0b1f to 002c0b23 has its CatchHandler @ 002c0eb1 */\n        std::string::_M_replace((string *)&local_16c,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }\n      iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n           _M_impl._M_finish;\n      if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0b6b to 002c0b6f has its CatchHandler @ 002c0e9c */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_16c);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c079b to 002c079f has its CatchHandler @ 002c0e9c */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_16c.name_._M_dataplus._M_p,\n                            local_16c.name_._M_dataplus._M_p + local_16c.name_._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = local_16c.put_in_sysroot_;\n        (iVar5._M_current)->is_in_sysroot_ = local_16c.is_in_sysroot_;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_16c.name_._M_dataplus._M_p != paVar2) {\n        operator_delete(local_16c.name_._M_dataplus._M_p);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }\n      _in = (pointer)local_1dc;\n                    /* try { // try from 002c0825 to 002c0829 has its CatchHandler @ 002c0e87 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>\n                (&local_1d0->name_,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);\n      local_1e0 = &line.field_2;\n      local_1cc = (double)CONCAT44(local_1cc._4_4_,&line);\n      line._M_dataplus._M_p = (pointer)local_1e0;\n                    /* try { // try from 002c085e to 002c0862 has its CatchHandler @ 002c0e6b */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char*>(&line,_in,(filebuf *)(_in + local_130),0);\n      if (line._M_string_length == 0) {\n                    /* try { // try from 002c0b4c to 002c0b50 has its CatchHandler @ 002c0eaa */\n        std::string::_M_replace\n                  ((string *)local_1cc._0_4_,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }\n      iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n           _M_impl._M_finish;\n      if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0bb0 to 002c0bb4 has its CatchHandler @ 002c0e64 */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,local_1cc._0_4_);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c08ad to 002c08b1 has its CatchHandler @ 002c0e64 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,line._M_dataplus._M_p,\n                            line._M_dataplus._M_p + line._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = true;\n        (iVar5._M_current)->is_in_sysroot_ = false;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)line._M_dataplus._M_p != local_1e0) {\n        operator_delete(line._M_dataplus._M_p);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }\n      goto LAB_002c0258;\n    }\n  }\n  else {\n    pcVar15 = (this->Y_).value;\n    sVar13 = strlen(pcVar15);\n    psVar6 = local_1d4;\n                    /* try { // try from 002c022e to 002c02de has its CatchHandler @ 002c0e87 */\n    std::string::_M_replace((string *)local_1d4,0,0,pcVar15,sVar13);\n    iVar18 = std::string::compare((uint)psVar6,0,(char *)0x2);\n    if (iVar18 == 0) {\n                    /* try { // try from 002c0acd to 002c0ad1 has its CatchHandler @ 002c0e87 */\n      std::string::_M_erase((uint)local_1d4,0);\n    }\nLAB_002c0258:\n    uVar31 = 0;\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&line);\n    if (libpath._M_string_length != 0) {\n      do {\n        iVar18 = std::string::find((char)local_1d4,0x3a);\n        uVar20 = 0xffffffff;\n        if ((iVar18 == -1) || (uVar20 = iVar18 - uVar31, uVar20 != 0)) {\n          if (libpath._M_string_length < uVar31) {\n                    /* WARNING: Subroutine does not return */\n            std::__throw_out_of_range_fmt\n                      ((char *)(local_1c4 + -0x58f98),(int)local_1c4 + -0x1641fb,uVar31,\n                       libpath._M_string_length);\n          }\n          local_1e0 = &line.field_2;\n          uVar14 = libpath._M_string_length - uVar31;\n          if (uVar20 < libpath._M_string_length - uVar31) {\n            uVar14 = uVar20;\n          }\n          line._M_dataplus._M_p = (pointer)local_1e0;\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char_const*>\n                    (&(local_1cc._0_4_)->name_,libpath._M_dataplus._M_p + uVar31,\n                     libpath._M_dataplus._M_p + uVar31 + uVar14,0);\n          local_1dc = &local_12c;\n          local_1d0 = (Search_directory *)&in;\n          _in = (pointer)local_1dc;\n                    /* try { // try from 002c0313 to 002c0317 has its CatchHandler @ 002c0ea3 */\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>_> *)\n                              local_1d0,line._M_dataplus._M_p,\n                              line._M_dataplus._M_p + line._M_string_length,0);\n          local_11c._0_1_ = true;\n          local_11c._1_1_ = false;\n          if (local_130 == 0) {\n                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */\n            std::string::_M_replace((string *)local_1d0,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n          }\n          iVar5._M_current =\n               (this->library_path_).value.\n               super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n               _M_impl._M_finish;\n          if (iVar5._M_current ==\n              (this->library_path_).value.\n              super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n              _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */\n            std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n            _M_realloc_insert<const_gold::Search_directory&>\n                      (&(this->library_path_).value,iVar5,local_1d0);\n          }\n          else {\n            ((iVar5._M_current)->name_)._M_dataplus._M_p =\n                 (pointer)&((iVar5._M_current)->name_).field_2;\n                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */\n            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>(&(iVar5._M_current)->name_,_in,(filebuf *)(_in + local_130),0);\n            (iVar5._M_current)->put_in_sysroot_ = local_11c._0_1_;\n            (iVar5._M_current)->is_in_sysroot_ = local_11c._1_1_;\n            ppSVar1 = &(this->library_path_).value.\n                       super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                       ._M_impl._M_finish;\n            *ppSVar1 = *ppSVar1 + 1;\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_in != local_1dc) {\n            operator_delete(_in);\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)line._M_dataplus._M_p != local_1e0) {\n            operator_delete(line._M_dataplus._M_p);\n          }\n          if (iVar18 == -1) break;\n        }\n        uVar31 = iVar18 + 1;\n      } while( true );\n    }\n  }\n  ppuVar7 = local_1c4;\n  puVar21 = auStack_20c;\n  puVar22 = auStack_20c;\n  if ((this->retain_symbols_file_).value != (char *)0x0) {\n    local_1e8 = (ios_base *)local_a4;\n    local_1d0 = (Search_directory *)&in;\n    std::ios_base::ios_base(local_1e8);\n    local_1fc = ppuVar7 + -0xa0e;\n    local_34 = 0;\n    local_2c = 0;\n    local_a4[0] = ppuVar7 + -0xa0c;\n    local_30 = 0;\n    local_28 = 0;\n    local_1f4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)ppuVar7[-0x9d3];\n    local_1f8 = ppuVar7[-0x9d2];\n    local_24 = 0;\n    local_20 = 0;\n    _in = (pointer)local_1f4;\n    *(undefined **)(&in + *(int *)(local_1f4->_M_local_buf + -0xc)) = local_1f8;\n                    /* try { // try from 002bfb07 to 002bfb0b has its CatchHandler @ 002c0ee2 */\n    std::ios::init((streambuf *)\n                   ((int)&(((Search_directory *)&in)->name_)._M_dataplus._M_p +\n                   *(int *)(local_1f4->_M_local_buf + -0xc)));\n    local_200 = ppuVar7 + -0x9d0;\n    _in = (pointer)(ppuVar7 + -0x9cd);\n    local_a4[0] = ppuVar7 + -0x9c8;\n    local_1dc = &local_12c;\n                    /* try { // try from 002bfb39 to 002bfb3d has its CatchHandler @ 002c0ed4 */\n    std::filebuf::filebuf((filebuf *)local_12c._M_local_buf);\n                    /* try { // try from 002bfb47 to 002bfb4b has its CatchHandler @ 002c0e79 */\n    std::ios::init((streambuf *)local_1e8);\n    uVar32 = 8;\n                    /* try { // try from 002bfb5b to 002bfb8a has its CatchHandler @ 002c0e80 */\n    iVar18 = std::filebuf::open(local_12c._M_local_buf,\n                                (_Ios_Openmode)(this->retain_symbols_file_).value);\n    puVar19 = *(undefined **)(_in + -0xc) + (int)&(local_1d0->name_)._M_dataplus;\n    if (iVar18 == 0) {\n      uVar31 = *(uint *)(puVar19 + 0x14) | 4;\n                    /* try { // try from 002c0aa1 to 002c0aa5 has its CatchHandler @ 002c0e80 */\n      std::ios::clear((_Ios_Iostate)puVar19);\n    }\n    else {\n      uVar31 = 0;\n      std::ios::clear((_Ios_Iostate)puVar19);\n    }\n    ppuVar7 = local_1c4;\n    if ((local_90 & 5) != 0) {\n      piVar16 = __errno_location();\n      pcVar17 = strerror(*piVar16);\n      pcVar15 = (this->retain_symbols_file_).value;\n      format = (char *)gettext(local_1c4 + -0x5645f,uVar31);\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d5c to 002c0d60 has its CatchHandler @ 002c0e80 */\n      gold_fatal(format,pcVar15,pcVar17);\n    }\n    line.field_2._M_local_buf[0] = '\0';\n    local_1e0 = &line.field_2;\n    line._M_dataplus._M_p = (pointer)&line.field_2;\n    line._M_string_length = 0;\n    this_00 = *(ctype<char> **)((int)aiStack_b8 + (int)*(undefined **)(_in + -0xc));\n    if (this_00 == (ctype<char> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e40 to 002c0e44 has its CatchHandler @ 002c0edb */\n      std::__throw_bad_cast();\n    }\n    if (this_00[0x1c] == (ctype<char>)0x0) {\n                    /* try { // try from 002c043c to 002c0463 has its CatchHandler @ 002c0edb */\n      std::ctype<char>::_M_widen_init(this_00);\n      cVar9 = (ctype<char>)0xa;\n      if (*(undefined ***)(*(int *)this_00 + 0x18) != ppuVar7 + -0xdabd4) {\n        cVar9 = (ctype<char>)(*(code *)*(undefined ***)(*(int *)this_00 + 0x18))(this_00,10,uVar32);\n      }\n    }\n    else {\n      cVar9 = this_00[0x27];\n    }\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&line);\n                    /* try { // try from 002bfc01 to 002bfc46 has its CatchHandler @ 002c0edb */\n    std::getline<char,std::char_traits<char>,std::allocator<char>>\n              ((istream *)local_1d0,(string *)&line,(char)cVar9);\n    local_1d4 = (string *)&this->symbols_to_retain_;\n    local_1e4 = local_1c0;\n    while ((local_90 & 5) == 0) {\n      if ((line._M_string_length != 0) && (line._M_dataplus._M_p[line._M_string_length - 1] == '\r')\n         ) {\n        *(undefined4 *)(puVar21 + -8) = 0;\n        *(size_type *)(puVar21 + -0xc) = line._M_string_length - 1;\n        *(Search_directory **)(puVar21 + -0x10) = local_1cc._0_4_;\n                    /* try { // try from 002c0182 to 002c0186 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2c0187;\n        std::string::resize(*(uint *)(puVar21 + -0x10),puVar21[-0xc]);\n      }\n      *(undefined4 *)(puVar21 + -8) = 0xc70f6907;\n      *(size_type *)(puVar21 + -0xc) = line._M_string_length;\n      *(pointer *)(puVar21 + -0x10) = line._M_dataplus._M_p;\n      *(undefined4 *)(puVar21 + -0x14) = 0x2bfc8a;\n      uVar31 = std::_Hash_bytes(*(void **)(puVar21 + -0x10),*(uint *)(puVar21 + -0xc),\n                                *(uint *)(puVar21 + -8));\n      local_1d8 = (Dir_list *)(uVar31 % (this->symbols_to_retain_)._M_h._M_bucket_count);\n      *(uint *)(puVar21 + -0x14) = uVar31;\n      *(Search_directory **)(puVar21 + -0x18) = local_1cc._0_4_;\n      *(Dir_list **)(puVar21 + -0x1c) = local_1d8;\n      *(string **)(puVar21 + -0x20) = local_1d4;\n      *(undefined4 *)(puVar21 + -0x24) = 0x2bfcb0;\n      p_Var10 = std::\n                _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::_M_find_before_node\n                          (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                           *(key_type **)(puVar21 + -0x18),*(__hash_code *)(puVar21 + -0x14));\n      if ((p_Var10 == (__node_base *)0x0) || (p_Var10->_M_nxt == (_Hash_node_base *)0x0)) {\n        *(undefined4 *)(puVar21 + -0x10) = 0x20;\n                    /* try { // try from 002bfdcb to 002bfdcf has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2bfdd0;\n        puVar11 = (undefined4 *)operator_new(*(uint *)(puVar21 + -0x10));\n        *puVar11 = 0;\n        puVar11[1] = puVar11 + 3;\n        *(undefined4 *)(puVar21 + -4) = 0;\n        *(pointer *)(puVar21 + -8) = line._M_dataplus._M_p + line._M_string_length;\n        *(pointer *)(puVar21 + -0xc) = line._M_dataplus._M_p;\n        *(undefined4 **)(puVar21 + -0x10) = puVar11 + 1;\n                    /* try { // try from 002bfdf7 to 002bfdfb has its CatchHandler @ 002c0ee9 */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2bfdfc;\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>();\n        *(undefined4 *)(puVar21 + -0xc) = 1;\n        *(undefined4 **)(puVar21 + -0x10) = puVar11;\n        *(uint *)(puVar21 + -0x14) = uVar31;\n        *(Dir_list **)(puVar21 + -0x18) = local_1d8;\n        *(string **)(puVar21 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar21 + -0x20) = local_1e4;\n                    /* try { // try from 002bfe14 to 002bfe18 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x24) = 0x2bfe19;\n        std::\n        _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::_M_insert_unique_node\n                  (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                     **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                   *(__hash_code *)(puVar21 + -0x18),*(__node_type **)(puVar21 + -0x14),\n                   *(size_type *)(puVar21 + -0x10));\n        puVar21 = puVar21 + -4;\n      }\n      ppuVar7 = local_1c4;\n      piVar16 = *(int **)((int)aiStack_b8 + (int)*(undefined **)(_in + -0xc));\n      if (piVar16 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0bfa to 002c0bfe has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -4) = 0x2c0bff;\n        std::__throw_bad_cast();\n      }\n      if ((char)piVar16[7] == '\0') {\n        *(int **)(puVar21 + -0x10) = piVar16;\n                    /* try { // try from 002bfcf3 to 002bfd1a has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2bfcf8;\n        std::ctype<char>::_M_widen_init(*(ctype<char> **)(puVar21 + -0x10));\n        ppuVar4 = *(undefined ***)(*piVar16 + 0x18);\n        iVar18 = 10;\n        if (ppuVar4 != ppuVar7 + -0xdabd4) {\n          *(undefined4 *)(puVar21 + -0xc) = 10;\n          *(int **)(puVar21 + -0x10) = piVar16;\n          *(undefined4 *)(puVar21 + -0x14) = 0x2bfd1b;\n          cVar8 = (*(code *)ppuVar4)();\n          iVar18 = (int)cVar8;\n        }\n      }\n      else {\n        iVar18 = (int)*(char *)((int)piVar16 + 0x27);\n      }\n      *(int *)(puVar21 + -8) = iVar18;\n      *(Search_directory **)(puVar21 + -0xc) = local_1cc._0_4_;\n      *(Search_directory **)(puVar21 + -0x10) = local_1d0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x2bfc47;\n      std::getline<char,std::char_traits<char>,std::allocator<char>>\n                (*(istream **)(puVar21 + -0x10),*(string **)(puVar21 + -0xc),puVar21[-8]);\n    }\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)line._M_dataplus._M_p != local_1e0) {\n      *(pointer *)(puVar21 + -0x10) = line._M_dataplus._M_p;\n      *(undefined4 *)(puVar21 + -0x14) = 0x2bfe3f;\n      operator_delete(*(void **)(puVar21 + -0x10));\n    }\n    ppuVar7 = local_1c4;\n    *(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n      **)(puVar21 + -0x10) = local_1dc;\n    _in = (pointer)(local_200 + 3);\n    local_a4[0] = local_200 + 8;\n    local_12c._M_allocated_capacity = (size_type)(local_1c4 + -0x9ec);\n    *(undefined4 *)(puVar21 + -0x14) = 0x2bfe7f;\n    std::filebuf::close(*(filebuf **)(puVar21 + -0x10));\n    *(undefined1 **)(puVar21 + -0x10) = local_f4;\n    *(undefined4 *)(puVar21 + -0x14) = 0x2bfe8d;\n    std::__basic_file<char>::~__basic_file(*(__basic_file<char> **)(puVar21 + -0x10));\n    local_12c._M_allocated_capacity = (size_type)(ppuVar7 + -0xbd1);\n    *(undefined1 **)(puVar21 + -0x10) = local_110;\n    *(undefined4 *)(puVar21 + -0x14) = 0x2bfeaa;\n    std::locale::~locale(*(locale **)(puVar21 + -0x10));\n    _in = (pointer)local_1f4;\n    *(undefined **)(&in + *(int *)(local_1f4->_M_local_buf + -0xc)) = local_1f8;\n    local_a4[0] = local_1fc + 2;\n    *(ios_base **)(puVar21 + -0x10) = local_1e8;\n    *(undefined4 *)(puVar21 + -0x14) = 0x2bfeeb;\n    std::ios_base::~ios_base(*(ios_base **)(puVar21 + -0x10));\n    puVar22 = puVar21;\n  }\n  if (((this->Bgroup_).value != false) && ((this->unresolved_symbols_).user_set_via_option == false)\n     ) {\n    (this->unresolved_symbols_).value = (char *)((int)local_1c4 + -0x1a1f9b);\n  }\n  if (((this->shared_).value != false) &&\n     ((this->allow_shlib_undefined_).user_set_via_option == false)) {\n    (this->allow_shlib_undefined_).value = true;\n  }\n  *(General_options **)(puVar22 + -0x10) = this;\n                    /* try { // try from 002bff3a to 002c016a has its CatchHandler @ 002c0e87 */\n  *(undefined4 *)(puVar22 + -0x14) = 0x2bff3f;\n  add_sysroot(*(General_options **)(puVar22 + -0x10));\n  if ((this->shared_).value == false) {\n    if ((this->pie_).value != false) {\n      if (this->static_ != false) {\n        *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar22 + -0x14) = 0x2c0e5c;\n        uVar32 = gettext();\n        *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e5f to 002c0e63 has its CatchHandler @ 002c0e87 */\n        *(undefined1 **)(puVar22 + -0x14) = &LAB_002c0e64;\n        gold_fatal(*(char **)(puVar22 + -0x10));\n      }\n      if ((this->relocatable_).value != false) {\n        *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar22 + -0x14) = 0x2c0cbd;\n        uVar32 = gettext();\n        *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar22 + -0x14) = 0x2c0cc5;\n        gold_fatal(*(char **)(puVar22 + -0x10));\n      }\n    }\n    if ((this->filter_).value != (char *)0x0) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5642f;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0cdc;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0ce4;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n    if ((this->auxiliary_).value._M_h._M_element_count != 0) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56424;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0d10;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d13 to 002c0d17 has its CatchHandler @ 002c0e87 */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0d18;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n    if (((this->relocatable_).value != false) && ((this->retain_symbols_file_).value != (char *)0x0)\n       ) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56418;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0163;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined **)(puVar22 + -0x14) = &UNK_002c016b;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n  }\n  else {\n    if (this->static_ != false) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0e32;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0e3a;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n    if ((this->pie_).value != false) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0c7f;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0c87;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n    if ((this->relocatable_).value != false) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0c9e;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0ca6;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n  }\n  *(char **)(puVar22 + -0x10) = (this->oformat_).value;\n  *(undefined4 *)(puVar22 + -0x14) = 0x2bff90;\n  OVar12 = string_to_object_format(*(char **)(puVar22 + -0x10));\n  if ((OVar12 != OBJECT_FORMAT_ELF) &&\n     ((((this->shared_).value != false || ((this->pie_).value != false)) ||\n      ((this->relocatable_).value != false)))) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5640c;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0c60;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0c68;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }\n  if (((this->hash_bucket_empty_fraction_).user_set_via_option != false) &&\n     ((dVar3 = (this->hash_bucket_empty_fraction_).value, dVar3 < 0.0 || (1.0 <= dVar3)))) {\n    local_1cc = dVar3;\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563fc;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0c1c;\n    uVar32 = gettext();\n    dVar3 = local_1cc;\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n    *(double *)(puVar22 + -0xc) = dVar3;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0c29 to 002c0ce3 has its CatchHandler @ 002c0e87 */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0c2e;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }\n  if (this->implicit_incremental_ == false) {\n    if (this->incremental_mode_ == INCREMENTAL_OFF) goto LAB_002c00a3;\n  }\n  else if (this->incremental_mode_ == INCREMENTAL_OFF) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563ec;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0db6;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0dbe;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }\n  if ((this->relocatable_).value != false) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563d0;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0dd5;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0ddd;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }\n  if ((this->emit_relocs_).value != false) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563c4;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0df4;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0dfc;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }\n  if (this->plugins_ != (Plugin_manager *)0x0) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563b5;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0e13;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0e1b;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }\n  if ((this->relro_).value != false) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563a8;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0d78;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d7b to 002c0e39 has its CatchHandler @ 002c0e87 */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0d80;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }\n  if ((this->pie_).value != false) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5639b;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0d97;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0d9f;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }\n  if ((this->gc_sections_).value != false) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5638f;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0a6f;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0a77;\n    gold_warning(*(char **)(puVar22 + -0x10));\n    (this->gc_sections_).value = false;\n  }\n  bVar27 = this->icf_status_ == ICF_NONE;\n  bVar29 = !bVar27;\n  if (bVar29) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56383;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0a37;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0a3f;\n    gold_warning(*(char **)(puVar22 + -0x10));\n    this->icf_status_ = ICF_NONE;\n  }\n  bVar29 = bVar29 && (undefined1 *)0xffffffef < puVar22 + -0x10;\n  bVar27 = bVar27 || puVar22 == (undefined1 *)0x0;\n  iVar18 = 5;\n  pbVar23 = (byte *)(this->compress_debug_sections_).value;\n  pbVar24 = local_1f0;\n  do {\n    if (iVar18 == 0) break;\n    iVar18 = iVar18 + -1;\n    bVar29 = *pbVar23 < *pbVar24;\n    bVar27 = *pbVar23 == *pbVar24;\n    pbVar23 = pbVar23 + (uint)bVar30 * -2 + 1;\n    pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n  } while (bVar27);\n  if ((!bVar29 && !bVar27) != bVar29) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56379;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c09ff;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* try { // try from 002c0a02 to 002c0a76 has its CatchHandler @ 002c0e87 */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0a07;\n    gold_warning(*(char **)(puVar22 + -0x10));\n    (this->compress_debug_sections_).value = (char *)local_1f0;\n  }\nLAB_002c00a3:\n  if ((this->rosegment_gap_).user_set_via_option != false) {\n    (this->rosegment_).value = true;\n  }\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)libpath._M_dataplus._M_p != local_1ec) {\n    *(pointer *)(puVar22 + -0x10) = libpath._M_dataplus._M_p;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c00d3;\n    operator_delete(*(void **)(puVar22 + -0x10));\n  }\n  return;\n}\n\n" comment comment comment (function_definition "void __thiscall gold::General_options::finalize(General_options *this)\n\n{\n  pointer *ppSVar1;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar2;\n  double dVar3;\n  ctype<char> *this_00;\n  undefined **ppuVar4;\n  iterator iVar5;\n  string *psVar6;\n  undefined **ppuVar7;\n  char cVar8;\n  ctype<char> cVar9;\n  __node_base *p_Var10;\n  undefined4 *puVar11;\n  Object_format OVar12;\n  size_t sVar13;\n  uint uVar14;\n  char *pcVar15;\n  demangling_styles style;\n  int *piVar16;\n  char *pcVar17;\n  char *format;\n  int iVar18;\n  undefined *puVar19;\n  uint uVar20;\n  undefined1 *puVar21;\n  undefined1 *puVar22;\n  byte *pbVar23;\n  byte *pbVar24;\n  byte *pbVar25;\n  byte *pbVar26;\n  bool bVar27;\n  bool bVar28;\n  bool bVar29;\n  byte bVar30;\n  undefined4 uStack_230;\n  uint uVar31;\n  undefined4 uVar32;\n  undefined1 auStack_20c [12];\n  undefined **local_200;\n  undefined **local_1fc;\n  undefined *local_1f8;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *local_1f4;\n  byte *local_1f0;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *local_1ec;\n  ios_base *local_1e8;\n  undefined1 *local_1e4;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *local_1e0;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *local_1dc;\n  Dir_list *local_1d8;\n  string *local_1d4;\n  Search_directory *local_1d0;\n  double local_1cc;\n  undefined **local_1c4;\n  undefined1 local_1c0 [4];\n  string libpath;\n  Search_directory local_1a4;\n  Search_directory local_188;\n  Search_directory local_16c;\n  string line;\n  ifstream in;\n  size_type local_130;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  local_12c;\n  undefined2 local_11c;\n  undefined1 local_110 [28];\n  undefined1 local_f4 [60];\n  int aiStack_b8 [5];\n  undefined **local_a4 [5];\n  byte local_90;\n  undefined4 local_34;\n  undefined2 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  bVar30 = 0;\n  local_1c4 = &_GLOBAL_OFFSET_TABLE_;\n  bVar29 = (this->strip_all_).value;\n  if (bVar29 == false) {\n    if ((this->strip_debug_).value != false) goto LAB_002bfd3a;\n    if ((this->strip_debug_non_line_).value != false) {\n      bVar27 = false;\n      goto LAB_002bfd49;\n    }\n    bVar27 = false;\n    if ((this->Bshareable_).value != false) goto LAB_002bfd5c;\n  }\n  else {\n    (this->strip_debug_).value = true;\nLAB_002bfd3a:\n    bVar27 = true;\n    (this->strip_debug_non_line_).value = true;\nLAB_002bfd49:\n    (this->strip_debug_gdb_).value = true;\n    if ((this->Bshareable_).value != false) {\nLAB_002bfd5c:\n      (this->shared_).value = true;\n    }\n    if (((bVar29 != false) && ((this->relocatable_).value != false)) &&\n       ((this->strip_all_).value = false, !bVar27)) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/options.cc",0x453,"finalize");\n    }\n  }\n  if ((this->dc_).value != false) {\n    (this->define_common_).value = true;\n  }\n  if ((this->dp_).value != false) {\n    (this->define_common_).value = true;\n  }\n  if ((this->define_common_).user_set_via_option == false) {\n    bVar29 = (this->relocatable_).value;\n    local_1cc = (double)CONCAT71(local_1cc._1_7_,bVar29);\n    (this->define_common_).value = (bool)(bVar29 ^ 1);\n  }\n  bVar29 = (this->execstack_).value == false;\n  if (bVar29) {\n    bVar29 = (this->noexecstack_).value == false;\n    if (!bVar29) {\n      this->execstack_status_ = EXECSTACK_NO;\n    }\n  }\n  else {\n    this->execstack_status_ = EXECSTACK_YES;\n  }\n  bVar27 = false;\n  iVar18 = 5;\n  pbVar23 = (byte *)(this->icf_).value;\n  local_1f0 = (byte *)0x48e342;\n  pbVar24 = pbVar23;\n  pbVar26 = (byte *)0x48e342;\n  do {\n    pbVar25 = pbVar26;\n    if (iVar18 == 0) break;\n    iVar18 = iVar18 + -1;\n    pbVar25 = pbVar26 + 1;\n    bVar27 = *pbVar24 < *pbVar26;\n    bVar29 = *pbVar24 == *pbVar26;\n    pbVar24 = pbVar24 + 1;\n    pbVar26 = pbVar25;\n  } while (bVar29);\n  bVar28 = false;\n  bVar29 = (!bVar27 && !bVar29) == bVar27;\n  if (bVar29) {\n    this->icf_status_ = ICF_NONE;\n  }\n  else {\n    iVar18 = 5;\n    pbVar24 = (byte *)0x48dc94;\n    do {\n      pbVar25 = pbVar24;\n      if (iVar18 == 0) break;\n      iVar18 = iVar18 + -1;\n      pbVar25 = pbVar24 + 1;\n      bVar28 = *pbVar23 < *pbVar24;\n      bVar29 = *pbVar23 == *pbVar24;\n      pbVar23 = pbVar23 + 1;\n      pbVar24 = pbVar25;\n    } while (bVar29);\n    this->icf_status_ = ((!bVar28 && !bVar29) == bVar28) + ICF_ALL;\n  }\n  if ((this->demangle_).user_set_via_option == false) {\n    if ((this->no_demangle_).user_set_via_option == false) {\n      pcVar15 = getenv("COLLECT_NO_DEMANGLE");\n      this->do_demangle_ = pcVar15 == (char *)0x0;\n    }\n    else {\n      this->do_demangle_ = false;\n    }\n  }\n  else {\n    pcVar15 = (this->demangle_).value;\n    this->do_demangle_ = true;\n    if (*pcVar15 != '\0') {\n      style = cplus_demangle_name_to_style(pcVar15);\n      if (style == unknown_demangling) {\n                    /* WARNING: Subroutine does not return */\n        gold_fatal((char *)(local_1c4 + -0x56e9a),pcVar15,pbVar25,pbVar25);\n      }\n      cplus_demangle_set_style(style);\n    }\n  }\n  bVar29 = false;\n  bVar27 = (this->orphan_handling_).user_set_via_option == false;\n  if (!bVar27) {\n    pbVar23 = (byte *)(this->orphan_handling_).value;\n    iVar18 = 6;\n    pbVar24 = pbVar23;\n    pbVar26 = (byte *)((int)local_1c4 + -0x1477fe);\n    do {\n      if (iVar18 == 0) break;\n      iVar18 = iVar18 + -1;\n      bVar29 = *pbVar24 < *pbVar26;\n      bVar27 = *pbVar24 == *pbVar26;\n      pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n      pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n    } while (bVar27);\n    bVar28 = false;\n    bVar29 = (!bVar29 && !bVar27) == bVar29;\n    if (bVar29) {\n      this->orphan_handling_enum_ = ORPHAN_PLACE;\n    }\n    else {\n      iVar18 = 8;\n      pbVar24 = pbVar23;\n      pbVar26 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar18 == 0) break;\n        iVar18 = iVar18 + -1;\n        bVar28 = *pbVar24 < *pbVar26;\n        bVar29 = *pbVar24 == *pbVar26;\n        pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n        pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar27 = false;\n      bVar29 = (!bVar28 && !bVar29) == bVar28;\n      if (bVar29) {\n        this->orphan_handling_enum_ = ORPHAN_DISCARD;\n      }\n      else {\n        iVar18 = 5;\n        pbVar24 = pbVar23;\n        pbVar26 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar18 == 0) break;\n          iVar18 = iVar18 + -1;\n          bVar27 = *pbVar24 < *pbVar26;\n          bVar29 = *pbVar24 == *pbVar26;\n          pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n          pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n        } while (bVar29);\n        bVar28 = false;\n        bVar29 = (!bVar27 && !bVar29) == bVar27;\n        if (bVar29) {\n          this->orphan_handling_enum_ = ORPHAN_WARN;\n        }\n        else {\n          iVar18 = 6;\n          pbVar24 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar18 == 0) break;\n            iVar18 = iVar18 + -1;\n            bVar28 = *pbVar23 < *pbVar24;\n            bVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar30 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n          } while (bVar29);\n          if ((!bVar28 && !bVar29) == bVar28) {\n            this->orphan_handling_enum_ = ORPHAN_ERROR;\n          }\n        }\n      }\n    }\n  }\n  if (((this->print_map_).value != false) && ((this->Map_).user_set_via_option == false)) {\n    (this->Map_).user_set_via_option = true;\n    (this->Map_).value = (char *)(local_1c4 + -0x573ca);\n  }\n  if (((this->nmagic_).value != false) || ((this->omagic_).value != false)) {\n    this->static_ = true;\n  }\n  iVar18 = (this->thread_count_).value;\n  if (0 < iVar18) {\n    if ((this->thread_count_initial_).value == 0) {\n      (this->thread_count_initial_).value = iVar18;\n    }\n    if ((this->thread_count_middle_).value == 0) {\n      (this->thread_count_middle_).value = iVar18;\n    }\n    if ((this->thread_count_final_).value == 0) {\n      (this->thread_count_final_).value = iVar18;\n    }\n  }\n  libpath.field_2._M_local_buf[0] = '\0';\n  local_1d4 = &libpath;\n  local_1ec = &libpath.field_2;\n  libpath._M_dataplus._M_p = (pointer)&libpath.field_2;\n  libpath._M_string_length = 0;\n  if ((this->Y_).user_set_via_option == false) {\n    if ((this->nostdlib_).value == false) {\n      local_1dc = &local_12c;\n      local_1d0 = (Search_directory *)&in;\n      _in = (pointer)local_1dc;\n                    /* try { // try from 002c0505 to 002c0509 has its CatchHandler @ 002c0e87 */\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>_> *)local_1d0,\n                 (int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);\n      paVar2 = &local_1a4.name_.field_2;\n      local_1a4.name_._M_dataplus._M_p = (pointer)paVar2;\n                    /* try { // try from 002c0532 to 002c0536 has its CatchHandler @ 002c0ef5 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char*>(&local_1a4.name_,_in,(filebuf *)(_in + local_130),0);\n      local_1a4.put_in_sysroot_ = true;\n      local_1a4.is_in_sysroot_ = false;\n      if (local_1a4.name_._M_string_length == 0) {\n                    /* try { // try from 002c0957 to 002c095b has its CatchHandler @ 002c0e8e */\n        std::string::_M_replace((string *)&local_1a4,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }\n      local_1d8 = &(this->library_path_).value;\n      iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n           _M_impl._M_finish;\n      if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0973 to 002c0977 has its CatchHandler @ 002c0e95 */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_1a4);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c058f to 002c0593 has its CatchHandler @ 002c0e95 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_1a4.name_._M_dataplus._M_p,\n                            local_1a4.name_._M_dataplus._M_p + local_1a4.name_._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = local_1a4.put_in_sysroot_;\n        (iVar5._M_current)->is_in_sysroot_ = local_1a4.is_in_sysroot_;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_1a4.name_._M_dataplus._M_p != paVar2) {\n        operator_delete(local_1a4.name_._M_dataplus._M_p);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }\n      _in = (pointer)local_1dc;\n                    /* try { // try from 002c0619 to 002c061d has its CatchHandler @ 002c0e87 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>\n                (&local_1d0->name_,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);\n      paVar2 = &local_188.name_.field_2;\n      local_188.name_._M_dataplus._M_p = (pointer)paVar2;\n                    /* try { // try from 002c0646 to 002c064a has its CatchHandler @ 002c0ecd */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char*>(&local_188.name_,_in,(filebuf *)(_in + local_130),0);\n      local_188.put_in_sysroot_ = true;\n      local_188.is_in_sysroot_ = false;\n      if (local_188.name_._M_string_length == 0) {\n                    /* try { // try from 002c0af7 to 002c0afb has its CatchHandler @ 002c0eb8 */\n        std::string::_M_replace((string *)&local_188,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }\n      iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n           _M_impl._M_finish;\n      if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0b8b to 002c0b8f has its CatchHandler @ 002c0ebf */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_188);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c0695 to 002c0699 has its CatchHandler @ 002c0ebf */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_188.name_._M_dataplus._M_p,\n                            local_188.name_._M_dataplus._M_p + local_188.name_._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = local_188.put_in_sysroot_;\n        (iVar5._M_current)->is_in_sysroot_ = local_188.is_in_sysroot_;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_188.name_._M_dataplus._M_p != paVar2) {\n        operator_delete(local_188.name_._M_dataplus._M_p);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }\n      _in = (pointer)local_1dc;\n                    /* try { // try from 002c071f to 002c0723 has its CatchHandler @ 002c0e87 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>\n                (&local_1d0->name_,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);\n      paVar2 = &local_16c.name_.field_2;\n      local_16c.name_._M_dataplus._M_p = (pointer)paVar2;\n                    /* try { // try from 002c074c to 002c0750 has its CatchHandler @ 002c0ec6 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char*>(&local_16c.name_,_in,(filebuf *)(_in + local_130),0);\n      local_16c.put_in_sysroot_ = true;\n      local_16c.is_in_sysroot_ = false;\n      if (local_16c.name_._M_string_length == 0) {\n                    /* try { // try from 002c0b1f to 002c0b23 has its CatchHandler @ 002c0eb1 */\n        std::string::_M_replace((string *)&local_16c,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }\n      iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n           _M_impl._M_finish;\n      if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0b6b to 002c0b6f has its CatchHandler @ 002c0e9c */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_16c);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c079b to 002c079f has its CatchHandler @ 002c0e9c */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_16c.name_._M_dataplus._M_p,\n                            local_16c.name_._M_dataplus._M_p + local_16c.name_._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = local_16c.put_in_sysroot_;\n        (iVar5._M_current)->is_in_sysroot_ = local_16c.is_in_sysroot_;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_16c.name_._M_dataplus._M_p != paVar2) {\n        operator_delete(local_16c.name_._M_dataplus._M_p);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }\n      _in = (pointer)local_1dc;\n                    /* try { // try from 002c0825 to 002c0829 has its CatchHandler @ 002c0e87 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>\n                (&local_1d0->name_,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);\n      local_1e0 = &line.field_2;\n      local_1cc = (double)CONCAT44(local_1cc._4_4_,&line);\n      line._M_dataplus._M_p = (pointer)local_1e0;\n                    /* try { // try from 002c085e to 002c0862 has its CatchHandler @ 002c0e6b */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char*>(&line,_in,(filebuf *)(_in + local_130),0);\n      if (line._M_string_length == 0) {\n                    /* try { // try from 002c0b4c to 002c0b50 has its CatchHandler @ 002c0eaa */\n        std::string::_M_replace\n                  ((string *)local_1cc._0_4_,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }\n      iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n           _M_impl._M_finish;\n      if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0bb0 to 002c0bb4 has its CatchHandler @ 002c0e64 */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,local_1cc._0_4_);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c08ad to 002c08b1 has its CatchHandler @ 002c0e64 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,line._M_dataplus._M_p,\n                            line._M_dataplus._M_p + line._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = true;\n        (iVar5._M_current)->is_in_sysroot_ = false;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)line._M_dataplus._M_p != local_1e0) {\n        operator_delete(line._M_dataplus._M_p);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }\n      goto LAB_002c0258;\n    }\n  }\n  else {\n    pcVar15 = (this->Y_).value;\n    sVar13 = strlen(pcVar15);\n    psVar6 = local_1d4;\n                    /* try { // try from 002c022e to 002c02de has its CatchHandler @ 002c0e87 */\n    std::string::_M_replace((string *)local_1d4,0,0,pcVar15,sVar13);\n    iVar18 = std::string::compare((uint)psVar6,0,(char *)0x2);\n    if (iVar18 == 0) {\n                    /* try { // try from 002c0acd to 002c0ad1 has its CatchHandler @ 002c0e87 */\n      std::string::_M_erase((uint)local_1d4,0);\n    }\nLAB_002c0258:\n    uVar31 = 0;\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&line);\n    if (libpath._M_string_length != 0) {\n      do {\n        iVar18 = std::string::find((char)local_1d4,0x3a);\n        uVar20 = 0xffffffff;\n        if ((iVar18 == -1) || (uVar20 = iVar18 - uVar31, uVar20 != 0)) {\n          if (libpath._M_string_length < uVar31) {\n                    /* WARNING: Subroutine does not return */\n            std::__throw_out_of_range_fmt\n                      ((char *)(local_1c4 + -0x58f98),(int)local_1c4 + -0x1641fb,uVar31,\n                       libpath._M_string_length);\n          }\n          local_1e0 = &line.field_2;\n          uVar14 = libpath._M_string_length - uVar31;\n          if (uVar20 < libpath._M_string_length - uVar31) {\n            uVar14 = uVar20;\n          }\n          line._M_dataplus._M_p = (pointer)local_1e0;\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char_const*>\n                    (&(local_1cc._0_4_)->name_,libpath._M_dataplus._M_p + uVar31,\n                     libpath._M_dataplus._M_p + uVar31 + uVar14,0);\n          local_1dc = &local_12c;\n          local_1d0 = (Search_directory *)&in;\n          _in = (pointer)local_1dc;\n                    /* try { // try from 002c0313 to 002c0317 has its CatchHandler @ 002c0ea3 */\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>_> *)\n                              local_1d0,line._M_dataplus._M_p,\n                              line._M_dataplus._M_p + line._M_string_length,0);\n          local_11c._0_1_ = true;\n          local_11c._1_1_ = false;\n          if (local_130 == 0) {\n                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */\n            std::string::_M_replace((string *)local_1d0,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n          }\n          iVar5._M_current =\n               (this->library_path_).value.\n               super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n               _M_impl._M_finish;\n          if (iVar5._M_current ==\n              (this->library_path_).value.\n              super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n              _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */\n            std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n            _M_realloc_insert<const_gold::Search_directory&>\n                      (&(this->library_path_).value,iVar5,local_1d0);\n          }\n          else {\n            ((iVar5._M_current)->name_)._M_dataplus._M_p =\n                 (pointer)&((iVar5._M_current)->name_).field_2;\n                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */\n            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>(&(iVar5._M_current)->name_,_in,(filebuf *)(_in + local_130),0);\n            (iVar5._M_current)->put_in_sysroot_ = local_11c._0_1_;\n            (iVar5._M_current)->is_in_sysroot_ = local_11c._1_1_;\n            ppSVar1 = &(this->library_path_).value.\n                       super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                       ._M_impl._M_finish;\n            *ppSVar1 = *ppSVar1 + 1;\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_in != local_1dc) {\n            operator_delete(_in);\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)line._M_dataplus._M_p != local_1e0) {\n            operator_delete(line._M_dataplus._M_p);\n          }\n          if (iVar18 == -1) break;\n        }\n        uVar31 = iVar18 + 1;\n      } while( true );\n    }\n  }\n  ppuVar7 = local_1c4;\n  puVar21 = auStack_20c;\n  puVar22 = auStack_20c;\n  if ((this->retain_symbols_file_).value != (char *)0x0) {\n    local_1e8 = (ios_base *)local_a4;\n    local_1d0 = (Search_directory *)&in;\n    std::ios_base::ios_base(local_1e8);\n    local_1fc = ppuVar7 + -0xa0e;\n    local_34 = 0;\n    local_2c = 0;\n    local_a4[0] = ppuVar7 + -0xa0c;\n    local_30 = 0;\n    local_28 = 0;\n    local_1f4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)ppuVar7[-0x9d3];\n    local_1f8 = ppuVar7[-0x9d2];\n    local_24 = 0;\n    local_20 = 0;\n    _in = (pointer)local_1f4;\n    *(undefined **)(&in + *(int *)(local_1f4->_M_local_buf + -0xc)) = local_1f8;\n                    /* try { // try from 002bfb07 to 002bfb0b has its CatchHandler @ 002c0ee2 */\n    std::ios::init((streambuf *)\n                   ((int)&(((Search_directory *)&in)->name_)._M_dataplus._M_p +\n                   *(int *)(local_1f4->_M_local_buf + -0xc)));\n    local_200 = ppuVar7 + -0x9d0;\n    _in = (pointer)(ppuVar7 + -0x9cd);\n    local_a4[0] = ppuVar7 + -0x9c8;\n    local_1dc = &local_12c;\n                    /* try { // try from 002bfb39 to 002bfb3d has its CatchHandler @ 002c0ed4 */\n    std::filebuf::filebuf((filebuf *)local_12c._M_local_buf);\n                    /* try { // try from 002bfb47 to 002bfb4b has its CatchHandler @ 002c0e79 */\n    std::ios::init((streambuf *)local_1e8);\n    uVar32 = 8;\n                    /* try { // try from 002bfb5b to 002bfb8a has its CatchHandler @ 002c0e80 */\n    iVar18 = std::filebuf::open(local_12c._M_local_buf,\n                                (_Ios_Openmode)(this->retain_symbols_file_).value);\n    puVar19 = *(undefined **)(_in + -0xc) + (int)&(local_1d0->name_)._M_dataplus;\n    if (iVar18 == 0) {\n      uVar31 = *(uint *)(puVar19 + 0x14) | 4;\n                    /* try { // try from 002c0aa1 to 002c0aa5 has its CatchHandler @ 002c0e80 */\n      std::ios::clear((_Ios_Iostate)puVar19);\n    }\n    else {\n      uVar31 = 0;\n      std::ios::clear((_Ios_Iostate)puVar19);\n    }\n    ppuVar7 = local_1c4;\n    if ((local_90 & 5) != 0) {\n      piVar16 = __errno_location();\n      pcVar17 = strerror(*piVar16);\n      pcVar15 = (this->retain_symbols_file_).value;\n      format = (char *)gettext(local_1c4 + -0x5645f,uVar31);\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d5c to 002c0d60 has its CatchHandler @ 002c0e80 */\n      gold_fatal(format,pcVar15,pcVar17);\n    }\n    line.field_2._M_local_buf[0] = '\0';\n    local_1e0 = &line.field_2;\n    line._M_dataplus._M_p = (pointer)&line.field_2;\n    line._M_string_length = 0;\n    this_00 = *(ctype<char> **)((int)aiStack_b8 + (int)*(undefined **)(_in + -0xc));\n    if (this_00 == (ctype<char> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e40 to 002c0e44 has its CatchHandler @ 002c0edb */\n      std::__throw_bad_cast();\n    }\n    if (this_00[0x1c] == (ctype<char>)0x0) {\n                    /* try { // try from 002c043c to 002c0463 has its CatchHandler @ 002c0edb */\n      std::ctype<char>::_M_widen_init(this_00);\n      cVar9 = (ctype<char>)0xa;\n      if (*(undefined ***)(*(int *)this_00 + 0x18) != ppuVar7 + -0xdabd4) {\n        cVar9 = (ctype<char>)(*(code *)*(undefined ***)(*(int *)this_00 + 0x18))(this_00,10,uVar32);\n      }\n    }\n    else {\n      cVar9 = this_00[0x27];\n    }\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&line);\n                    /* try { // try from 002bfc01 to 002bfc46 has its CatchHandler @ 002c0edb */\n    std::getline<char,std::char_traits<char>,std::allocator<char>>\n              ((istream *)local_1d0,(string *)&line,(char)cVar9);\n    local_1d4 = (string *)&this->symbols_to_retain_;\n    local_1e4 = local_1c0;\n    while ((local_90 & 5) == 0) {\n      if ((line._M_string_length != 0) && (line._M_dataplus._M_p[line._M_string_length - 1] == '\r')\n         ) {\n        *(undefined4 *)(puVar21 + -8) = 0;\n        *(size_type *)(puVar21 + -0xc) = line._M_string_length - 1;\n        *(Search_directory **)(puVar21 + -0x10) = local_1cc._0_4_;\n                    /* try { // try from 002c0182 to 002c0186 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2c0187;\n        std::string::resize(*(uint *)(puVar21 + -0x10),puVar21[-0xc]);\n      }\n      *(undefined4 *)(puVar21 + -8) = 0xc70f6907;\n      *(size_type *)(puVar21 + -0xc) = line._M_string_length;\n      *(pointer *)(puVar21 + -0x10) = line._M_dataplus._M_p;\n      *(undefined4 *)(puVar21 + -0x14) = 0x2bfc8a;\n      uVar31 = std::_Hash_bytes(*(void **)(puVar21 + -0x10),*(uint *)(puVar21 + -0xc),\n                                *(uint *)(puVar21 + -8));\n      local_1d8 = (Dir_list *)(uVar31 % (this->symbols_to_retain_)._M_h._M_bucket_count);\n      *(uint *)(puVar21 + -0x14) = uVar31;\n      *(Search_directory **)(puVar21 + -0x18) = local_1cc._0_4_;\n      *(Dir_list **)(puVar21 + -0x1c) = local_1d8;\n      *(string **)(puVar21 + -0x20) = local_1d4;\n      *(undefined4 *)(puVar21 + -0x24) = 0x2bfcb0;\n      p_Var10 = std::\n                _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::_M_find_before_node\n                          (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                           *(key_type **)(puVar21 + -0x18),*(__hash_code *)(puVar21 + -0x14));\n      if ((p_Var10 == (__node_base *)0x0) || (p_Var10->_M_nxt == (_Hash_node_base *)0x0)) {\n        *(undefined4 *)(puVar21 + -0x10) = 0x20;\n                    /* try { // try from 002bfdcb to 002bfdcf has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2bfdd0;\n        puVar11 = (undefined4 *)operator_new(*(uint *)(puVar21 + -0x10));\n        *puVar11 = 0;\n        puVar11[1] = puVar11 + 3;\n        *(undefined4 *)(puVar21 + -4) = 0;\n        *(pointer *)(puVar21 + -8) = line._M_dataplus._M_p + line._M_string_length;\n        *(pointer *)(puVar21 + -0xc) = line._M_dataplus._M_p;\n        *(undefined4 **)(puVar21 + -0x10) = puVar11 + 1;\n                    /* try { // try from 002bfdf7 to 002bfdfb has its CatchHandler @ 002c0ee9 */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2bfdfc;\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>();\n        *(undefined4 *)(puVar21 + -0xc) = 1;\n        *(undefined4 **)(puVar21 + -0x10) = puVar11;\n        *(uint *)(puVar21 + -0x14) = uVar31;\n        *(Dir_list **)(puVar21 + -0x18) = local_1d8;\n        *(string **)(puVar21 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar21 + -0x20) = local_1e4;\n                    /* try { // try from 002bfe14 to 002bfe18 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x24) = 0x2bfe19;\n        std::\n        _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::_M_insert_unique_node\n                  (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                     **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                   *(__hash_code *)(puVar21 + -0x18),*(__node_type **)(puVar21 + -0x14),\n                   *(size_type *)(puVar21 + -0x10));\n        puVar21 = puVar21 + -4;\n      }\n      ppuVar7 = local_1c4;\n      piVar16 = *(int **)((int)aiStack_b8 + (int)*(undefined **)(_in + -0xc));\n      if (piVar16 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0bfa to 002c0bfe has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -4) = 0x2c0bff;\n        std::__throw_bad_cast();\n      }\n      if ((char)piVar16[7] == '\0') {\n        *(int **)(puVar21 + -0x10) = piVar16;\n                    /* try { // try from 002bfcf3 to 002bfd1a has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2bfcf8;\n        std::ctype<char>::_M_widen_init(*(ctype<char> **)(puVar21 + -0x10));\n        ppuVar4 = *(undefined ***)(*piVar16 + 0x18);\n        iVar18 = 10;\n        if (ppuVar4 != ppuVar7 + -0xdabd4) {\n          *(undefined4 *)(puVar21 + -0xc) = 10;\n          *(int **)(puVar21 + -0x10) = piVar16;\n          *(undefined4 *)(puVar21 + -0x14) = 0x2bfd1b;\n          cVar8 = (*(code *)ppuVar4)();\n          iVar18 = (int)cVar8;\n        }\n      }\n      else {\n        iVar18 = (int)*(char *)((int)piVar16 + 0x27);\n      }\n      *(int *)(puVar21 + -8) = iVar18;\n      *(Search_directory **)(puVar21 + -0xc) = local_1cc._0_4_;\n      *(Search_directory **)(puVar21 + -0x10) = local_1d0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x2bfc47;\n      std::getline<char,std::char_traits<char>,std::allocator<char>>\n                (*(istream **)(puVar21 + -0x10),*(string **)(puVar21 + -0xc),puVar21[-8]);\n    }\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)line._M_dataplus._M_p != local_1e0) {\n      *(pointer *)(puVar21 + -0x10) = line._M_dataplus._M_p;\n      *(undefined4 *)(puVar21 + -0x14) = 0x2bfe3f;\n      operator_delete(*(void **)(puVar21 + -0x10));\n    }\n    ppuVar7 = local_1c4;\n    *(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n      **)(puVar21 + -0x10) = local_1dc;\n    _in = (pointer)(local_200 + 3);\n    local_a4[0] = local_200 + 8;\n    local_12c._M_allocated_capacity = (size_type)(local_1c4 + -0x9ec);\n    *(undefined4 *)(puVar21 + -0x14) = 0x2bfe7f;\n    std::filebuf::close(*(filebuf **)(puVar21 + -0x10));\n    *(undefined1 **)(puVar21 + -0x10) = local_f4;\n    *(undefined4 *)(puVar21 + -0x14) = 0x2bfe8d;\n    std::__basic_file<char>::~__basic_file(*(__basic_file<char> **)(puVar21 + -0x10));\n    local_12c._M_allocated_capacity = (size_type)(ppuVar7 + -0xbd1);\n    *(undefined1 **)(puVar21 + -0x10) = local_110;\n    *(undefined4 *)(puVar21 + -0x14) = 0x2bfeaa;\n    std::locale::~locale(*(locale **)(puVar21 + -0x10));\n    _in = (pointer)local_1f4;\n    *(undefined **)(&in + *(int *)(local_1f4->_M_local_buf + -0xc)) = local_1f8;\n    local_a4[0] = local_1fc + 2;\n    *(ios_base **)(puVar21 + -0x10) = local_1e8;\n    *(undefined4 *)(puVar21 + -0x14) = 0x2bfeeb;\n    std::ios_base::~ios_base(*(ios_base **)(puVar21 + -0x10));\n    puVar22 = puVar21;\n  }\n  if (((this->Bgroup_).value != false) && ((this->unresolved_symbols_).user_set_via_option == false)\n     ) {\n    (this->unresolved_symbols_).value = (char *)((int)local_1c4 + -0x1a1f9b);\n  }\n  if (((this->shared_).value != false) &&\n     ((this->allow_shlib_undefined_).user_set_via_option == false)) {\n    (this->allow_shlib_undefined_).value = true;\n  }\n  *(General_options **)(puVar22 + -0x10) = this;\n                    /* try { // try from 002bff3a to 002c016a has its CatchHandler @ 002c0e87 */\n  *(undefined4 *)(puVar22 + -0x14) = 0x2bff3f;\n  add_sysroot(*(General_options **)(puVar22 + -0x10));\n  if ((this->shared_).value == false) {\n    if ((this->pie_).value != false) {\n      if (this->static_ != false) {\n        *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar22 + -0x14) = 0x2c0e5c;\n        uVar32 = gettext();\n        *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e5f to 002c0e63 has its CatchHandler @ 002c0e87 */\n        *(undefined1 **)(puVar22 + -0x14) = &LAB_002c0e64;\n        gold_fatal(*(char **)(puVar22 + -0x10));\n      }\n      if ((this->relocatable_).value != false) {\n        *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar22 + -0x14) = 0x2c0cbd;\n        uVar32 = gettext();\n        *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar22 + -0x14) = 0x2c0cc5;\n        gold_fatal(*(char **)(puVar22 + -0x10));\n      }\n    }\n    if ((this->filter_).value != (char *)0x0) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5642f;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0cdc;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0ce4;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n    if ((this->auxiliary_).value._M_h._M_element_count != 0) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56424;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0d10;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d13 to 002c0d17 has its CatchHandler @ 002c0e87 */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0d18;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n    if (((this->relocatable_).value != false) && ((this->retain_symbols_file_).value != (char *)0x0)\n       ) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56418;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0163;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined **)(puVar22 + -0x14) = &UNK_002c016b;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n  }\n  else {\n    if (this->static_ != false) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0e32;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0e3a;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n    if ((this->pie_).value != false) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0c7f;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0c87;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n    if ((this->relocatable_).value != false) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0c9e;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0ca6;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n  }\n  *(char **)(puVar22 + -0x10) = (this->oformat_).value;\n  *(undefined4 *)(puVar22 + -0x14) = 0x2bff90;\n  OVar12 = string_to_object_format(*(char **)(puVar22 + -0x10));\n  if ((OVar12 != OBJECT_FORMAT_ELF) &&\n     ((((this->shared_).value != false || ((this->pie_).value != false)) ||\n      ((this->relocatable_).value != false)))) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5640c;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0c60;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0c68;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }\n  if (((this->hash_bucket_empty_fraction_).user_set_via_option != false) &&\n     ((dVar3 = (this->hash_bucket_empty_fraction_).value, dVar3 < 0.0 || (1.0 <= dVar3)))) {\n    local_1cc = dVar3;\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563fc;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0c1c;\n    uVar32 = gettext();\n    dVar3 = local_1cc;\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n    *(double *)(puVar22 + -0xc) = dVar3;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0c29 to 002c0ce3 has its CatchHandler @ 002c0e87 */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0c2e;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }\n  if (this->implicit_incremental_ == false) {\n    if (this->incremental_mode_ == INCREMENTAL_OFF) goto LAB_002c00a3;\n  }\n  else if (this->incremental_mode_ == INCREMENTAL_OFF) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563ec;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0db6;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0dbe;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }\n  if ((this->relocatable_).value != false) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563d0;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0dd5;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0ddd;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }\n  if ((this->emit_relocs_).value != false) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563c4;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0df4;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0dfc;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }\n  if (this->plugins_ != (Plugin_manager *)0x0) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563b5;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0e13;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0e1b;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }\n  if ((this->relro_).value != false) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563a8;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0d78;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d7b to 002c0e39 has its CatchHandler @ 002c0e87 */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0d80;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }\n  if ((this->pie_).value != false) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5639b;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0d97;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0d9f;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }\n  if ((this->gc_sections_).value != false) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5638f;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0a6f;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0a77;\n    gold_warning(*(char **)(puVar22 + -0x10));\n    (this->gc_sections_).value = false;\n  }\n  bVar27 = this->icf_status_ == ICF_NONE;\n  bVar29 = !bVar27;\n  if (bVar29) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56383;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0a37;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0a3f;\n    gold_warning(*(char **)(puVar22 + -0x10));\n    this->icf_status_ = ICF_NONE;\n  }\n  bVar29 = bVar29 && (undefined1 *)0xffffffef < puVar22 + -0x10;\n  bVar27 = bVar27 || puVar22 == (undefined1 *)0x0;\n  iVar18 = 5;\n  pbVar23 = (byte *)(this->compress_debug_sections_).value;\n  pbVar24 = local_1f0;\n  do {\n    if (iVar18 == 0) break;\n    iVar18 = iVar18 + -1;\n    bVar29 = *pbVar23 < *pbVar24;\n    bVar27 = *pbVar23 == *pbVar24;\n    pbVar23 = pbVar23 + (uint)bVar30 * -2 + 1;\n    pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n  } while (bVar27);\n  if ((!bVar29 && !bVar27) != bVar29) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56379;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c09ff;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* try { // try from 002c0a02 to 002c0a76 has its CatchHandler @ 002c0e87 */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0a07;\n    gold_warning(*(char **)(puVar22 + -0x10));\n    (this->compress_debug_sections_).value = (char *)local_1f0;\n  }\nLAB_002c00a3:\n  if ((this->rosegment_gap_).user_set_via_option != false) {\n    (this->rosegment_).value = true;\n  }\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)libpath._M_dataplus._M_p != local_1ec) {\n    *(pointer *)(puVar22 + -0x10) = libpath._M_dataplus._M_p;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c00d3;\n    operator_delete(*(void **)(puVar22 + -0x10));\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::General_options::" identifier : : identifier : :) (function_declarator "finalize(General_options *this)" identifier (parameter_list "(General_options *this)" ( (parameter_declaration "General_options *this" type_identifier (pointer_declarator "*this" * identifier)) ))) (compound_statement "{\n  pointer *ppSVar1;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar2;\n  double dVar3;\n  ctype<char> *this_00;\n  undefined **ppuVar4;\n  iterator iVar5;\n  string *psVar6;\n  undefined **ppuVar7;\n  char cVar8;\n  ctype<char> cVar9;\n  __node_base *p_Var10;\n  undefined4 *puVar11;\n  Object_format OVar12;\n  size_t sVar13;\n  uint uVar14;\n  char *pcVar15;\n  demangling_styles style;\n  int *piVar16;\n  char *pcVar17;\n  char *format;\n  int iVar18;\n  undefined *puVar19;\n  uint uVar20;\n  undefined1 *puVar21;\n  undefined1 *puVar22;\n  byte *pbVar23;\n  byte *pbVar24;\n  byte *pbVar25;\n  byte *pbVar26;\n  bool bVar27;\n  bool bVar28;\n  bool bVar29;\n  byte bVar30;\n  undefined4 uStack_230;\n  uint uVar31;\n  undefined4 uVar32;\n  undefined1 auStack_20c [12];\n  undefined **local_200;\n  undefined **local_1fc;\n  undefined *local_1f8;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *local_1f4;\n  byte *local_1f0;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *local_1ec;\n  ios_base *local_1e8;\n  undefined1 *local_1e4;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *local_1e0;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *local_1dc;\n  Dir_list *local_1d8;\n  string *local_1d4;\n  Search_directory *local_1d0;\n  double local_1cc;\n  undefined **local_1c4;\n  undefined1 local_1c0 [4];\n  string libpath;\n  Search_directory local_1a4;\n  Search_directory local_188;\n  Search_directory local_16c;\n  string line;\n  ifstream in;\n  size_type local_130;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  local_12c;\n  undefined2 local_11c;\n  undefined1 local_110 [28];\n  undefined1 local_f4 [60];\n  int aiStack_b8 [5];\n  undefined **local_a4 [5];\n  byte local_90;\n  undefined4 local_34;\n  undefined2 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  bVar30 = 0;\n  local_1c4 = &_GLOBAL_OFFSET_TABLE_;\n  bVar29 = (this->strip_all_).value;\n  if (bVar29 == false) {\n    if ((this->strip_debug_).value != false) goto LAB_002bfd3a;\n    if ((this->strip_debug_non_line_).value != false) {\n      bVar27 = false;\n      goto LAB_002bfd49;\n    }\n    bVar27 = false;\n    if ((this->Bshareable_).value != false) goto LAB_002bfd5c;\n  }\n  else {\n    (this->strip_debug_).value = true;\nLAB_002bfd3a:\n    bVar27 = true;\n    (this->strip_debug_non_line_).value = true;\nLAB_002bfd49:\n    (this->strip_debug_gdb_).value = true;\n    if ((this->Bshareable_).value != false) {\nLAB_002bfd5c:\n      (this->shared_).value = true;\n    }\n    if (((bVar29 != false) && ((this->relocatable_).value != false)) &&\n       ((this->strip_all_).value = false, !bVar27)) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/options.cc",0x453,"finalize");\n    }\n  }\n  if ((this->dc_).value != false) {\n    (this->define_common_).value = true;\n  }\n  if ((this->dp_).value != false) {\n    (this->define_common_).value = true;\n  }\n  if ((this->define_common_).user_set_via_option == false) {\n    bVar29 = (this->relocatable_).value;\n    local_1cc = (double)CONCAT71(local_1cc._1_7_,bVar29);\n    (this->define_common_).value = (bool)(bVar29 ^ 1);\n  }\n  bVar29 = (this->execstack_).value == false;\n  if (bVar29) {\n    bVar29 = (this->noexecstack_).value == false;\n    if (!bVar29) {\n      this->execstack_status_ = EXECSTACK_NO;\n    }\n  }\n  else {\n    this->execstack_status_ = EXECSTACK_YES;\n  }\n  bVar27 = false;\n  iVar18 = 5;\n  pbVar23 = (byte *)(this->icf_).value;\n  local_1f0 = (byte *)0x48e342;\n  pbVar24 = pbVar23;\n  pbVar26 = (byte *)0x48e342;\n  do {\n    pbVar25 = pbVar26;\n    if (iVar18 == 0) break;\n    iVar18 = iVar18 + -1;\n    pbVar25 = pbVar26 + 1;\n    bVar27 = *pbVar24 < *pbVar26;\n    bVar29 = *pbVar24 == *pbVar26;\n    pbVar24 = pbVar24 + 1;\n    pbVar26 = pbVar25;\n  } while (bVar29);\n  bVar28 = false;\n  bVar29 = (!bVar27 && !bVar29) == bVar27;\n  if (bVar29) {\n    this->icf_status_ = ICF_NONE;\n  }\n  else {\n    iVar18 = 5;\n    pbVar24 = (byte *)0x48dc94;\n    do {\n      pbVar25 = pbVar24;\n      if (iVar18 == 0) break;\n      iVar18 = iVar18 + -1;\n      pbVar25 = pbVar24 + 1;\n      bVar28 = *pbVar23 < *pbVar24;\n      bVar29 = *pbVar23 == *pbVar24;\n      pbVar23 = pbVar23 + 1;\n      pbVar24 = pbVar25;\n    } while (bVar29);\n    this->icf_status_ = ((!bVar28 && !bVar29) == bVar28) + ICF_ALL;\n  }\n  if ((this->demangle_).user_set_via_option == false) {\n    if ((this->no_demangle_).user_set_via_option == false) {\n      pcVar15 = getenv("COLLECT_NO_DEMANGLE");\n      this->do_demangle_ = pcVar15 == (char *)0x0;\n    }\n    else {\n      this->do_demangle_ = false;\n    }\n  }\n  else {\n    pcVar15 = (this->demangle_).value;\n    this->do_demangle_ = true;\n    if (*pcVar15 != '\0') {\n      style = cplus_demangle_name_to_style(pcVar15);\n      if (style == unknown_demangling) {\n                    /* WARNING: Subroutine does not return */\n        gold_fatal((char *)(local_1c4 + -0x56e9a),pcVar15,pbVar25,pbVar25);\n      }\n      cplus_demangle_set_style(style);\n    }\n  }\n  bVar29 = false;\n  bVar27 = (this->orphan_handling_).user_set_via_option == false;\n  if (!bVar27) {\n    pbVar23 = (byte *)(this->orphan_handling_).value;\n    iVar18 = 6;\n    pbVar24 = pbVar23;\n    pbVar26 = (byte *)((int)local_1c4 + -0x1477fe);\n    do {\n      if (iVar18 == 0) break;\n      iVar18 = iVar18 + -1;\n      bVar29 = *pbVar24 < *pbVar26;\n      bVar27 = *pbVar24 == *pbVar26;\n      pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n      pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n    } while (bVar27);\n    bVar28 = false;\n    bVar29 = (!bVar29 && !bVar27) == bVar29;\n    if (bVar29) {\n      this->orphan_handling_enum_ = ORPHAN_PLACE;\n    }\n    else {\n      iVar18 = 8;\n      pbVar24 = pbVar23;\n      pbVar26 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar18 == 0) break;\n        iVar18 = iVar18 + -1;\n        bVar28 = *pbVar24 < *pbVar26;\n        bVar29 = *pbVar24 == *pbVar26;\n        pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n        pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar27 = false;\n      bVar29 = (!bVar28 && !bVar29) == bVar28;\n      if (bVar29) {\n        this->orphan_handling_enum_ = ORPHAN_DISCARD;\n      }\n      else {\n        iVar18 = 5;\n        pbVar24 = pbVar23;\n        pbVar26 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar18 == 0) break;\n          iVar18 = iVar18 + -1;\n          bVar27 = *pbVar24 < *pbVar26;\n          bVar29 = *pbVar24 == *pbVar26;\n          pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n          pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n        } while (bVar29);\n        bVar28 = false;\n        bVar29 = (!bVar27 && !bVar29) == bVar27;\n        if (bVar29) {\n          this->orphan_handling_enum_ = ORPHAN_WARN;\n        }\n        else {\n          iVar18 = 6;\n          pbVar24 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar18 == 0) break;\n            iVar18 = iVar18 + -1;\n            bVar28 = *pbVar23 < *pbVar24;\n            bVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar30 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n          } while (bVar29);\n          if ((!bVar28 && !bVar29) == bVar28) {\n            this->orphan_handling_enum_ = ORPHAN_ERROR;\n          }\n        }\n      }\n    }\n  }\n  if (((this->print_map_).value != false) && ((this->Map_).user_set_via_option == false)) {\n    (this->Map_).user_set_via_option = true;\n    (this->Map_).value = (char *)(local_1c4 + -0x573ca);\n  }\n  if (((this->nmagic_).value != false) || ((this->omagic_).value != false)) {\n    this->static_ = true;\n  }\n  iVar18 = (this->thread_count_).value;\n  if (0 < iVar18) {\n    if ((this->thread_count_initial_).value == 0) {\n      (this->thread_count_initial_).value = iVar18;\n    }\n    if ((this->thread_count_middle_).value == 0) {\n      (this->thread_count_middle_).value = iVar18;\n    }\n    if ((this->thread_count_final_).value == 0) {\n      (this->thread_count_final_).value = iVar18;\n    }\n  }\n  libpath.field_2._M_local_buf[0] = '\0';\n  local_1d4 = &libpath;\n  local_1ec = &libpath.field_2;\n  libpath._M_dataplus._M_p = (pointer)&libpath.field_2;\n  libpath._M_string_length = 0;\n  if ((this->Y_).user_set_via_option == false) {\n    if ((this->nostdlib_).value == false) {\n      local_1dc = &local_12c;\n      local_1d0 = (Search_directory *)&in;\n      _in = (pointer)local_1dc;\n                    /* try { // try from 002c0505 to 002c0509 has its CatchHandler @ 002c0e87 */\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>_> *)local_1d0,\n                 (int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);\n      paVar2 = &local_1a4.name_.field_2;\n      local_1a4.name_._M_dataplus._M_p = (pointer)paVar2;\n                    /* try { // try from 002c0532 to 002c0536 has its CatchHandler @ 002c0ef5 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char*>(&local_1a4.name_,_in,(filebuf *)(_in + local_130),0);\n      local_1a4.put_in_sysroot_ = true;\n      local_1a4.is_in_sysroot_ = false;\n      if (local_1a4.name_._M_string_length == 0) {\n                    /* try { // try from 002c0957 to 002c095b has its CatchHandler @ 002c0e8e */\n        std::string::_M_replace((string *)&local_1a4,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }\n      local_1d8 = &(this->library_path_).value;\n      iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n           _M_impl._M_finish;\n      if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0973 to 002c0977 has its CatchHandler @ 002c0e95 */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_1a4);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c058f to 002c0593 has its CatchHandler @ 002c0e95 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_1a4.name_._M_dataplus._M_p,\n                            local_1a4.name_._M_dataplus._M_p + local_1a4.name_._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = local_1a4.put_in_sysroot_;\n        (iVar5._M_current)->is_in_sysroot_ = local_1a4.is_in_sysroot_;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_1a4.name_._M_dataplus._M_p != paVar2) {\n        operator_delete(local_1a4.name_._M_dataplus._M_p);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }\n      _in = (pointer)local_1dc;\n                    /* try { // try from 002c0619 to 002c061d has its CatchHandler @ 002c0e87 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>\n                (&local_1d0->name_,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);\n      paVar2 = &local_188.name_.field_2;\n      local_188.name_._M_dataplus._M_p = (pointer)paVar2;\n                    /* try { // try from 002c0646 to 002c064a has its CatchHandler @ 002c0ecd */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char*>(&local_188.name_,_in,(filebuf *)(_in + local_130),0);\n      local_188.put_in_sysroot_ = true;\n      local_188.is_in_sysroot_ = false;\n      if (local_188.name_._M_string_length == 0) {\n                    /* try { // try from 002c0af7 to 002c0afb has its CatchHandler @ 002c0eb8 */\n        std::string::_M_replace((string *)&local_188,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }\n      iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n           _M_impl._M_finish;\n      if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0b8b to 002c0b8f has its CatchHandler @ 002c0ebf */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_188);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c0695 to 002c0699 has its CatchHandler @ 002c0ebf */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_188.name_._M_dataplus._M_p,\n                            local_188.name_._M_dataplus._M_p + local_188.name_._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = local_188.put_in_sysroot_;\n        (iVar5._M_current)->is_in_sysroot_ = local_188.is_in_sysroot_;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_188.name_._M_dataplus._M_p != paVar2) {\n        operator_delete(local_188.name_._M_dataplus._M_p);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }\n      _in = (pointer)local_1dc;\n                    /* try { // try from 002c071f to 002c0723 has its CatchHandler @ 002c0e87 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>\n                (&local_1d0->name_,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);\n      paVar2 = &local_16c.name_.field_2;\n      local_16c.name_._M_dataplus._M_p = (pointer)paVar2;\n                    /* try { // try from 002c074c to 002c0750 has its CatchHandler @ 002c0ec6 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char*>(&local_16c.name_,_in,(filebuf *)(_in + local_130),0);\n      local_16c.put_in_sysroot_ = true;\n      local_16c.is_in_sysroot_ = false;\n      if (local_16c.name_._M_string_length == 0) {\n                    /* try { // try from 002c0b1f to 002c0b23 has its CatchHandler @ 002c0eb1 */\n        std::string::_M_replace((string *)&local_16c,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }\n      iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n           _M_impl._M_finish;\n      if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0b6b to 002c0b6f has its CatchHandler @ 002c0e9c */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_16c);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c079b to 002c079f has its CatchHandler @ 002c0e9c */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_16c.name_._M_dataplus._M_p,\n                            local_16c.name_._M_dataplus._M_p + local_16c.name_._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = local_16c.put_in_sysroot_;\n        (iVar5._M_current)->is_in_sysroot_ = local_16c.is_in_sysroot_;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_16c.name_._M_dataplus._M_p != paVar2) {\n        operator_delete(local_16c.name_._M_dataplus._M_p);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }\n      _in = (pointer)local_1dc;\n                    /* try { // try from 002c0825 to 002c0829 has its CatchHandler @ 002c0e87 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>\n                (&local_1d0->name_,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);\n      local_1e0 = &line.field_2;\n      local_1cc = (double)CONCAT44(local_1cc._4_4_,&line);\n      line._M_dataplus._M_p = (pointer)local_1e0;\n                    /* try { // try from 002c085e to 002c0862 has its CatchHandler @ 002c0e6b */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char*>(&line,_in,(filebuf *)(_in + local_130),0);\n      if (line._M_string_length == 0) {\n                    /* try { // try from 002c0b4c to 002c0b50 has its CatchHandler @ 002c0eaa */\n        std::string::_M_replace\n                  ((string *)local_1cc._0_4_,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }\n      iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n           _M_impl._M_finish;\n      if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0bb0 to 002c0bb4 has its CatchHandler @ 002c0e64 */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,local_1cc._0_4_);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c08ad to 002c08b1 has its CatchHandler @ 002c0e64 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,line._M_dataplus._M_p,\n                            line._M_dataplus._M_p + line._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = true;\n        (iVar5._M_current)->is_in_sysroot_ = false;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)line._M_dataplus._M_p != local_1e0) {\n        operator_delete(line._M_dataplus._M_p);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }\n      goto LAB_002c0258;\n    }\n  }\n  else {\n    pcVar15 = (this->Y_).value;\n    sVar13 = strlen(pcVar15);\n    psVar6 = local_1d4;\n                    /* try { // try from 002c022e to 002c02de has its CatchHandler @ 002c0e87 */\n    std::string::_M_replace((string *)local_1d4,0,0,pcVar15,sVar13);\n    iVar18 = std::string::compare((uint)psVar6,0,(char *)0x2);\n    if (iVar18 == 0) {\n                    /* try { // try from 002c0acd to 002c0ad1 has its CatchHandler @ 002c0e87 */\n      std::string::_M_erase((uint)local_1d4,0);\n    }\nLAB_002c0258:\n    uVar31 = 0;\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&line);\n    if (libpath._M_string_length != 0) {\n      do {\n        iVar18 = std::string::find((char)local_1d4,0x3a);\n        uVar20 = 0xffffffff;\n        if ((iVar18 == -1) || (uVar20 = iVar18 - uVar31, uVar20 != 0)) {\n          if (libpath._M_string_length < uVar31) {\n                    /* WARNING: Subroutine does not return */\n            std::__throw_out_of_range_fmt\n                      ((char *)(local_1c4 + -0x58f98),(int)local_1c4 + -0x1641fb,uVar31,\n                       libpath._M_string_length);\n          }\n          local_1e0 = &line.field_2;\n          uVar14 = libpath._M_string_length - uVar31;\n          if (uVar20 < libpath._M_string_length - uVar31) {\n            uVar14 = uVar20;\n          }\n          line._M_dataplus._M_p = (pointer)local_1e0;\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char_const*>\n                    (&(local_1cc._0_4_)->name_,libpath._M_dataplus._M_p + uVar31,\n                     libpath._M_dataplus._M_p + uVar31 + uVar14,0);\n          local_1dc = &local_12c;\n          local_1d0 = (Search_directory *)&in;\n          _in = (pointer)local_1dc;\n                    /* try { // try from 002c0313 to 002c0317 has its CatchHandler @ 002c0ea3 */\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>_> *)\n                              local_1d0,line._M_dataplus._M_p,\n                              line._M_dataplus._M_p + line._M_string_length,0);\n          local_11c._0_1_ = true;\n          local_11c._1_1_ = false;\n          if (local_130 == 0) {\n                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */\n            std::string::_M_replace((string *)local_1d0,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n          }\n          iVar5._M_current =\n               (this->library_path_).value.\n               super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n               _M_impl._M_finish;\n          if (iVar5._M_current ==\n              (this->library_path_).value.\n              super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n              _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */\n            std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n            _M_realloc_insert<const_gold::Search_directory&>\n                      (&(this->library_path_).value,iVar5,local_1d0);\n          }\n          else {\n            ((iVar5._M_current)->name_)._M_dataplus._M_p =\n                 (pointer)&((iVar5._M_current)->name_).field_2;\n                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */\n            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>(&(iVar5._M_current)->name_,_in,(filebuf *)(_in + local_130),0);\n            (iVar5._M_current)->put_in_sysroot_ = local_11c._0_1_;\n            (iVar5._M_current)->is_in_sysroot_ = local_11c._1_1_;\n            ppSVar1 = &(this->library_path_).value.\n                       super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                       ._M_impl._M_finish;\n            *ppSVar1 = *ppSVar1 + 1;\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_in != local_1dc) {\n            operator_delete(_in);\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)line._M_dataplus._M_p != local_1e0) {\n            operator_delete(line._M_dataplus._M_p);\n          }\n          if (iVar18 == -1) break;\n        }\n        uVar31 = iVar18 + 1;\n      } while( true );\n    }\n  }\n  ppuVar7 = local_1c4;\n  puVar21 = auStack_20c;\n  puVar22 = auStack_20c;\n  if ((this->retain_symbols_file_).value != (char *)0x0) {\n    local_1e8 = (ios_base *)local_a4;\n    local_1d0 = (Search_directory *)&in;\n    std::ios_base::ios_base(local_1e8);\n    local_1fc = ppuVar7 + -0xa0e;\n    local_34 = 0;\n    local_2c = 0;\n    local_a4[0] = ppuVar7 + -0xa0c;\n    local_30 = 0;\n    local_28 = 0;\n    local_1f4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)ppuVar7[-0x9d3];\n    local_1f8 = ppuVar7[-0x9d2];\n    local_24 = 0;\n    local_20 = 0;\n    _in = (pointer)local_1f4;\n    *(undefined **)(&in + *(int *)(local_1f4->_M_local_buf + -0xc)) = local_1f8;\n                    /* try { // try from 002bfb07 to 002bfb0b has its CatchHandler @ 002c0ee2 */\n    std::ios::init((streambuf *)\n                   ((int)&(((Search_directory *)&in)->name_)._M_dataplus._M_p +\n                   *(int *)(local_1f4->_M_local_buf + -0xc)));\n    local_200 = ppuVar7 + -0x9d0;\n    _in = (pointer)(ppuVar7 + -0x9cd);\n    local_a4[0] = ppuVar7 + -0x9c8;\n    local_1dc = &local_12c;\n                    /* try { // try from 002bfb39 to 002bfb3d has its CatchHandler @ 002c0ed4 */\n    std::filebuf::filebuf((filebuf *)local_12c._M_local_buf);\n                    /* try { // try from 002bfb47 to 002bfb4b has its CatchHandler @ 002c0e79 */\n    std::ios::init((streambuf *)local_1e8);\n    uVar32 = 8;\n                    /* try { // try from 002bfb5b to 002bfb8a has its CatchHandler @ 002c0e80 */\n    iVar18 = std::filebuf::open(local_12c._M_local_buf,\n                                (_Ios_Openmode)(this->retain_symbols_file_).value);\n    puVar19 = *(undefined **)(_in + -0xc) + (int)&(local_1d0->name_)._M_dataplus;\n    if (iVar18 == 0) {\n      uVar31 = *(uint *)(puVar19 + 0x14) | 4;\n                    /* try { // try from 002c0aa1 to 002c0aa5 has its CatchHandler @ 002c0e80 */\n      std::ios::clear((_Ios_Iostate)puVar19);\n    }\n    else {\n      uVar31 = 0;\n      std::ios::clear((_Ios_Iostate)puVar19);\n    }\n    ppuVar7 = local_1c4;\n    if ((local_90 & 5) != 0) {\n      piVar16 = __errno_location();\n      pcVar17 = strerror(*piVar16);\n      pcVar15 = (this->retain_symbols_file_).value;\n      format = (char *)gettext(local_1c4 + -0x5645f,uVar31);\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d5c to 002c0d60 has its CatchHandler @ 002c0e80 */\n      gold_fatal(format,pcVar15,pcVar17);\n    }\n    line.field_2._M_local_buf[0] = '\0';\n    local_1e0 = &line.field_2;\n    line._M_dataplus._M_p = (pointer)&line.field_2;\n    line._M_string_length = 0;\n    this_00 = *(ctype<char> **)((int)aiStack_b8 + (int)*(undefined **)(_in + -0xc));\n    if (this_00 == (ctype<char> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e40 to 002c0e44 has its CatchHandler @ 002c0edb */\n      std::__throw_bad_cast();\n    }\n    if (this_00[0x1c] == (ctype<char>)0x0) {\n                    /* try { // try from 002c043c to 002c0463 has its CatchHandler @ 002c0edb */\n      std::ctype<char>::_M_widen_init(this_00);\n      cVar9 = (ctype<char>)0xa;\n      if (*(undefined ***)(*(int *)this_00 + 0x18) != ppuVar7 + -0xdabd4) {\n        cVar9 = (ctype<char>)(*(code *)*(undefined ***)(*(int *)this_00 + 0x18))(this_00,10,uVar32);\n      }\n    }\n    else {\n      cVar9 = this_00[0x27];\n    }\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&line);\n                    /* try { // try from 002bfc01 to 002bfc46 has its CatchHandler @ 002c0edb */\n    std::getline<char,std::char_traits<char>,std::allocator<char>>\n              ((istream *)local_1d0,(string *)&line,(char)cVar9);\n    local_1d4 = (string *)&this->symbols_to_retain_;\n    local_1e4 = local_1c0;\n    while ((local_90 & 5) == 0) {\n      if ((line._M_string_length != 0) && (line._M_dataplus._M_p[line._M_string_length - 1] == '\r')\n         ) {\n        *(undefined4 *)(puVar21 + -8) = 0;\n        *(size_type *)(puVar21 + -0xc) = line._M_string_length - 1;\n        *(Search_directory **)(puVar21 + -0x10) = local_1cc._0_4_;\n                    /* try { // try from 002c0182 to 002c0186 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2c0187;\n        std::string::resize(*(uint *)(puVar21 + -0x10),puVar21[-0xc]);\n      }\n      *(undefined4 *)(puVar21 + -8) = 0xc70f6907;\n      *(size_type *)(puVar21 + -0xc) = line._M_string_length;\n      *(pointer *)(puVar21 + -0x10) = line._M_dataplus._M_p;\n      *(undefined4 *)(puVar21 + -0x14) = 0x2bfc8a;\n      uVar31 = std::_Hash_bytes(*(void **)(puVar21 + -0x10),*(uint *)(puVar21 + -0xc),\n                                *(uint *)(puVar21 + -8));\n      local_1d8 = (Dir_list *)(uVar31 % (this->symbols_to_retain_)._M_h._M_bucket_count);\n      *(uint *)(puVar21 + -0x14) = uVar31;\n      *(Search_directory **)(puVar21 + -0x18) = local_1cc._0_4_;\n      *(Dir_list **)(puVar21 + -0x1c) = local_1d8;\n      *(string **)(puVar21 + -0x20) = local_1d4;\n      *(undefined4 *)(puVar21 + -0x24) = 0x2bfcb0;\n      p_Var10 = std::\n                _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::_M_find_before_node\n                          (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                           *(key_type **)(puVar21 + -0x18),*(__hash_code *)(puVar21 + -0x14));\n      if ((p_Var10 == (__node_base *)0x0) || (p_Var10->_M_nxt == (_Hash_node_base *)0x0)) {\n        *(undefined4 *)(puVar21 + -0x10) = 0x20;\n                    /* try { // try from 002bfdcb to 002bfdcf has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2bfdd0;\n        puVar11 = (undefined4 *)operator_new(*(uint *)(puVar21 + -0x10));\n        *puVar11 = 0;\n        puVar11[1] = puVar11 + 3;\n        *(undefined4 *)(puVar21 + -4) = 0;\n        *(pointer *)(puVar21 + -8) = line._M_dataplus._M_p + line._M_string_length;\n        *(pointer *)(puVar21 + -0xc) = line._M_dataplus._M_p;\n        *(undefined4 **)(puVar21 + -0x10) = puVar11 + 1;\n                    /* try { // try from 002bfdf7 to 002bfdfb has its CatchHandler @ 002c0ee9 */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2bfdfc;\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>();\n        *(undefined4 *)(puVar21 + -0xc) = 1;\n        *(undefined4 **)(puVar21 + -0x10) = puVar11;\n        *(uint *)(puVar21 + -0x14) = uVar31;\n        *(Dir_list **)(puVar21 + -0x18) = local_1d8;\n        *(string **)(puVar21 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar21 + -0x20) = local_1e4;\n                    /* try { // try from 002bfe14 to 002bfe18 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x24) = 0x2bfe19;\n        std::\n        _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::_M_insert_unique_node\n                  (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                     **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                   *(__hash_code *)(puVar21 + -0x18),*(__node_type **)(puVar21 + -0x14),\n                   *(size_type *)(puVar21 + -0x10));\n        puVar21 = puVar21 + -4;\n      }\n      ppuVar7 = local_1c4;\n      piVar16 = *(int **)((int)aiStack_b8 + (int)*(undefined **)(_in + -0xc));\n      if (piVar16 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0bfa to 002c0bfe has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -4) = 0x2c0bff;\n        std::__throw_bad_cast();\n      }\n      if ((char)piVar16[7] == '\0') {\n        *(int **)(puVar21 + -0x10) = piVar16;\n                    /* try { // try from 002bfcf3 to 002bfd1a has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2bfcf8;\n        std::ctype<char>::_M_widen_init(*(ctype<char> **)(puVar21 + -0x10));\n        ppuVar4 = *(undefined ***)(*piVar16 + 0x18);\n        iVar18 = 10;\n        if (ppuVar4 != ppuVar7 + -0xdabd4) {\n          *(undefined4 *)(puVar21 + -0xc) = 10;\n          *(int **)(puVar21 + -0x10) = piVar16;\n          *(undefined4 *)(puVar21 + -0x14) = 0x2bfd1b;\n          cVar8 = (*(code *)ppuVar4)();\n          iVar18 = (int)cVar8;\n        }\n      }\n      else {\n        iVar18 = (int)*(char *)((int)piVar16 + 0x27);\n      }\n      *(int *)(puVar21 + -8) = iVar18;\n      *(Search_directory **)(puVar21 + -0xc) = local_1cc._0_4_;\n      *(Search_directory **)(puVar21 + -0x10) = local_1d0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x2bfc47;\n      std::getline<char,std::char_traits<char>,std::allocator<char>>\n                (*(istream **)(puVar21 + -0x10),*(string **)(puVar21 + -0xc),puVar21[-8]);\n    }\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)line._M_dataplus._M_p != local_1e0) {\n      *(pointer *)(puVar21 + -0x10) = line._M_dataplus._M_p;\n      *(undefined4 *)(puVar21 + -0x14) = 0x2bfe3f;\n      operator_delete(*(void **)(puVar21 + -0x10));\n    }\n    ppuVar7 = local_1c4;\n    *(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n      **)(puVar21 + -0x10) = local_1dc;\n    _in = (pointer)(local_200 + 3);\n    local_a4[0] = local_200 + 8;\n    local_12c._M_allocated_capacity = (size_type)(local_1c4 + -0x9ec);\n    *(undefined4 *)(puVar21 + -0x14) = 0x2bfe7f;\n    std::filebuf::close(*(filebuf **)(puVar21 + -0x10));\n    *(undefined1 **)(puVar21 + -0x10) = local_f4;\n    *(undefined4 *)(puVar21 + -0x14) = 0x2bfe8d;\n    std::__basic_file<char>::~__basic_file(*(__basic_file<char> **)(puVar21 + -0x10));\n    local_12c._M_allocated_capacity = (size_type)(ppuVar7 + -0xbd1);\n    *(undefined1 **)(puVar21 + -0x10) = local_110;\n    *(undefined4 *)(puVar21 + -0x14) = 0x2bfeaa;\n    std::locale::~locale(*(locale **)(puVar21 + -0x10));\n    _in = (pointer)local_1f4;\n    *(undefined **)(&in + *(int *)(local_1f4->_M_local_buf + -0xc)) = local_1f8;\n    local_a4[0] = local_1fc + 2;\n    *(ios_base **)(puVar21 + -0x10) = local_1e8;\n    *(undefined4 *)(puVar21 + -0x14) = 0x2bfeeb;\n    std::ios_base::~ios_base(*(ios_base **)(puVar21 + -0x10));\n    puVar22 = puVar21;\n  }\n  if (((this->Bgroup_).value != false) && ((this->unresolved_symbols_).user_set_via_option == false)\n     ) {\n    (this->unresolved_symbols_).value = (char *)((int)local_1c4 + -0x1a1f9b);\n  }\n  if (((this->shared_).value != false) &&\n     ((this->allow_shlib_undefined_).user_set_via_option == false)) {\n    (this->allow_shlib_undefined_).value = true;\n  }\n  *(General_options **)(puVar22 + -0x10) = this;\n                    /* try { // try from 002bff3a to 002c016a has its CatchHandler @ 002c0e87 */\n  *(undefined4 *)(puVar22 + -0x14) = 0x2bff3f;\n  add_sysroot(*(General_options **)(puVar22 + -0x10));\n  if ((this->shared_).value == false) {\n    if ((this->pie_).value != false) {\n      if (this->static_ != false) {\n        *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar22 + -0x14) = 0x2c0e5c;\n        uVar32 = gettext();\n        *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e5f to 002c0e63 has its CatchHandler @ 002c0e87 */\n        *(undefined1 **)(puVar22 + -0x14) = &LAB_002c0e64;\n        gold_fatal(*(char **)(puVar22 + -0x10));\n      }\n      if ((this->relocatable_).value != false) {\n        *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar22 + -0x14) = 0x2c0cbd;\n        uVar32 = gettext();\n        *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar22 + -0x14) = 0x2c0cc5;\n        gold_fatal(*(char **)(puVar22 + -0x10));\n      }\n    }\n    if ((this->filter_).value != (char *)0x0) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5642f;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0cdc;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0ce4;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n    if ((this->auxiliary_).value._M_h._M_element_count != 0) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56424;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0d10;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d13 to 002c0d17 has its CatchHandler @ 002c0e87 */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0d18;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n    if (((this->relocatable_).value != false) && ((this->retain_symbols_file_).value != (char *)0x0)\n       ) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56418;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0163;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined **)(puVar22 + -0x14) = &UNK_002c016b;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n  }\n  else {\n    if (this->static_ != false) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0e32;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0e3a;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n    if ((this->pie_).value != false) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0c7f;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0c87;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n    if ((this->relocatable_).value != false) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0c9e;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0ca6;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n  }\n  *(char **)(puVar22 + -0x10) = (this->oformat_).value;\n  *(undefined4 *)(puVar22 + -0x14) = 0x2bff90;\n  OVar12 = string_to_object_format(*(char **)(puVar22 + -0x10));\n  if ((OVar12 != OBJECT_FORMAT_ELF) &&\n     ((((this->shared_).value != false || ((this->pie_).value != false)) ||\n      ((this->relocatable_).value != false)))) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5640c;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0c60;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0c68;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }\n  if (((this->hash_bucket_empty_fraction_).user_set_via_option != false) &&\n     ((dVar3 = (this->hash_bucket_empty_fraction_).value, dVar3 < 0.0 || (1.0 <= dVar3)))) {\n    local_1cc = dVar3;\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563fc;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0c1c;\n    uVar32 = gettext();\n    dVar3 = local_1cc;\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n    *(double *)(puVar22 + -0xc) = dVar3;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0c29 to 002c0ce3 has its CatchHandler @ 002c0e87 */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0c2e;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }\n  if (this->implicit_incremental_ == false) {\n    if (this->incremental_mode_ == INCREMENTAL_OFF) goto LAB_002c00a3;\n  }\n  else if (this->incremental_mode_ == INCREMENTAL_OFF) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563ec;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0db6;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0dbe;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }\n  if ((this->relocatable_).value != false) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563d0;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0dd5;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0ddd;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }\n  if ((this->emit_relocs_).value != false) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563c4;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0df4;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0dfc;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }\n  if (this->plugins_ != (Plugin_manager *)0x0) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563b5;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0e13;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0e1b;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }\n  if ((this->relro_).value != false) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563a8;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0d78;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d7b to 002c0e39 has its CatchHandler @ 002c0e87 */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0d80;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }\n  if ((this->pie_).value != false) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5639b;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0d97;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0d9f;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }\n  if ((this->gc_sections_).value != false) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5638f;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0a6f;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0a77;\n    gold_warning(*(char **)(puVar22 + -0x10));\n    (this->gc_sections_).value = false;\n  }\n  bVar27 = this->icf_status_ == ICF_NONE;\n  bVar29 = !bVar27;\n  if (bVar29) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56383;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0a37;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0a3f;\n    gold_warning(*(char **)(puVar22 + -0x10));\n    this->icf_status_ = ICF_NONE;\n  }\n  bVar29 = bVar29 && (undefined1 *)0xffffffef < puVar22 + -0x10;\n  bVar27 = bVar27 || puVar22 == (undefined1 *)0x0;\n  iVar18 = 5;\n  pbVar23 = (byte *)(this->compress_debug_sections_).value;\n  pbVar24 = local_1f0;\n  do {\n    if (iVar18 == 0) break;\n    iVar18 = iVar18 + -1;\n    bVar29 = *pbVar23 < *pbVar24;\n    bVar27 = *pbVar23 == *pbVar24;\n    pbVar23 = pbVar23 + (uint)bVar30 * -2 + 1;\n    pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n  } while (bVar27);\n  if ((!bVar29 && !bVar27) != bVar29) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56379;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c09ff;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* try { // try from 002c0a02 to 002c0a76 has its CatchHandler @ 002c0e87 */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0a07;\n    gold_warning(*(char **)(puVar22 + -0x10));\n    (this->compress_debug_sections_).value = (char *)local_1f0;\n  }\nLAB_002c00a3:\n  if ((this->rosegment_gap_).user_set_via_option != false) {\n    (this->rosegment_).value = true;\n  }\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)libpath._M_dataplus._M_p != local_1ec) {\n    *(pointer *)(puVar22 + -0x10) = libpath._M_dataplus._M_p;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c00d3;\n    operator_delete(*(void **)(puVar22 + -0x10));\n  }\n  return;\n}" { (declaration "pointer *ppSVar1;" type_identifier (pointer_declarator "*ppSVar1" * 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  *paVar2;" (binary_expression "allocator<char>_>_9\n  *paVar2" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n  *paVar2" identifier * identifier)) ;) (declaration "double dVar3;" primitive_type identifier ;) (expression_statement "ctype<char> *this_00;" (binary_expression "ctype<char> *this_00" (binary_expression "ctype<char" identifier < identifier) > (pointer_expression "*this_00" * identifier)) ;) (declaration "undefined **ppuVar4;" type_identifier (pointer_declarator "**ppuVar4" * (pointer_declarator "*ppuVar4" * identifier)) ;) (declaration "iterator iVar5;" type_identifier identifier ;) (declaration "string *psVar6;" type_identifier (pointer_declarator "*psVar6" * identifier) ;) (declaration "undefined **ppuVar7;" type_identifier (pointer_declarator "**ppuVar7" * (pointer_declarator "*ppuVar7" * identifier)) ;) (declaration "char cVar8;" primitive_type identifier ;) (expression_statement "ctype<char> cVar9;" (binary_expression "ctype<char> cVar9" (binary_expression "ctype<char" identifier < identifier) > identifier) ;) (declaration "__node_base *p_Var10;" type_identifier (pointer_declarator "*p_Var10" * identifier) ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "Object_format OVar12;" type_identifier identifier ;) (declaration "size_t sVar13;" primitive_type identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "demangling_styles style;" type_identifier identifier ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "char *pcVar17;" primitive_type (pointer_declarator "*pcVar17" * identifier) ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "undefined *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "undefined1 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "undefined1 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "byte *pbVar23;" type_identifier (pointer_declarator "*pbVar23" * identifier) ;) (declaration "byte *pbVar24;" type_identifier (pointer_declarator "*pbVar24" * identifier) ;) (declaration "byte *pbVar25;" type_identifier (pointer_declarator "*pbVar25" * identifier) ;) (declaration "byte *pbVar26;" type_identifier (pointer_declarator "*pbVar26" * identifier) ;) (declaration "bool bVar27;" primitive_type identifier ;) (declaration "bool bVar28;" primitive_type identifier ;) (declaration "bool bVar29;" primitive_type identifier ;) (declaration "byte bVar30;" type_identifier identifier ;) (declaration "undefined4 uStack_230;" type_identifier identifier ;) (declaration "uint uVar31;" type_identifier identifier ;) (declaration "undefined4 uVar32;" type_identifier identifier ;) (declaration "undefined1 auStack_20c [12];" type_identifier (array_declarator "auStack_20c [12]" identifier [ number_literal ]) ;) (declaration "undefined **local_200;" type_identifier (pointer_declarator "**local_200" * (pointer_declarator "*local_200" * identifier)) ;) (declaration "undefined **local_1fc;" type_identifier (pointer_declarator "**local_1fc" * (pointer_declarator "*local_1fc" * identifier)) ;) (declaration "undefined *local_1f8;" type_identifier (pointer_declarator "*local_1f8" * 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  *local_1f4;" (binary_expression "allocator<char>_>_9\n  *local_1f4" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n  *local_1f4" identifier * identifier)) ;) (declaration "byte *local_1f0;" type_identifier (pointer_declarator "*local_1f0" * 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  *local_1ec;" (binary_expression "allocator<char>_>_9\n  *local_1ec" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n  *local_1ec" identifier * identifier)) ;) (declaration "ios_base *local_1e8;" type_identifier (pointer_declarator "*local_1e8" * identifier) ;) (declaration "undefined1 *local_1e4;" type_identifier (pointer_declarator "*local_1e4" * 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  *local_1e0;" (binary_expression "allocator<char>_>_9\n  *local_1e0" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n  *local_1e0" 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  *local_1dc;" (binary_expression "allocator<char>_>_9\n  *local_1dc" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n  *local_1dc" identifier * identifier)) ;) (declaration "Dir_list *local_1d8;" type_identifier (pointer_declarator "*local_1d8" * identifier) ;) (declaration "string *local_1d4;" type_identifier (pointer_declarator "*local_1d4" * identifier) ;) (declaration "Search_directory *local_1d0;" type_identifier (pointer_declarator "*local_1d0" * identifier) ;) (declaration "double local_1cc;" primitive_type identifier ;) (declaration "undefined **local_1c4;" type_identifier (pointer_declarator "**local_1c4" * (pointer_declarator "*local_1c4" * identifier)) ;) (declaration "undefined1 local_1c0 [4];" type_identifier (array_declarator "local_1c0 [4]" identifier [ number_literal ]) ;) (declaration "string libpath;" type_identifier identifier ;) (declaration "Search_directory local_1a4;" type_identifier identifier ;) (declaration "Search_directory local_188;" type_identifier identifier ;) (declaration "Search_directory local_16c;" type_identifier identifier ;) (declaration "string line;" type_identifier identifier ;) (declaration "ifstream in;" type_identifier identifier ;) (declaration "size_type local_130;" 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  local_12c;" (binary_expression "allocator<char>_>_9\n  local_12c" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "_9" identifier) identifier) ;) (declaration "undefined2 local_11c;" type_identifier identifier ;) (declaration "undefined1 local_110 [28];" type_identifier (array_declarator "local_110 [28]" identifier [ number_literal ]) ;) (declaration "undefined1 local_f4 [60];" type_identifier (array_declarator "local_f4 [60]" identifier [ number_literal ]) ;) (declaration "int aiStack_b8 [5];" primitive_type (array_declarator "aiStack_b8 [5]" identifier [ number_literal ]) ;) (declaration "undefined **local_a4 [5];" type_identifier (pointer_declarator "**local_a4 [5]" * (pointer_declarator "*local_a4 [5]" * (array_declarator "local_a4 [5]" identifier [ number_literal ]))) ;) (declaration "byte local_90;" type_identifier identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined2 local_30;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (expression_statement "bVar30 = 0;" (assignment_expression "bVar30 = 0" identifier = number_literal) ;) (expression_statement "local_1c4 = &_GLOBAL_OFFSET_TABLE_;" (assignment_expression "local_1c4 = &_GLOBAL_OFFSET_TABLE_" identifier = (pointer_expression "&_GLOBAL_OFFSET_TABLE_" & identifier)) ;) (expression_statement "bVar29 = (this->strip_all_).value;" (assignment_expression "bVar29 = (this->strip_all_).value" identifier = (field_expression "(this->strip_all_).value" (parenthesized_expression "(this->strip_all_)" ( (field_expression "this->strip_all_" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (bVar29 == false) {\n    if ((this->strip_debug_).value != false) goto LAB_002bfd3a;\n    if ((this->strip_debug_non_line_).value != false) {\n      bVar27 = false;\n      goto LAB_002bfd49;\n    }\n    bVar27 = false;\n    if ((this->Bshareable_).value != false) goto LAB_002bfd5c;\n  }\n  else {\n    (this->strip_debug_).value = true;\nLAB_002bfd3a:\n    bVar27 = true;\n    (this->strip_debug_non_line_).value = true;\nLAB_002bfd49:\n    (this->strip_debug_gdb_).value = true;\n    if ((this->Bshareable_).value != false) {\nLAB_002bfd5c:\n      (this->shared_).value = true;\n    }\n    if (((bVar29 != false) && ((this->relocatable_).value != false)) &&\n       ((this->strip_all_).value = false, !bVar27)) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/options.cc",0x453,"finalize");\n    }\n  }" if (parenthesized_expression "(bVar29 == false)" ( (binary_expression "bVar29 == false" identifier == false) )) (compound_statement "{\n    if ((this->strip_debug_).value != false) goto LAB_002bfd3a;\n    if ((this->strip_debug_non_line_).value != false) {\n      bVar27 = false;\n      goto LAB_002bfd49;\n    }\n    bVar27 = false;\n    if ((this->Bshareable_).value != false) goto LAB_002bfd5c;\n  }" { (if_statement "if ((this->strip_debug_).value != false) goto LAB_002bfd3a;" if (parenthesized_expression "((this->strip_debug_).value != false)" ( (binary_expression "(this->strip_debug_).value != false" (field_expression "(this->strip_debug_).value" (parenthesized_expression "(this->strip_debug_)" ( (field_expression "this->strip_debug_" identifier -> field_identifier) )) . field_identifier) != false) )) (goto_statement "goto LAB_002bfd3a;" goto statement_identifier ;)) (if_statement "if ((this->strip_debug_non_line_).value != false) {\n      bVar27 = false;\n      goto LAB_002bfd49;\n    }" if (parenthesized_expression "((this->strip_debug_non_line_).value != false)" ( (binary_expression "(this->strip_debug_non_line_).value != false" (field_expression "(this->strip_debug_non_line_).value" (parenthesized_expression "(this->strip_debug_non_line_)" ( (field_expression "this->strip_debug_non_line_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n      bVar27 = false;\n      goto LAB_002bfd49;\n    }" { (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (goto_statement "goto LAB_002bfd49;" goto statement_identifier ;) })) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (if_statement "if ((this->Bshareable_).value != false) goto LAB_002bfd5c;" if (parenthesized_expression "((this->Bshareable_).value != false)" ( (binary_expression "(this->Bshareable_).value != false" (field_expression "(this->Bshareable_).value" (parenthesized_expression "(this->Bshareable_)" ( (field_expression "this->Bshareable_" identifier -> field_identifier) )) . field_identifier) != false) )) (goto_statement "goto LAB_002bfd5c;" goto statement_identifier ;)) }) (else_clause "else {\n    (this->strip_debug_).value = true;\nLAB_002bfd3a:\n    bVar27 = true;\n    (this->strip_debug_non_line_).value = true;\nLAB_002bfd49:\n    (this->strip_debug_gdb_).value = true;\n    if ((this->Bshareable_).value != false) {\nLAB_002bfd5c:\n      (this->shared_).value = true;\n    }\n    if (((bVar29 != false) && ((this->relocatable_).value != false)) &&\n       ((this->strip_all_).value = false, !bVar27)) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/options.cc",0x453,"finalize");\n    }\n  }" else (compound_statement "{\n    (this->strip_debug_).value = true;\nLAB_002bfd3a:\n    bVar27 = true;\n    (this->strip_debug_non_line_).value = true;\nLAB_002bfd49:\n    (this->strip_debug_gdb_).value = true;\n    if ((this->Bshareable_).value != false) {\nLAB_002bfd5c:\n      (this->shared_).value = true;\n    }\n    if (((bVar29 != false) && ((this->relocatable_).value != false)) &&\n       ((this->strip_all_).value = false, !bVar27)) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/options.cc",0x453,"finalize");\n    }\n  }" { (expression_statement "(this->strip_debug_).value = true;" (assignment_expression "(this->strip_debug_).value = true" (field_expression "(this->strip_debug_).value" (parenthesized_expression "(this->strip_debug_)" ( (field_expression "this->strip_debug_" identifier -> field_identifier) )) . field_identifier) = true) ;) (labeled_statement "LAB_002bfd3a:\n    bVar27 = true;" statement_identifier : (expression_statement "bVar27 = true;" (assignment_expression "bVar27 = true" identifier = true) ;)) (expression_statement "(this->strip_debug_non_line_).value = true;" (assignment_expression "(this->strip_debug_non_line_).value = true" (field_expression "(this->strip_debug_non_line_).value" (parenthesized_expression "(this->strip_debug_non_line_)" ( (field_expression "this->strip_debug_non_line_" identifier -> field_identifier) )) . field_identifier) = true) ;) (labeled_statement "LAB_002bfd49:\n    (this->strip_debug_gdb_).value = true;" statement_identifier : (expression_statement "(this->strip_debug_gdb_).value = true;" (assignment_expression "(this->strip_debug_gdb_).value = true" (field_expression "(this->strip_debug_gdb_).value" (parenthesized_expression "(this->strip_debug_gdb_)" ( (field_expression "this->strip_debug_gdb_" identifier -> field_identifier) )) . field_identifier) = true) ;)) (if_statement "if ((this->Bshareable_).value != false) {\nLAB_002bfd5c:\n      (this->shared_).value = true;\n    }" if (parenthesized_expression "((this->Bshareable_).value != false)" ( (binary_expression "(this->Bshareable_).value != false" (field_expression "(this->Bshareable_).value" (parenthesized_expression "(this->Bshareable_)" ( (field_expression "this->Bshareable_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\nLAB_002bfd5c:\n      (this->shared_).value = true;\n    }" { (labeled_statement "LAB_002bfd5c:\n      (this->shared_).value = true;" statement_identifier : (expression_statement "(this->shared_).value = true;" (assignment_expression "(this->shared_).value = true" (field_expression "(this->shared_).value" (parenthesized_expression "(this->shared_)" ( (field_expression "this->shared_" identifier -> field_identifier) )) . field_identifier) = true) ;)) })) (if_statement "if (((bVar29 != false) && ((this->relocatable_).value != false)) &&\n       ((this->strip_all_).value = false, !bVar27)) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/options.cc",0x453,"finalize");\n    }" if (parenthesized_expression "(((bVar29 != false) && ((this->relocatable_).value != false)) &&\n       ((this->strip_all_).value = false, !bVar27))" ( (binary_expression "((bVar29 != false) && ((this->relocatable_).value != false)) &&\n       ((this->strip_all_).value = false, !bVar27)" (parenthesized_expression "((bVar29 != false) && ((this->relocatable_).value != false))" ( (binary_expression "(bVar29 != false) && ((this->relocatable_).value != false)" (parenthesized_expression "(bVar29 != false)" ( (binary_expression "bVar29 != false" identifier != false) )) && (parenthesized_expression "((this->relocatable_).value != false)" ( (binary_expression "(this->relocatable_).value != false" (field_expression "(this->relocatable_).value" (parenthesized_expression "(this->relocatable_)" ( (field_expression "this->relocatable_" identifier -> field_identifier) )) . field_identifier) != false) ))) )) && (parenthesized_expression "((this->strip_all_).value = false, !bVar27)" ( (comma_expression "(this->strip_all_).value = false, !bVar27" (assignment_expression "(this->strip_all_).value = false" (field_expression "(this->strip_all_).value" (parenthesized_expression "(this->strip_all_)" ( (field_expression "this->strip_all_" identifier -> field_identifier) )) . field_identifier) = false) , (unary_expression "!bVar27" ! identifier)) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/options.cc",0x453,"finalize");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/options.cc",0x453,"finalize");" (call_expression "do_gold_unreachable("../../gold/options.cc",0x453,"finalize")" identifier (argument_list "("../../gold/options.cc",0x453,"finalize")" ( (string_literal ""../../gold/options.cc"" " string_content ") , number_literal , (string_literal ""finalize"" " string_content ") ))) ;) })) }))) (if_statement "if ((this->dc_).value != false) {\n    (this->define_common_).value = true;\n  }" if (parenthesized_expression "((this->dc_).value != false)" ( (binary_expression "(this->dc_).value != false" (field_expression "(this->dc_).value" (parenthesized_expression "(this->dc_)" ( (field_expression "this->dc_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n    (this->define_common_).value = true;\n  }" { (expression_statement "(this->define_common_).value = true;" (assignment_expression "(this->define_common_).value = true" (field_expression "(this->define_common_).value" (parenthesized_expression "(this->define_common_)" ( (field_expression "this->define_common_" identifier -> field_identifier) )) . field_identifier) = true) ;) })) (if_statement "if ((this->dp_).value != false) {\n    (this->define_common_).value = true;\n  }" if (parenthesized_expression "((this->dp_).value != false)" ( (binary_expression "(this->dp_).value != false" (field_expression "(this->dp_).value" (parenthesized_expression "(this->dp_)" ( (field_expression "this->dp_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n    (this->define_common_).value = true;\n  }" { (expression_statement "(this->define_common_).value = true;" (assignment_expression "(this->define_common_).value = true" (field_expression "(this->define_common_).value" (parenthesized_expression "(this->define_common_)" ( (field_expression "this->define_common_" identifier -> field_identifier) )) . field_identifier) = true) ;) })) (if_statement "if ((this->define_common_).user_set_via_option == false) {\n    bVar29 = (this->relocatable_).value;\n    local_1cc = (double)CONCAT71(local_1cc._1_7_,bVar29);\n    (this->define_common_).value = (bool)(bVar29 ^ 1);\n  }" if (parenthesized_expression "((this->define_common_).user_set_via_option == false)" ( (binary_expression "(this->define_common_).user_set_via_option == false" (field_expression "(this->define_common_).user_set_via_option" (parenthesized_expression "(this->define_common_)" ( (field_expression "this->define_common_" identifier -> field_identifier) )) . field_identifier) == false) )) (compound_statement "{\n    bVar29 = (this->relocatable_).value;\n    local_1cc = (double)CONCAT71(local_1cc._1_7_,bVar29);\n    (this->define_common_).value = (bool)(bVar29 ^ 1);\n  }" { (expression_statement "bVar29 = (this->relocatable_).value;" (assignment_expression "bVar29 = (this->relocatable_).value" identifier = (field_expression "(this->relocatable_).value" (parenthesized_expression "(this->relocatable_)" ( (field_expression "this->relocatable_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "local_1cc = (double)CONCAT71(local_1cc._1_7_,bVar29);" (assignment_expression "local_1cc = (double)CONCAT71(local_1cc._1_7_,bVar29)" identifier = (cast_expression "(double)CONCAT71(local_1cc._1_7_,bVar29)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT71(local_1cc._1_7_,bVar29)" identifier (argument_list "(local_1cc._1_7_,bVar29)" ( (field_expression "local_1cc._1_7_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "(this->define_common_).value = (bool)(bVar29 ^ 1);" (assignment_expression "(this->define_common_).value = (bool)(bVar29 ^ 1)" (field_expression "(this->define_common_).value" (parenthesized_expression "(this->define_common_)" ( (field_expression "this->define_common_" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(bool)(bVar29 ^ 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar29 ^ 1)" ( (binary_expression "bVar29 ^ 1" identifier ^ number_literal) )))) ;) })) (expression_statement "bVar29 = (this->execstack_).value == false;" (assignment_expression "bVar29 = (this->execstack_).value == false" identifier = (binary_expression "(this->execstack_).value == false" (field_expression "(this->execstack_).value" (parenthesized_expression "(this->execstack_)" ( (field_expression "this->execstack_" identifier -> field_identifier) )) . field_identifier) == false)) ;) (if_statement "if (bVar29) {\n    bVar29 = (this->noexecstack_).value == false;\n    if (!bVar29) {\n      this->execstack_status_ = EXECSTACK_NO;\n    }\n  }\n  else {\n    this->execstack_status_ = EXECSTACK_YES;\n  }" if (parenthesized_expression "(bVar29)" ( identifier )) (compound_statement "{\n    bVar29 = (this->noexecstack_).value == false;\n    if (!bVar29) {\n      this->execstack_status_ = EXECSTACK_NO;\n    }\n  }" { (expression_statement "bVar29 = (this->noexecstack_).value == false;" (assignment_expression "bVar29 = (this->noexecstack_).value == false" identifier = (binary_expression "(this->noexecstack_).value == false" (field_expression "(this->noexecstack_).value" (parenthesized_expression "(this->noexecstack_)" ( (field_expression "this->noexecstack_" identifier -> field_identifier) )) . field_identifier) == false)) ;) (if_statement "if (!bVar29) {\n      this->execstack_status_ = EXECSTACK_NO;\n    }" if (parenthesized_expression "(!bVar29)" ( (unary_expression "!bVar29" ! identifier) )) (compound_statement "{\n      this->execstack_status_ = EXECSTACK_NO;\n    }" { (expression_statement "this->execstack_status_ = EXECSTACK_NO;" (assignment_expression "this->execstack_status_ = EXECSTACK_NO" (field_expression "this->execstack_status_" identifier -> field_identifier) = identifier) ;) })) }) (else_clause "else {\n    this->execstack_status_ = EXECSTACK_YES;\n  }" else (compound_statement "{\n    this->execstack_status_ = EXECSTACK_YES;\n  }" { (expression_statement "this->execstack_status_ = EXECSTACK_YES;" (assignment_expression "this->execstack_status_ = EXECSTACK_YES" (field_expression "this->execstack_status_" identifier -> field_identifier) = identifier) ;) }))) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (expression_statement "iVar18 = 5;" (assignment_expression "iVar18 = 5" identifier = number_literal) ;) (expression_statement "pbVar23 = (byte *)(this->icf_).value;" (assignment_expression "pbVar23 = (byte *)(this->icf_).value" identifier = (cast_expression "(byte *)(this->icf_).value" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(this->icf_).value" (parenthesized_expression "(this->icf_)" ( (field_expression "this->icf_" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "local_1f0 = (byte *)0x48e342;" (assignment_expression "local_1f0 = (byte *)0x48e342" identifier = (cast_expression "(byte *)0x48e342" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = pbVar23;" (assignment_expression "pbVar24 = pbVar23" identifier = identifier) ;) (expression_statement "pbVar26 = (byte *)0x48e342;" (assignment_expression "pbVar26 = (byte *)0x48e342" identifier = (cast_expression "(byte *)0x48e342" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n    pbVar25 = pbVar26;\n    if (iVar18 == 0) break;\n    iVar18 = iVar18 + -1;\n    pbVar25 = pbVar26 + 1;\n    bVar27 = *pbVar24 < *pbVar26;\n    bVar29 = *pbVar24 == *pbVar26;\n    pbVar24 = pbVar24 + 1;\n    pbVar26 = pbVar25;\n  } while (bVar29);" do (compound_statement "{\n    pbVar25 = pbVar26;\n    if (iVar18 == 0) break;\n    iVar18 = iVar18 + -1;\n    pbVar25 = pbVar26 + 1;\n    bVar27 = *pbVar24 < *pbVar26;\n    bVar29 = *pbVar24 == *pbVar26;\n    pbVar24 = pbVar24 + 1;\n    pbVar26 = pbVar25;\n  }" { (expression_statement "pbVar25 = pbVar26;" (assignment_expression "pbVar25 = pbVar26" identifier = identifier) ;) (if_statement "if (iVar18 == 0) break;" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar18 = iVar18 + -1;" (assignment_expression "iVar18 = iVar18 + -1" identifier = (binary_expression "iVar18 + -1" identifier + number_literal)) ;) (expression_statement "pbVar25 = pbVar26 + 1;" (assignment_expression "pbVar25 = pbVar26 + 1" identifier = (binary_expression "pbVar26 + 1" identifier + number_literal)) ;) (expression_statement "bVar27 = *pbVar24 < *pbVar26;" (assignment_expression "bVar27 = *pbVar24 < *pbVar26" identifier = (binary_expression "*pbVar24 < *pbVar26" (pointer_expression "*pbVar24" * identifier) < (pointer_expression "*pbVar26" * identifier))) ;) (expression_statement "bVar29 = *pbVar24 == *pbVar26;" (assignment_expression "bVar29 = *pbVar24 == *pbVar26" identifier = (binary_expression "*pbVar24 == *pbVar26" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*pbVar26" * identifier))) ;) (expression_statement "pbVar24 = pbVar24 + 1;" (assignment_expression "pbVar24 = pbVar24 + 1" identifier = (binary_expression "pbVar24 + 1" identifier + number_literal)) ;) (expression_statement "pbVar26 = pbVar25;" (assignment_expression "pbVar26 = pbVar25" identifier = identifier) ;) }) while (parenthesized_expression "(bVar29)" ( identifier )) ;) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" identifier = false) ;) (expression_statement "bVar29 = (!bVar27 && !bVar29) == bVar27;" (assignment_expression "bVar29 = (!bVar27 && !bVar29) == bVar27" identifier = (binary_expression "(!bVar27 && !bVar29) == bVar27" (parenthesized_expression "(!bVar27 && !bVar29)" ( (binary_expression "!bVar27 && !bVar29" (unary_expression "!bVar27" ! identifier) && (unary_expression "!bVar29" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar29) {\n    this->icf_status_ = ICF_NONE;\n  }\n  else {\n    iVar18 = 5;\n    pbVar24 = (byte *)0x48dc94;\n    do {\n      pbVar25 = pbVar24;\n      if (iVar18 == 0) break;\n      iVar18 = iVar18 + -1;\n      pbVar25 = pbVar24 + 1;\n      bVar28 = *pbVar23 < *pbVar24;\n      bVar29 = *pbVar23 == *pbVar24;\n      pbVar23 = pbVar23 + 1;\n      pbVar24 = pbVar25;\n    } while (bVar29);\n    this->icf_status_ = ((!bVar28 && !bVar29) == bVar28) + ICF_ALL;\n  }" if (parenthesized_expression "(bVar29)" ( identifier )) (compound_statement "{\n    this->icf_status_ = ICF_NONE;\n  }" { (expression_statement "this->icf_status_ = ICF_NONE;" (assignment_expression "this->icf_status_ = ICF_NONE" (field_expression "this->icf_status_" identifier -> field_identifier) = identifier) ;) }) (else_clause "else {\n    iVar18 = 5;\n    pbVar24 = (byte *)0x48dc94;\n    do {\n      pbVar25 = pbVar24;\n      if (iVar18 == 0) break;\n      iVar18 = iVar18 + -1;\n      pbVar25 = pbVar24 + 1;\n      bVar28 = *pbVar23 < *pbVar24;\n      bVar29 = *pbVar23 == *pbVar24;\n      pbVar23 = pbVar23 + 1;\n      pbVar24 = pbVar25;\n    } while (bVar29);\n    this->icf_status_ = ((!bVar28 && !bVar29) == bVar28) + ICF_ALL;\n  }" else (compound_statement "{\n    iVar18 = 5;\n    pbVar24 = (byte *)0x48dc94;\n    do {\n      pbVar25 = pbVar24;\n      if (iVar18 == 0) break;\n      iVar18 = iVar18 + -1;\n      pbVar25 = pbVar24 + 1;\n      bVar28 = *pbVar23 < *pbVar24;\n      bVar29 = *pbVar23 == *pbVar24;\n      pbVar23 = pbVar23 + 1;\n      pbVar24 = pbVar25;\n    } while (bVar29);\n    this->icf_status_ = ((!bVar28 && !bVar29) == bVar28) + ICF_ALL;\n  }" { (expression_statement "iVar18 = 5;" (assignment_expression "iVar18 = 5" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)0x48dc94;" (assignment_expression "pbVar24 = (byte *)0x48dc94" identifier = (cast_expression "(byte *)0x48dc94" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      pbVar25 = pbVar24;\n      if (iVar18 == 0) break;\n      iVar18 = iVar18 + -1;\n      pbVar25 = pbVar24 + 1;\n      bVar28 = *pbVar23 < *pbVar24;\n      bVar29 = *pbVar23 == *pbVar24;\n      pbVar23 = pbVar23 + 1;\n      pbVar24 = pbVar25;\n    } while (bVar29);" do (compound_statement "{\n      pbVar25 = pbVar24;\n      if (iVar18 == 0) break;\n      iVar18 = iVar18 + -1;\n      pbVar25 = pbVar24 + 1;\n      bVar28 = *pbVar23 < *pbVar24;\n      bVar29 = *pbVar23 == *pbVar24;\n      pbVar23 = pbVar23 + 1;\n      pbVar24 = pbVar25;\n    }" { (expression_statement "pbVar25 = pbVar24;" (assignment_expression "pbVar25 = pbVar24" identifier = identifier) ;) (if_statement "if (iVar18 == 0) break;" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar18 = iVar18 + -1;" (assignment_expression "iVar18 = iVar18 + -1" identifier = (binary_expression "iVar18 + -1" identifier + number_literal)) ;) (expression_statement "pbVar25 = pbVar24 + 1;" (assignment_expression "pbVar25 = pbVar24 + 1" identifier = (binary_expression "pbVar24 + 1" identifier + number_literal)) ;) (expression_statement "bVar28 = *pbVar23 < *pbVar24;" (assignment_expression "bVar28 = *pbVar23 < *pbVar24" identifier = (binary_expression "*pbVar23 < *pbVar24" (pointer_expression "*pbVar23" * identifier) < (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "bVar29 = *pbVar23 == *pbVar24;" (assignment_expression "bVar29 = *pbVar23 == *pbVar24" identifier = (binary_expression "*pbVar23 == *pbVar24" (pointer_expression "*pbVar23" * identifier) == (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "pbVar23 = pbVar23 + 1;" (assignment_expression "pbVar23 = pbVar23 + 1" identifier = (binary_expression "pbVar23 + 1" identifier + number_literal)) ;) (expression_statement "pbVar24 = pbVar25;" (assignment_expression "pbVar24 = pbVar25" identifier = identifier) ;) }) while (parenthesized_expression "(bVar29)" ( identifier )) ;) (expression_statement "this->icf_status_ = ((!bVar28 && !bVar29) == bVar28) + ICF_ALL;" (assignment_expression "this->icf_status_ = ((!bVar28 && !bVar29) == bVar28) + ICF_ALL" (field_expression "this->icf_status_" identifier -> field_identifier) = (binary_expression "((!bVar28 && !bVar29) == bVar28) + ICF_ALL" (parenthesized_expression "((!bVar28 && !bVar29) == bVar28)" ( (binary_expression "(!bVar28 && !bVar29) == bVar28" (parenthesized_expression "(!bVar28 && !bVar29)" ( (binary_expression "!bVar28 && !bVar29" (unary_expression "!bVar28" ! identifier) && (unary_expression "!bVar29" ! identifier)) )) == identifier) )) + identifier)) ;) }))) (if_statement "if ((this->demangle_).user_set_via_option == false) {\n    if ((this->no_demangle_).user_set_via_option == false) {\n      pcVar15 = getenv("COLLECT_NO_DEMANGLE");\n      this->do_demangle_ = pcVar15 == (char *)0x0;\n    }\n    else {\n      this->do_demangle_ = false;\n    }\n  }\n  else {\n    pcVar15 = (this->demangle_).value;\n    this->do_demangle_ = true;\n    if (*pcVar15 != '\0') {\n      style = cplus_demangle_name_to_style(pcVar15);\n      if (style == unknown_demangling) {\n                    /* WARNING: Subroutine does not return */\n        gold_fatal((char *)(local_1c4 + -0x56e9a),pcVar15,pbVar25,pbVar25);\n      }\n      cplus_demangle_set_style(style);\n    }\n  }" if (parenthesized_expression "((this->demangle_).user_set_via_option == false)" ( (binary_expression "(this->demangle_).user_set_via_option == false" (field_expression "(this->demangle_).user_set_via_option" (parenthesized_expression "(this->demangle_)" ( (field_expression "this->demangle_" identifier -> field_identifier) )) . field_identifier) == false) )) (compound_statement "{\n    if ((this->no_demangle_).user_set_via_option == false) {\n      pcVar15 = getenv("COLLECT_NO_DEMANGLE");\n      this->do_demangle_ = pcVar15 == (char *)0x0;\n    }\n    else {\n      this->do_demangle_ = false;\n    }\n  }" { (if_statement "if ((this->no_demangle_).user_set_via_option == false) {\n      pcVar15 = getenv("COLLECT_NO_DEMANGLE");\n      this->do_demangle_ = pcVar15 == (char *)0x0;\n    }\n    else {\n      this->do_demangle_ = false;\n    }" if (parenthesized_expression "((this->no_demangle_).user_set_via_option == false)" ( (binary_expression "(this->no_demangle_).user_set_via_option == false" (field_expression "(this->no_demangle_).user_set_via_option" (parenthesized_expression "(this->no_demangle_)" ( (field_expression "this->no_demangle_" identifier -> field_identifier) )) . field_identifier) == false) )) (compound_statement "{\n      pcVar15 = getenv("COLLECT_NO_DEMANGLE");\n      this->do_demangle_ = pcVar15 == (char *)0x0;\n    }" { (expression_statement "pcVar15 = getenv("COLLECT_NO_DEMANGLE");" (assignment_expression "pcVar15 = getenv("COLLECT_NO_DEMANGLE")" identifier = (call_expression "getenv("COLLECT_NO_DEMANGLE")" identifier (argument_list "("COLLECT_NO_DEMANGLE")" ( (string_literal ""COLLECT_NO_DEMANGLE"" " string_content ") )))) ;) (expression_statement "this->do_demangle_ = pcVar15 == (char *)0x0;" (assignment_expression "this->do_demangle_ = pcVar15 == (char *)0x0" (field_expression "this->do_demangle_" identifier -> field_identifier) = (binary_expression "pcVar15 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ;) }) (else_clause "else {\n      this->do_demangle_ = false;\n    }" else (compound_statement "{\n      this->do_demangle_ = false;\n    }" { (expression_statement "this->do_demangle_ = false;" (assignment_expression "this->do_demangle_ = false" (field_expression "this->do_demangle_" identifier -> field_identifier) = false) ;) }))) }) (else_clause "else {\n    pcVar15 = (this->demangle_).value;\n    this->do_demangle_ = true;\n    if (*pcVar15 != '\0') {\n      style = cplus_demangle_name_to_style(pcVar15);\n      if (style == unknown_demangling) {\n                    /* WARNING: Subroutine does not return */\n        gold_fatal((char *)(local_1c4 + -0x56e9a),pcVar15,pbVar25,pbVar25);\n      }\n      cplus_demangle_set_style(style);\n    }\n  }" else (compound_statement "{\n    pcVar15 = (this->demangle_).value;\n    this->do_demangle_ = true;\n    if (*pcVar15 != '\0') {\n      style = cplus_demangle_name_to_style(pcVar15);\n      if (style == unknown_demangling) {\n                    /* WARNING: Subroutine does not return */\n        gold_fatal((char *)(local_1c4 + -0x56e9a),pcVar15,pbVar25,pbVar25);\n      }\n      cplus_demangle_set_style(style);\n    }\n  }" { (expression_statement "pcVar15 = (this->demangle_).value;" (assignment_expression "pcVar15 = (this->demangle_).value" identifier = (field_expression "(this->demangle_).value" (parenthesized_expression "(this->demangle_)" ( (field_expression "this->demangle_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "this->do_demangle_ = true;" (assignment_expression "this->do_demangle_ = true" (field_expression "this->do_demangle_" identifier -> field_identifier) = true) ;) (if_statement "if (*pcVar15 != '\0') {\n      style = cplus_demangle_name_to_style(pcVar15);\n      if (style == unknown_demangling) {\n                    /* WARNING: Subroutine does not return */\n        gold_fatal((char *)(local_1c4 + -0x56e9a),pcVar15,pbVar25,pbVar25);\n      }\n      cplus_demangle_set_style(style);\n    }" if (parenthesized_expression "(*pcVar15 != '\0')" ( (binary_expression "*pcVar15 != '\0'" (pointer_expression "*pcVar15" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      style = cplus_demangle_name_to_style(pcVar15);\n      if (style == unknown_demangling) {\n                    /* WARNING: Subroutine does not return */\n        gold_fatal((char *)(local_1c4 + -0x56e9a),pcVar15,pbVar25,pbVar25);\n      }\n      cplus_demangle_set_style(style);\n    }" { (expression_statement "style = cplus_demangle_name_to_style(pcVar15);" (assignment_expression "style = cplus_demangle_name_to_style(pcVar15)" identifier = (call_expression "cplus_demangle_name_to_style(pcVar15)" identifier (argument_list "(pcVar15)" ( identifier )))) ;) (if_statement "if (style == unknown_demangling) {\n                    /* WARNING: Subroutine does not return */\n        gold_fatal((char *)(local_1c4 + -0x56e9a),pcVar15,pbVar25,pbVar25);\n      }" if (parenthesized_expression "(style == unknown_demangling)" ( (binary_expression "style == unknown_demangling" identifier == identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        gold_fatal((char *)(local_1c4 + -0x56e9a),pcVar15,pbVar25,pbVar25);\n      }" { comment (expression_statement "gold_fatal((char *)(local_1c4 + -0x56e9a),pcVar15,pbVar25,pbVar25);" (call_expression "gold_fatal((char *)(local_1c4 + -0x56e9a),pcVar15,pbVar25,pbVar25)" identifier (argument_list "((char *)(local_1c4 + -0x56e9a),pcVar15,pbVar25,pbVar25)" ( (cast_expression "(char *)(local_1c4 + -0x56e9a)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_1c4 + -0x56e9a)" ( (binary_expression "local_1c4 + -0x56e9a" identifier + number_literal) ))) , identifier , identifier , identifier ))) ;) })) (expression_statement "cplus_demangle_set_style(style);" (call_expression "cplus_demangle_set_style(style)" identifier (argument_list "(style)" ( identifier ))) ;) })) }))) (expression_statement "bVar29 = false;" (assignment_expression "bVar29 = false" identifier = false) ;) (expression_statement "bVar27 = (this->orphan_handling_).user_set_via_option == false;" (assignment_expression "bVar27 = (this->orphan_handling_).user_set_via_option == false" identifier = (binary_expression "(this->orphan_handling_).user_set_via_option == false" (field_expression "(this->orphan_handling_).user_set_via_option" (parenthesized_expression "(this->orphan_handling_)" ( (field_expression "this->orphan_handling_" identifier -> field_identifier) )) . field_identifier) == false)) ;) (if_statement "if (!bVar27) {\n    pbVar23 = (byte *)(this->orphan_handling_).value;\n    iVar18 = 6;\n    pbVar24 = pbVar23;\n    pbVar26 = (byte *)((int)local_1c4 + -0x1477fe);\n    do {\n      if (iVar18 == 0) break;\n      iVar18 = iVar18 + -1;\n      bVar29 = *pbVar24 < *pbVar26;\n      bVar27 = *pbVar24 == *pbVar26;\n      pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n      pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n    } while (bVar27);\n    bVar28 = false;\n    bVar29 = (!bVar29 && !bVar27) == bVar29;\n    if (bVar29) {\n      this->orphan_handling_enum_ = ORPHAN_PLACE;\n    }\n    else {\n      iVar18 = 8;\n      pbVar24 = pbVar23;\n      pbVar26 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar18 == 0) break;\n        iVar18 = iVar18 + -1;\n        bVar28 = *pbVar24 < *pbVar26;\n        bVar29 = *pbVar24 == *pbVar26;\n        pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n        pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar27 = false;\n      bVar29 = (!bVar28 && !bVar29) == bVar28;\n      if (bVar29) {\n        this->orphan_handling_enum_ = ORPHAN_DISCARD;\n      }\n      else {\n        iVar18 = 5;\n        pbVar24 = pbVar23;\n        pbVar26 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar18 == 0) break;\n          iVar18 = iVar18 + -1;\n          bVar27 = *pbVar24 < *pbVar26;\n          bVar29 = *pbVar24 == *pbVar26;\n          pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n          pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n        } while (bVar29);\n        bVar28 = false;\n        bVar29 = (!bVar27 && !bVar29) == bVar27;\n        if (bVar29) {\n          this->orphan_handling_enum_ = ORPHAN_WARN;\n        }\n        else {\n          iVar18 = 6;\n          pbVar24 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar18 == 0) break;\n            iVar18 = iVar18 + -1;\n            bVar28 = *pbVar23 < *pbVar24;\n            bVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar30 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n          } while (bVar29);\n          if ((!bVar28 && !bVar29) == bVar28) {\n            this->orphan_handling_enum_ = ORPHAN_ERROR;\n          }\n        }\n      }\n    }\n  }" if (parenthesized_expression "(!bVar27)" ( (unary_expression "!bVar27" ! identifier) )) (compound_statement "{\n    pbVar23 = (byte *)(this->orphan_handling_).value;\n    iVar18 = 6;\n    pbVar24 = pbVar23;\n    pbVar26 = (byte *)((int)local_1c4 + -0x1477fe);\n    do {\n      if (iVar18 == 0) break;\n      iVar18 = iVar18 + -1;\n      bVar29 = *pbVar24 < *pbVar26;\n      bVar27 = *pbVar24 == *pbVar26;\n      pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n      pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n    } while (bVar27);\n    bVar28 = false;\n    bVar29 = (!bVar29 && !bVar27) == bVar29;\n    if (bVar29) {\n      this->orphan_handling_enum_ = ORPHAN_PLACE;\n    }\n    else {\n      iVar18 = 8;\n      pbVar24 = pbVar23;\n      pbVar26 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar18 == 0) break;\n        iVar18 = iVar18 + -1;\n        bVar28 = *pbVar24 < *pbVar26;\n        bVar29 = *pbVar24 == *pbVar26;\n        pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n        pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar27 = false;\n      bVar29 = (!bVar28 && !bVar29) == bVar28;\n      if (bVar29) {\n        this->orphan_handling_enum_ = ORPHAN_DISCARD;\n      }\n      else {\n        iVar18 = 5;\n        pbVar24 = pbVar23;\n        pbVar26 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar18 == 0) break;\n          iVar18 = iVar18 + -1;\n          bVar27 = *pbVar24 < *pbVar26;\n          bVar29 = *pbVar24 == *pbVar26;\n          pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n          pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n        } while (bVar29);\n        bVar28 = false;\n        bVar29 = (!bVar27 && !bVar29) == bVar27;\n        if (bVar29) {\n          this->orphan_handling_enum_ = ORPHAN_WARN;\n        }\n        else {\n          iVar18 = 6;\n          pbVar24 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar18 == 0) break;\n            iVar18 = iVar18 + -1;\n            bVar28 = *pbVar23 < *pbVar24;\n            bVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar30 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n          } while (bVar29);\n          if ((!bVar28 && !bVar29) == bVar28) {\n            this->orphan_handling_enum_ = ORPHAN_ERROR;\n          }\n        }\n      }\n    }\n  }" { (expression_statement "pbVar23 = (byte *)(this->orphan_handling_).value;" (assignment_expression "pbVar23 = (byte *)(this->orphan_handling_).value" identifier = (cast_expression "(byte *)(this->orphan_handling_).value" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(this->orphan_handling_).value" (parenthesized_expression "(this->orphan_handling_)" ( (field_expression "this->orphan_handling_" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "iVar18 = 6;" (assignment_expression "iVar18 = 6" identifier = number_literal) ;) (expression_statement "pbVar24 = pbVar23;" (assignment_expression "pbVar24 = pbVar23" identifier = identifier) ;) (expression_statement "pbVar26 = (byte *)((int)local_1c4 + -0x1477fe);" (assignment_expression "pbVar26 = (byte *)((int)local_1c4 + -0x1477fe)" identifier = (cast_expression "(byte *)((int)local_1c4 + -0x1477fe)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_1c4 + -0x1477fe)" ( (binary_expression "(int)local_1c4 + -0x1477fe" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n      if (iVar18 == 0) break;\n      iVar18 = iVar18 + -1;\n      bVar29 = *pbVar24 < *pbVar26;\n      bVar27 = *pbVar24 == *pbVar26;\n      pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n      pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n    } while (bVar27);" do (compound_statement "{\n      if (iVar18 == 0) break;\n      iVar18 = iVar18 + -1;\n      bVar29 = *pbVar24 < *pbVar26;\n      bVar27 = *pbVar24 == *pbVar26;\n      pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n      pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n    }" { (if_statement "if (iVar18 == 0) break;" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar18 = iVar18 + -1;" (assignment_expression "iVar18 = iVar18 + -1" identifier = (binary_expression "iVar18 + -1" identifier + number_literal)) ;) (expression_statement "bVar29 = *pbVar24 < *pbVar26;" (assignment_expression "bVar29 = *pbVar24 < *pbVar26" identifier = (binary_expression "*pbVar24 < *pbVar26" (pointer_expression "*pbVar24" * identifier) < (pointer_expression "*pbVar26" * identifier))) ;) (expression_statement "bVar27 = *pbVar24 == *pbVar26;" (assignment_expression "bVar27 = *pbVar24 == *pbVar26" identifier = (binary_expression "*pbVar24 == *pbVar26" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*pbVar26" * identifier))) ;) (expression_statement "pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar24 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar24 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar26 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar26 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar27)" ( identifier )) ;) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" identifier = false) ;) (expression_statement "bVar29 = (!bVar29 && !bVar27) == bVar29;" (assignment_expression "bVar29 = (!bVar29 && !bVar27) == bVar29" identifier = (binary_expression "(!bVar29 && !bVar27) == bVar29" (parenthesized_expression "(!bVar29 && !bVar27)" ( (binary_expression "!bVar29 && !bVar27" (unary_expression "!bVar29" ! identifier) && (unary_expression "!bVar27" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar29) {\n      this->orphan_handling_enum_ = ORPHAN_PLACE;\n    }\n    else {\n      iVar18 = 8;\n      pbVar24 = pbVar23;\n      pbVar26 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar18 == 0) break;\n        iVar18 = iVar18 + -1;\n        bVar28 = *pbVar24 < *pbVar26;\n        bVar29 = *pbVar24 == *pbVar26;\n        pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n        pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar27 = false;\n      bVar29 = (!bVar28 && !bVar29) == bVar28;\n      if (bVar29) {\n        this->orphan_handling_enum_ = ORPHAN_DISCARD;\n      }\n      else {\n        iVar18 = 5;\n        pbVar24 = pbVar23;\n        pbVar26 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar18 == 0) break;\n          iVar18 = iVar18 + -1;\n          bVar27 = *pbVar24 < *pbVar26;\n          bVar29 = *pbVar24 == *pbVar26;\n          pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n          pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n        } while (bVar29);\n        bVar28 = false;\n        bVar29 = (!bVar27 && !bVar29) == bVar27;\n        if (bVar29) {\n          this->orphan_handling_enum_ = ORPHAN_WARN;\n        }\n        else {\n          iVar18 = 6;\n          pbVar24 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar18 == 0) break;\n            iVar18 = iVar18 + -1;\n            bVar28 = *pbVar23 < *pbVar24;\n            bVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar30 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n          } while (bVar29);\n          if ((!bVar28 && !bVar29) == bVar28) {\n            this->orphan_handling_enum_ = ORPHAN_ERROR;\n          }\n        }\n      }\n    }" if (parenthesized_expression "(bVar29)" ( identifier )) (compound_statement "{\n      this->orphan_handling_enum_ = ORPHAN_PLACE;\n    }" { (expression_statement "this->orphan_handling_enum_ = ORPHAN_PLACE;" (assignment_expression "this->orphan_handling_enum_ = ORPHAN_PLACE" (field_expression "this->orphan_handling_enum_" identifier -> field_identifier) = identifier) ;) }) (else_clause "else {\n      iVar18 = 8;\n      pbVar24 = pbVar23;\n      pbVar26 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar18 == 0) break;\n        iVar18 = iVar18 + -1;\n        bVar28 = *pbVar24 < *pbVar26;\n        bVar29 = *pbVar24 == *pbVar26;\n        pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n        pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar27 = false;\n      bVar29 = (!bVar28 && !bVar29) == bVar28;\n      if (bVar29) {\n        this->orphan_handling_enum_ = ORPHAN_DISCARD;\n      }\n      else {\n        iVar18 = 5;\n        pbVar24 = pbVar23;\n        pbVar26 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar18 == 0) break;\n          iVar18 = iVar18 + -1;\n          bVar27 = *pbVar24 < *pbVar26;\n          bVar29 = *pbVar24 == *pbVar26;\n          pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n          pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n        } while (bVar29);\n        bVar28 = false;\n        bVar29 = (!bVar27 && !bVar29) == bVar27;\n        if (bVar29) {\n          this->orphan_handling_enum_ = ORPHAN_WARN;\n        }\n        else {\n          iVar18 = 6;\n          pbVar24 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar18 == 0) break;\n            iVar18 = iVar18 + -1;\n            bVar28 = *pbVar23 < *pbVar24;\n            bVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar30 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n          } while (bVar29);\n          if ((!bVar28 && !bVar29) == bVar28) {\n            this->orphan_handling_enum_ = ORPHAN_ERROR;\n          }\n        }\n      }\n    }" else (compound_statement "{\n      iVar18 = 8;\n      pbVar24 = pbVar23;\n      pbVar26 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar18 == 0) break;\n        iVar18 = iVar18 + -1;\n        bVar28 = *pbVar24 < *pbVar26;\n        bVar29 = *pbVar24 == *pbVar26;\n        pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n        pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      bVar27 = false;\n      bVar29 = (!bVar28 && !bVar29) == bVar28;\n      if (bVar29) {\n        this->orphan_handling_enum_ = ORPHAN_DISCARD;\n      }\n      else {\n        iVar18 = 5;\n        pbVar24 = pbVar23;\n        pbVar26 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar18 == 0) break;\n          iVar18 = iVar18 + -1;\n          bVar27 = *pbVar24 < *pbVar26;\n          bVar29 = *pbVar24 == *pbVar26;\n          pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n          pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n        } while (bVar29);\n        bVar28 = false;\n        bVar29 = (!bVar27 && !bVar29) == bVar27;\n        if (bVar29) {\n          this->orphan_handling_enum_ = ORPHAN_WARN;\n        }\n        else {\n          iVar18 = 6;\n          pbVar24 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar18 == 0) break;\n            iVar18 = iVar18 + -1;\n            bVar28 = *pbVar23 < *pbVar24;\n            bVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar30 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n          } while (bVar29);\n          if ((!bVar28 && !bVar29) == bVar28) {\n            this->orphan_handling_enum_ = ORPHAN_ERROR;\n          }\n        }\n      }\n    }" { (expression_statement "iVar18 = 8;" (assignment_expression "iVar18 = 8" identifier = number_literal) ;) (expression_statement "pbVar24 = pbVar23;" (assignment_expression "pbVar24 = pbVar23" identifier = identifier) ;) (expression_statement "pbVar26 = (byte *)((int)local_1c4 + -0x1a1fb3);" (assignment_expression "pbVar26 = (byte *)((int)local_1c4 + -0x1a1fb3)" identifier = (cast_expression "(byte *)((int)local_1c4 + -0x1a1fb3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_1c4 + -0x1a1fb3)" ( (binary_expression "(int)local_1c4 + -0x1a1fb3" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n        if (iVar18 == 0) break;\n        iVar18 = iVar18 + -1;\n        bVar28 = *pbVar24 < *pbVar26;\n        bVar29 = *pbVar24 == *pbVar26;\n        pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n        pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);" do (compound_statement "{\n        if (iVar18 == 0) break;\n        iVar18 = iVar18 + -1;\n        bVar28 = *pbVar24 < *pbVar26;\n        bVar29 = *pbVar24 == *pbVar26;\n        pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n        pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n      }" { (if_statement "if (iVar18 == 0) break;" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar18 = iVar18 + -1;" (assignment_expression "iVar18 = iVar18 + -1" identifier = (binary_expression "iVar18 + -1" identifier + number_literal)) ;) (expression_statement "bVar28 = *pbVar24 < *pbVar26;" (assignment_expression "bVar28 = *pbVar24 < *pbVar26" identifier = (binary_expression "*pbVar24 < *pbVar26" (pointer_expression "*pbVar24" * identifier) < (pointer_expression "*pbVar26" * identifier))) ;) (expression_statement "bVar29 = *pbVar24 == *pbVar26;" (assignment_expression "bVar29 = *pbVar24 == *pbVar26" identifier = (binary_expression "*pbVar24 == *pbVar26" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*pbVar26" * identifier))) ;) (expression_statement "pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar24 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar24 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar26 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar26 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar29)" ( identifier )) ;) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (expression_statement "bVar29 = (!bVar28 && !bVar29) == bVar28;" (assignment_expression "bVar29 = (!bVar28 && !bVar29) == bVar28" identifier = (binary_expression "(!bVar28 && !bVar29) == bVar28" (parenthesized_expression "(!bVar28 && !bVar29)" ( (binary_expression "!bVar28 && !bVar29" (unary_expression "!bVar28" ! identifier) && (unary_expression "!bVar29" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar29) {\n        this->orphan_handling_enum_ = ORPHAN_DISCARD;\n      }\n      else {\n        iVar18 = 5;\n        pbVar24 = pbVar23;\n        pbVar26 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar18 == 0) break;\n          iVar18 = iVar18 + -1;\n          bVar27 = *pbVar24 < *pbVar26;\n          bVar29 = *pbVar24 == *pbVar26;\n          pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n          pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n        } while (bVar29);\n        bVar28 = false;\n        bVar29 = (!bVar27 && !bVar29) == bVar27;\n        if (bVar29) {\n          this->orphan_handling_enum_ = ORPHAN_WARN;\n        }\n        else {\n          iVar18 = 6;\n          pbVar24 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar18 == 0) break;\n            iVar18 = iVar18 + -1;\n            bVar28 = *pbVar23 < *pbVar24;\n            bVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar30 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n          } while (bVar29);\n          if ((!bVar28 && !bVar29) == bVar28) {\n            this->orphan_handling_enum_ = ORPHAN_ERROR;\n          }\n        }\n      }" if (parenthesized_expression "(bVar29)" ( identifier )) (compound_statement "{\n        this->orphan_handling_enum_ = ORPHAN_DISCARD;\n      }" { (expression_statement "this->orphan_handling_enum_ = ORPHAN_DISCARD;" (assignment_expression "this->orphan_handling_enum_ = ORPHAN_DISCARD" (field_expression "this->orphan_handling_enum_" identifier -> field_identifier) = identifier) ;) }) (else_clause "else {\n        iVar18 = 5;\n        pbVar24 = pbVar23;\n        pbVar26 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar18 == 0) break;\n          iVar18 = iVar18 + -1;\n          bVar27 = *pbVar24 < *pbVar26;\n          bVar29 = *pbVar24 == *pbVar26;\n          pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n          pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n        } while (bVar29);\n        bVar28 = false;\n        bVar29 = (!bVar27 && !bVar29) == bVar27;\n        if (bVar29) {\n          this->orphan_handling_enum_ = ORPHAN_WARN;\n        }\n        else {\n          iVar18 = 6;\n          pbVar24 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar18 == 0) break;\n            iVar18 = iVar18 + -1;\n            bVar28 = *pbVar23 < *pbVar24;\n            bVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar30 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n          } while (bVar29);\n          if ((!bVar28 && !bVar29) == bVar28) {\n            this->orphan_handling_enum_ = ORPHAN_ERROR;\n          }\n        }\n      }" else (compound_statement "{\n        iVar18 = 5;\n        pbVar24 = pbVar23;\n        pbVar26 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar18 == 0) break;\n          iVar18 = iVar18 + -1;\n          bVar27 = *pbVar24 < *pbVar26;\n          bVar29 = *pbVar24 == *pbVar26;\n          pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n          pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n        } while (bVar29);\n        bVar28 = false;\n        bVar29 = (!bVar27 && !bVar29) == bVar27;\n        if (bVar29) {\n          this->orphan_handling_enum_ = ORPHAN_WARN;\n        }\n        else {\n          iVar18 = 6;\n          pbVar24 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar18 == 0) break;\n            iVar18 = iVar18 + -1;\n            bVar28 = *pbVar23 < *pbVar24;\n            bVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar30 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n          } while (bVar29);\n          if ((!bVar28 && !bVar29) == bVar28) {\n            this->orphan_handling_enum_ = ORPHAN_ERROR;\n          }\n        }\n      }" { (expression_statement "iVar18 = 5;" (assignment_expression "iVar18 = 5" identifier = number_literal) ;) (expression_statement "pbVar24 = pbVar23;" (assignment_expression "pbVar24 = pbVar23" identifier = identifier) ;) (expression_statement "pbVar26 = (byte *)((int)local_1c4 + -0x1a1fab);" (assignment_expression "pbVar26 = (byte *)((int)local_1c4 + -0x1a1fab)" identifier = (cast_expression "(byte *)((int)local_1c4 + -0x1a1fab)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_1c4 + -0x1a1fab)" ( (binary_expression "(int)local_1c4 + -0x1a1fab" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n          if (iVar18 == 0) break;\n          iVar18 = iVar18 + -1;\n          bVar27 = *pbVar24 < *pbVar26;\n          bVar29 = *pbVar24 == *pbVar26;\n          pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n          pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n        } while (bVar29);" do (compound_statement "{\n          if (iVar18 == 0) break;\n          iVar18 = iVar18 + -1;\n          bVar27 = *pbVar24 < *pbVar26;\n          bVar29 = *pbVar24 == *pbVar26;\n          pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n          pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n        }" { (if_statement "if (iVar18 == 0) break;" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar18 = iVar18 + -1;" (assignment_expression "iVar18 = iVar18 + -1" identifier = (binary_expression "iVar18 + -1" identifier + number_literal)) ;) (expression_statement "bVar27 = *pbVar24 < *pbVar26;" (assignment_expression "bVar27 = *pbVar24 < *pbVar26" identifier = (binary_expression "*pbVar24 < *pbVar26" (pointer_expression "*pbVar24" * identifier) < (pointer_expression "*pbVar26" * identifier))) ;) (expression_statement "bVar29 = *pbVar24 == *pbVar26;" (assignment_expression "bVar29 = *pbVar24 == *pbVar26" identifier = (binary_expression "*pbVar24 == *pbVar26" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*pbVar26" * identifier))) ;) (expression_statement "pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar24 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar24 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar26 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar26 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar29)" ( identifier )) ;) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" identifier = false) ;) (expression_statement "bVar29 = (!bVar27 && !bVar29) == bVar27;" (assignment_expression "bVar29 = (!bVar27 && !bVar29) == bVar27" identifier = (binary_expression "(!bVar27 && !bVar29) == bVar27" (parenthesized_expression "(!bVar27 && !bVar29)" ( (binary_expression "!bVar27 && !bVar29" (unary_expression "!bVar27" ! identifier) && (unary_expression "!bVar29" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar29) {\n          this->orphan_handling_enum_ = ORPHAN_WARN;\n        }\n        else {\n          iVar18 = 6;\n          pbVar24 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar18 == 0) break;\n            iVar18 = iVar18 + -1;\n            bVar28 = *pbVar23 < *pbVar24;\n            bVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar30 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n          } while (bVar29);\n          if ((!bVar28 && !bVar29) == bVar28) {\n            this->orphan_handling_enum_ = ORPHAN_ERROR;\n          }\n        }" if (parenthesized_expression "(bVar29)" ( identifier )) (compound_statement "{\n          this->orphan_handling_enum_ = ORPHAN_WARN;\n        }" { (expression_statement "this->orphan_handling_enum_ = ORPHAN_WARN;" (assignment_expression "this->orphan_handling_enum_ = ORPHAN_WARN" (field_expression "this->orphan_handling_enum_" identifier -> field_identifier) = identifier) ;) }) (else_clause "else {\n          iVar18 = 6;\n          pbVar24 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar18 == 0) break;\n            iVar18 = iVar18 + -1;\n            bVar28 = *pbVar23 < *pbVar24;\n            bVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar30 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n          } while (bVar29);\n          if ((!bVar28 && !bVar29) == bVar28) {\n            this->orphan_handling_enum_ = ORPHAN_ERROR;\n          }\n        }" else (compound_statement "{\n          iVar18 = 6;\n          pbVar24 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar18 == 0) break;\n            iVar18 = iVar18 + -1;\n            bVar28 = *pbVar23 < *pbVar24;\n            bVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar30 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n          } while (bVar29);\n          if ((!bVar28 && !bVar29) == bVar28) {\n            this->orphan_handling_enum_ = ORPHAN_ERROR;\n          }\n        }" { (expression_statement "iVar18 = 6;" (assignment_expression "iVar18 = 6" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)((int)local_1c4 + -0x146582);" (assignment_expression "pbVar24 = (byte *)((int)local_1c4 + -0x146582)" identifier = (cast_expression "(byte *)((int)local_1c4 + -0x146582)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_1c4 + -0x146582)" ( (binary_expression "(int)local_1c4 + -0x146582" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n            if (iVar18 == 0) break;\n            iVar18 = iVar18 + -1;\n            bVar28 = *pbVar23 < *pbVar24;\n            bVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar30 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n          } while (bVar29);" do (compound_statement "{\n            if (iVar18 == 0) break;\n            iVar18 = iVar18 + -1;\n            bVar28 = *pbVar23 < *pbVar24;\n            bVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar30 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n          }" { (if_statement "if (iVar18 == 0) break;" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar18 = iVar18 + -1;" (assignment_expression "iVar18 = iVar18 + -1" identifier = (binary_expression "iVar18 + -1" identifier + number_literal)) ;) (expression_statement "bVar28 = *pbVar23 < *pbVar24;" (assignment_expression "bVar28 = *pbVar23 < *pbVar24" identifier = (binary_expression "*pbVar23 < *pbVar24" (pointer_expression "*pbVar23" * identifier) < (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "bVar29 = *pbVar23 == *pbVar24;" (assignment_expression "bVar29 = *pbVar23 == *pbVar24" identifier = (binary_expression "*pbVar23 == *pbVar24" (pointer_expression "*pbVar23" * identifier) == (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar24 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar24 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar29)" ( identifier )) ;) (if_statement "if ((!bVar28 && !bVar29) == bVar28) {\n            this->orphan_handling_enum_ = ORPHAN_ERROR;\n          }" if (parenthesized_expression "((!bVar28 && !bVar29) == bVar28)" ( (binary_expression "(!bVar28 && !bVar29) == bVar28" (parenthesized_expression "(!bVar28 && !bVar29)" ( (binary_expression "!bVar28 && !bVar29" (unary_expression "!bVar28" ! identifier) && (unary_expression "!bVar29" ! identifier)) )) == identifier) )) (compound_statement "{\n            this->orphan_handling_enum_ = ORPHAN_ERROR;\n          }" { (expression_statement "this->orphan_handling_enum_ = ORPHAN_ERROR;" (assignment_expression "this->orphan_handling_enum_ = ORPHAN_ERROR" (field_expression "this->orphan_handling_enum_" identifier -> field_identifier) = identifier) ;) })) }))) }))) }))) })) (if_statement "if (((this->print_map_).value != false) && ((this->Map_).user_set_via_option == false)) {\n    (this->Map_).user_set_via_option = true;\n    (this->Map_).value = (char *)(local_1c4 + -0x573ca);\n  }" if (parenthesized_expression "(((this->print_map_).value != false) && ((this->Map_).user_set_via_option == false))" ( (binary_expression "((this->print_map_).value != false) && ((this->Map_).user_set_via_option == false)" (parenthesized_expression "((this->print_map_).value != false)" ( (binary_expression "(this->print_map_).value != false" (field_expression "(this->print_map_).value" (parenthesized_expression "(this->print_map_)" ( (field_expression "this->print_map_" identifier -> field_identifier) )) . field_identifier) != false) )) && (parenthesized_expression "((this->Map_).user_set_via_option == false)" ( (binary_expression "(this->Map_).user_set_via_option == false" (field_expression "(this->Map_).user_set_via_option" (parenthesized_expression "(this->Map_)" ( (field_expression "this->Map_" identifier -> field_identifier) )) . field_identifier) == false) ))) )) (compound_statement "{\n    (this->Map_).user_set_via_option = true;\n    (this->Map_).value = (char *)(local_1c4 + -0x573ca);\n  }" { (expression_statement "(this->Map_).user_set_via_option = true;" (assignment_expression "(this->Map_).user_set_via_option = true" (field_expression "(this->Map_).user_set_via_option" (parenthesized_expression "(this->Map_)" ( (field_expression "this->Map_" identifier -> field_identifier) )) . field_identifier) = true) ;) (expression_statement "(this->Map_).value = (char *)(local_1c4 + -0x573ca);" (assignment_expression "(this->Map_).value = (char *)(local_1c4 + -0x573ca)" (field_expression "(this->Map_).value" (parenthesized_expression "(this->Map_)" ( (field_expression "this->Map_" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(char *)(local_1c4 + -0x573ca)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_1c4 + -0x573ca)" ( (binary_expression "local_1c4 + -0x573ca" identifier + number_literal) )))) ;) })) (if_statement "if (((this->nmagic_).value != false) || ((this->omagic_).value != false)) {\n    this->static_ = true;\n  }" if (parenthesized_expression "(((this->nmagic_).value != false) || ((this->omagic_).value != false))" ( (binary_expression "((this->nmagic_).value != false) || ((this->omagic_).value != false)" (parenthesized_expression "((this->nmagic_).value != false)" ( (binary_expression "(this->nmagic_).value != false" (field_expression "(this->nmagic_).value" (parenthesized_expression "(this->nmagic_)" ( (field_expression "this->nmagic_" identifier -> field_identifier) )) . field_identifier) != false) )) || (parenthesized_expression "((this->omagic_).value != false)" ( (binary_expression "(this->omagic_).value != false" (field_expression "(this->omagic_).value" (parenthesized_expression "(this->omagic_)" ( (field_expression "this->omagic_" identifier -> field_identifier) )) . field_identifier) != false) ))) )) (compound_statement "{\n    this->static_ = true;\n  }" { (expression_statement "this->static_ = true;" (assignment_expression "this->static_ = true" (field_expression "this->static_" identifier -> field_identifier) = true) ;) })) (expression_statement "iVar18 = (this->thread_count_).value;" (assignment_expression "iVar18 = (this->thread_count_).value" identifier = (field_expression "(this->thread_count_).value" (parenthesized_expression "(this->thread_count_)" ( (field_expression "this->thread_count_" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (0 < iVar18) {\n    if ((this->thread_count_initial_).value == 0) {\n      (this->thread_count_initial_).value = iVar18;\n    }\n    if ((this->thread_count_middle_).value == 0) {\n      (this->thread_count_middle_).value = iVar18;\n    }\n    if ((this->thread_count_final_).value == 0) {\n      (this->thread_count_final_).value = iVar18;\n    }\n  }" if (parenthesized_expression "(0 < iVar18)" ( (binary_expression "0 < iVar18" number_literal < identifier) )) (compound_statement "{\n    if ((this->thread_count_initial_).value == 0) {\n      (this->thread_count_initial_).value = iVar18;\n    }\n    if ((this->thread_count_middle_).value == 0) {\n      (this->thread_count_middle_).value = iVar18;\n    }\n    if ((this->thread_count_final_).value == 0) {\n      (this->thread_count_final_).value = iVar18;\n    }\n  }" { (if_statement "if ((this->thread_count_initial_).value == 0) {\n      (this->thread_count_initial_).value = iVar18;\n    }" if (parenthesized_expression "((this->thread_count_initial_).value == 0)" ( (binary_expression "(this->thread_count_initial_).value == 0" (field_expression "(this->thread_count_initial_).value" (parenthesized_expression "(this->thread_count_initial_)" ( (field_expression "this->thread_count_initial_" identifier -> field_identifier) )) . field_identifier) == number_literal) )) (compound_statement "{\n      (this->thread_count_initial_).value = iVar18;\n    }" { (expression_statement "(this->thread_count_initial_).value = iVar18;" (assignment_expression "(this->thread_count_initial_).value = iVar18" (field_expression "(this->thread_count_initial_).value" (parenthesized_expression "(this->thread_count_initial_)" ( (field_expression "this->thread_count_initial_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) })) (if_statement "if ((this->thread_count_middle_).value == 0) {\n      (this->thread_count_middle_).value = iVar18;\n    }" if (parenthesized_expression "((this->thread_count_middle_).value == 0)" ( (binary_expression "(this->thread_count_middle_).value == 0" (field_expression "(this->thread_count_middle_).value" (parenthesized_expression "(this->thread_count_middle_)" ( (field_expression "this->thread_count_middle_" identifier -> field_identifier) )) . field_identifier) == number_literal) )) (compound_statement "{\n      (this->thread_count_middle_).value = iVar18;\n    }" { (expression_statement "(this->thread_count_middle_).value = iVar18;" (assignment_expression "(this->thread_count_middle_).value = iVar18" (field_expression "(this->thread_count_middle_).value" (parenthesized_expression "(this->thread_count_middle_)" ( (field_expression "this->thread_count_middle_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) })) (if_statement "if ((this->thread_count_final_).value == 0) {\n      (this->thread_count_final_).value = iVar18;\n    }" if (parenthesized_expression "((this->thread_count_final_).value == 0)" ( (binary_expression "(this->thread_count_final_).value == 0" (field_expression "(this->thread_count_final_).value" (parenthesized_expression "(this->thread_count_final_)" ( (field_expression "this->thread_count_final_" identifier -> field_identifier) )) . field_identifier) == number_literal) )) (compound_statement "{\n      (this->thread_count_final_).value = iVar18;\n    }" { (expression_statement "(this->thread_count_final_).value = iVar18;" (assignment_expression "(this->thread_count_final_).value = iVar18" (field_expression "(this->thread_count_final_).value" (parenthesized_expression "(this->thread_count_final_)" ( (field_expression "this->thread_count_final_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) })) })) (expression_statement "libpath.field_2._M_local_buf[0] = '\0';" (assignment_expression "libpath.field_2._M_local_buf[0] = '\0'" (subscript_expression "libpath.field_2._M_local_buf[0]" (field_expression "libpath.field_2._M_local_buf" (field_expression "libpath.field_2" identifier . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_1d4 = &libpath;" (assignment_expression "local_1d4 = &libpath" identifier = (pointer_expression "&libpath" & identifier)) ;) (expression_statement "local_1ec = &libpath.field_2;" (assignment_expression "local_1ec = &libpath.field_2" identifier = (pointer_expression "&libpath.field_2" & (field_expression "libpath.field_2" identifier . field_identifier))) ;) (expression_statement "libpath._M_dataplus._M_p = (pointer)&libpath.field_2;" (assignment_expression "libpath._M_dataplus._M_p = (pointer)&libpath.field_2" (field_expression "libpath._M_dataplus._M_p" (field_expression "libpath._M_dataplus" identifier . field_identifier) . field_identifier) = (binary_expression "(pointer)&libpath.field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "libpath.field_2" identifier . field_identifier))) ;) (expression_statement "libpath._M_string_length = 0;" (assignment_expression "libpath._M_string_length = 0" (field_expression "libpath._M_string_length" identifier . field_identifier) = number_literal) ;) (if_statement "if ((this->Y_).user_set_via_option == false) {\n    if ((this->nostdlib_).value == false) {\n      local_1dc = &local_12c;\n      local_1d0 = (Search_directory *)&in;\n      _in = (pointer)local_1dc;\n                    /* try { // try from 002c0505 to 002c0509 has its CatchHandler @ 002c0e87 */\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>_> *)local_1d0,\n                 (int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);\n      paVar2 = &local_1a4.name_.field_2;\n      local_1a4.name_._M_dataplus._M_p = (pointer)paVar2;\n                    /* try { // try from 002c0532 to 002c0536 has its CatchHandler @ 002c0ef5 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char*>(&local_1a4.name_,_in,(filebuf *)(_in + local_130),0);\n      local_1a4.put_in_sysroot_ = true;\n      local_1a4.is_in_sysroot_ = false;\n      if (local_1a4.name_._M_string_length == 0) {\n                    /* try { // try from 002c0957 to 002c095b has its CatchHandler @ 002c0e8e */\n        std::string::_M_replace((string *)&local_1a4,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }\n      local_1d8 = &(this->library_path_).value;\n      iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n           _M_impl._M_finish;\n      if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0973 to 002c0977 has its CatchHandler @ 002c0e95 */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_1a4);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c058f to 002c0593 has its CatchHandler @ 002c0e95 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_1a4.name_._M_dataplus._M_p,\n                            local_1a4.name_._M_dataplus._M_p + local_1a4.name_._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = local_1a4.put_in_sysroot_;\n        (iVar5._M_current)->is_in_sysroot_ = local_1a4.is_in_sysroot_;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_1a4.name_._M_dataplus._M_p != paVar2) {\n        operator_delete(local_1a4.name_._M_dataplus._M_p);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }\n      _in = (pointer)local_1dc;\n                    /* try { // try from 002c0619 to 002c061d has its CatchHandler @ 002c0e87 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>\n                (&local_1d0->name_,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);\n      paVar2 = &local_188.name_.field_2;\n      local_188.name_._M_dataplus._M_p = (pointer)paVar2;\n                    /* try { // try from 002c0646 to 002c064a has its CatchHandler @ 002c0ecd */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char*>(&local_188.name_,_in,(filebuf *)(_in + local_130),0);\n      local_188.put_in_sysroot_ = true;\n      local_188.is_in_sysroot_ = false;\n      if (local_188.name_._M_string_length == 0) {\n                    /* try { // try from 002c0af7 to 002c0afb has its CatchHandler @ 002c0eb8 */\n        std::string::_M_replace((string *)&local_188,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }\n      iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n           _M_impl._M_finish;\n      if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0b8b to 002c0b8f has its CatchHandler @ 002c0ebf */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_188);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c0695 to 002c0699 has its CatchHandler @ 002c0ebf */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_188.name_._M_dataplus._M_p,\n                            local_188.name_._M_dataplus._M_p + local_188.name_._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = local_188.put_in_sysroot_;\n        (iVar5._M_current)->is_in_sysroot_ = local_188.is_in_sysroot_;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_188.name_._M_dataplus._M_p != paVar2) {\n        operator_delete(local_188.name_._M_dataplus._M_p);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }\n      _in = (pointer)local_1dc;\n                    /* try { // try from 002c071f to 002c0723 has its CatchHandler @ 002c0e87 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>\n                (&local_1d0->name_,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);\n      paVar2 = &local_16c.name_.field_2;\n      local_16c.name_._M_dataplus._M_p = (pointer)paVar2;\n                    /* try { // try from 002c074c to 002c0750 has its CatchHandler @ 002c0ec6 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char*>(&local_16c.name_,_in,(filebuf *)(_in + local_130),0);\n      local_16c.put_in_sysroot_ = true;\n      local_16c.is_in_sysroot_ = false;\n      if (local_16c.name_._M_string_length == 0) {\n                    /* try { // try from 002c0b1f to 002c0b23 has its CatchHandler @ 002c0eb1 */\n        std::string::_M_replace((string *)&local_16c,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }\n      iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n           _M_impl._M_finish;\n      if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0b6b to 002c0b6f has its CatchHandler @ 002c0e9c */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_16c);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c079b to 002c079f has its CatchHandler @ 002c0e9c */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_16c.name_._M_dataplus._M_p,\n                            local_16c.name_._M_dataplus._M_p + local_16c.name_._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = local_16c.put_in_sysroot_;\n        (iVar5._M_current)->is_in_sysroot_ = local_16c.is_in_sysroot_;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_16c.name_._M_dataplus._M_p != paVar2) {\n        operator_delete(local_16c.name_._M_dataplus._M_p);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }\n      _in = (pointer)local_1dc;\n                    /* try { // try from 002c0825 to 002c0829 has its CatchHandler @ 002c0e87 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>\n                (&local_1d0->name_,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);\n      local_1e0 = &line.field_2;\n      local_1cc = (double)CONCAT44(local_1cc._4_4_,&line);\n      line._M_dataplus._M_p = (pointer)local_1e0;\n                    /* try { // try from 002c085e to 002c0862 has its CatchHandler @ 002c0e6b */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char*>(&line,_in,(filebuf *)(_in + local_130),0);\n      if (line._M_string_length == 0) {\n                    /* try { // try from 002c0b4c to 002c0b50 has its CatchHandler @ 002c0eaa */\n        std::string::_M_replace\n                  ((string *)local_1cc._0_4_,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }\n      iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n           _M_impl._M_finish;\n      if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0bb0 to 002c0bb4 has its CatchHandler @ 002c0e64 */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,local_1cc._0_4_);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c08ad to 002c08b1 has its CatchHandler @ 002c0e64 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,line._M_dataplus._M_p,\n                            line._M_dataplus._M_p + line._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = true;\n        (iVar5._M_current)->is_in_sysroot_ = false;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)line._M_dataplus._M_p != local_1e0) {\n        operator_delete(line._M_dataplus._M_p);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }\n      goto LAB_002c0258;\n    }\n  }\n  else {\n    pcVar15 = (this->Y_).value;\n    sVar13 = strlen(pcVar15);\n    psVar6 = local_1d4;\n                    /* try { // try from 002c022e to 002c02de has its CatchHandler @ 002c0e87 */\n    std::string::_M_replace((string *)local_1d4,0,0,pcVar15,sVar13);\n    iVar18 = std::string::compare((uint)psVar6,0,(char *)0x2);\n    if (iVar18 == 0) {\n                    /* try { // try from 002c0acd to 002c0ad1 has its CatchHandler @ 002c0e87 */\n      std::string::_M_erase((uint)local_1d4,0);\n    }\nLAB_002c0258:\n    uVar31 = 0;\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&line);\n    if (libpath._M_string_length != 0) {\n      do {\n        iVar18 = std::string::find((char)local_1d4,0x3a);\n        uVar20 = 0xffffffff;\n        if ((iVar18 == -1) || (uVar20 = iVar18 - uVar31, uVar20 != 0)) {\n          if (libpath._M_string_length < uVar31) {\n                    /* WARNING: Subroutine does not return */\n            std::__throw_out_of_range_fmt\n                      ((char *)(local_1c4 + -0x58f98),(int)local_1c4 + -0x1641fb,uVar31,\n                       libpath._M_string_length);\n          }\n          local_1e0 = &line.field_2;\n          uVar14 = libpath._M_string_length - uVar31;\n          if (uVar20 < libpath._M_string_length - uVar31) {\n            uVar14 = uVar20;\n          }\n          line._M_dataplus._M_p = (pointer)local_1e0;\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char_const*>\n                    (&(local_1cc._0_4_)->name_,libpath._M_dataplus._M_p + uVar31,\n                     libpath._M_dataplus._M_p + uVar31 + uVar14,0);\n          local_1dc = &local_12c;\n          local_1d0 = (Search_directory *)&in;\n          _in = (pointer)local_1dc;\n                    /* try { // try from 002c0313 to 002c0317 has its CatchHandler @ 002c0ea3 */\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>_> *)\n                              local_1d0,line._M_dataplus._M_p,\n                              line._M_dataplus._M_p + line._M_string_length,0);\n          local_11c._0_1_ = true;\n          local_11c._1_1_ = false;\n          if (local_130 == 0) {\n                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */\n            std::string::_M_replace((string *)local_1d0,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n          }\n          iVar5._M_current =\n               (this->library_path_).value.\n               super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n               _M_impl._M_finish;\n          if (iVar5._M_current ==\n              (this->library_path_).value.\n              super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n              _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */\n            std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n            _M_realloc_insert<const_gold::Search_directory&>\n                      (&(this->library_path_).value,iVar5,local_1d0);\n          }\n          else {\n            ((iVar5._M_current)->name_)._M_dataplus._M_p =\n                 (pointer)&((iVar5._M_current)->name_).field_2;\n                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */\n            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>(&(iVar5._M_current)->name_,_in,(filebuf *)(_in + local_130),0);\n            (iVar5._M_current)->put_in_sysroot_ = local_11c._0_1_;\n            (iVar5._M_current)->is_in_sysroot_ = local_11c._1_1_;\n            ppSVar1 = &(this->library_path_).value.\n                       super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                       ._M_impl._M_finish;\n            *ppSVar1 = *ppSVar1 + 1;\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_in != local_1dc) {\n            operator_delete(_in);\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)line._M_dataplus._M_p != local_1e0) {\n            operator_delete(line._M_dataplus._M_p);\n          }\n          if (iVar18 == -1) break;\n        }\n        uVar31 = iVar18 + 1;\n      } while( true );\n    }\n  }" if (parenthesized_expression "((this->Y_).user_set_via_option == false)" ( (binary_expression "(this->Y_).user_set_via_option == false" (field_expression "(this->Y_).user_set_via_option" (parenthesized_expression "(this->Y_)" ( (field_expression "this->Y_" identifier -> field_identifier) )) . field_identifier) == false) )) (compound_statement "{\n    if ((this->nostdlib_).value == false) {\n      local_1dc = &local_12c;\n      local_1d0 = (Search_directory *)&in;\n      _in = (pointer)local_1dc;\n                    /* try { // try from 002c0505 to 002c0509 has its CatchHandler @ 002c0e87 */\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>_> *)local_1d0,\n                 (int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);\n      paVar2 = &local_1a4.name_.field_2;\n      local_1a4.name_._M_dataplus._M_p = (pointer)paVar2;\n                    /* try { // try from 002c0532 to 002c0536 has its CatchHandler @ 002c0ef5 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char*>(&local_1a4.name_,_in,(filebuf *)(_in + local_130),0);\n      local_1a4.put_in_sysroot_ = true;\n      local_1a4.is_in_sysroot_ = false;\n      if (local_1a4.name_._M_string_length == 0) {\n                    /* try { // try from 002c0957 to 002c095b has its CatchHandler @ 002c0e8e */\n        std::string::_M_replace((string *)&local_1a4,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }\n      local_1d8 = &(this->library_path_).value;\n      iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n           _M_impl._M_finish;\n      if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0973 to 002c0977 has its CatchHandler @ 002c0e95 */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_1a4);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c058f to 002c0593 has its CatchHandler @ 002c0e95 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_1a4.name_._M_dataplus._M_p,\n                            local_1a4.name_._M_dataplus._M_p + local_1a4.name_._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = local_1a4.put_in_sysroot_;\n        (iVar5._M_current)->is_in_sysroot_ = local_1a4.is_in_sysroot_;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_1a4.name_._M_dataplus._M_p != paVar2) {\n        operator_delete(local_1a4.name_._M_dataplus._M_p);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }\n      _in = (pointer)local_1dc;\n                    /* try { // try from 002c0619 to 002c061d has its CatchHandler @ 002c0e87 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>\n                (&local_1d0->name_,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);\n      paVar2 = &local_188.name_.field_2;\n      local_188.name_._M_dataplus._M_p = (pointer)paVar2;\n                    /* try { // try from 002c0646 to 002c064a has its CatchHandler @ 002c0ecd */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char*>(&local_188.name_,_in,(filebuf *)(_in + local_130),0);\n      local_188.put_in_sysroot_ = true;\n      local_188.is_in_sysroot_ = false;\n      if (local_188.name_._M_string_length == 0) {\n                    /* try { // try from 002c0af7 to 002c0afb has its CatchHandler @ 002c0eb8 */\n        std::string::_M_replace((string *)&local_188,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }\n      iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n           _M_impl._M_finish;\n      if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0b8b to 002c0b8f has its CatchHandler @ 002c0ebf */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_188);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c0695 to 002c0699 has its CatchHandler @ 002c0ebf */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_188.name_._M_dataplus._M_p,\n                            local_188.name_._M_dataplus._M_p + local_188.name_._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = local_188.put_in_sysroot_;\n        (iVar5._M_current)->is_in_sysroot_ = local_188.is_in_sysroot_;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_188.name_._M_dataplus._M_p != paVar2) {\n        operator_delete(local_188.name_._M_dataplus._M_p);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }\n      _in = (pointer)local_1dc;\n                    /* try { // try from 002c071f to 002c0723 has its CatchHandler @ 002c0e87 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>\n                (&local_1d0->name_,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);\n      paVar2 = &local_16c.name_.field_2;\n      local_16c.name_._M_dataplus._M_p = (pointer)paVar2;\n                    /* try { // try from 002c074c to 002c0750 has its CatchHandler @ 002c0ec6 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char*>(&local_16c.name_,_in,(filebuf *)(_in + local_130),0);\n      local_16c.put_in_sysroot_ = true;\n      local_16c.is_in_sysroot_ = false;\n      if (local_16c.name_._M_string_length == 0) {\n                    /* try { // try from 002c0b1f to 002c0b23 has its CatchHandler @ 002c0eb1 */\n        std::string::_M_replace((string *)&local_16c,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }\n      iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n           _M_impl._M_finish;\n      if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0b6b to 002c0b6f has its CatchHandler @ 002c0e9c */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_16c);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c079b to 002c079f has its CatchHandler @ 002c0e9c */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_16c.name_._M_dataplus._M_p,\n                            local_16c.name_._M_dataplus._M_p + local_16c.name_._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = local_16c.put_in_sysroot_;\n        (iVar5._M_current)->is_in_sysroot_ = local_16c.is_in_sysroot_;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_16c.name_._M_dataplus._M_p != paVar2) {\n        operator_delete(local_16c.name_._M_dataplus._M_p);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }\n      _in = (pointer)local_1dc;\n                    /* try { // try from 002c0825 to 002c0829 has its CatchHandler @ 002c0e87 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>\n                (&local_1d0->name_,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);\n      local_1e0 = &line.field_2;\n      local_1cc = (double)CONCAT44(local_1cc._4_4_,&line);\n      line._M_dataplus._M_p = (pointer)local_1e0;\n                    /* try { // try from 002c085e to 002c0862 has its CatchHandler @ 002c0e6b */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char*>(&line,_in,(filebuf *)(_in + local_130),0);\n      if (line._M_string_length == 0) {\n                    /* try { // try from 002c0b4c to 002c0b50 has its CatchHandler @ 002c0eaa */\n        std::string::_M_replace\n                  ((string *)local_1cc._0_4_,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }\n      iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n           _M_impl._M_finish;\n      if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0bb0 to 002c0bb4 has its CatchHandler @ 002c0e64 */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,local_1cc._0_4_);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c08ad to 002c08b1 has its CatchHandler @ 002c0e64 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,line._M_dataplus._M_p,\n                            line._M_dataplus._M_p + line._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = true;\n        (iVar5._M_current)->is_in_sysroot_ = false;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)line._M_dataplus._M_p != local_1e0) {\n        operator_delete(line._M_dataplus._M_p);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }\n      goto LAB_002c0258;\n    }\n  }" { (if_statement "if ((this->nostdlib_).value == false) {\n      local_1dc = &local_12c;\n      local_1d0 = (Search_directory *)&in;\n      _in = (pointer)local_1dc;\n                    /* try { // try from 002c0505 to 002c0509 has its CatchHandler @ 002c0e87 */\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>_> *)local_1d0,\n                 (int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);\n      paVar2 = &local_1a4.name_.field_2;\n      local_1a4.name_._M_dataplus._M_p = (pointer)paVar2;\n                    /* try { // try from 002c0532 to 002c0536 has its CatchHandler @ 002c0ef5 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char*>(&local_1a4.name_,_in,(filebuf *)(_in + local_130),0);\n      local_1a4.put_in_sysroot_ = true;\n      local_1a4.is_in_sysroot_ = false;\n      if (local_1a4.name_._M_string_length == 0) {\n                    /* try { // try from 002c0957 to 002c095b has its CatchHandler @ 002c0e8e */\n        std::string::_M_replace((string *)&local_1a4,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }\n      local_1d8 = &(this->library_path_).value;\n      iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n           _M_impl._M_finish;\n      if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0973 to 002c0977 has its CatchHandler @ 002c0e95 */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_1a4);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c058f to 002c0593 has its CatchHandler @ 002c0e95 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_1a4.name_._M_dataplus._M_p,\n                            local_1a4.name_._M_dataplus._M_p + local_1a4.name_._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = local_1a4.put_in_sysroot_;\n        (iVar5._M_current)->is_in_sysroot_ = local_1a4.is_in_sysroot_;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_1a4.name_._M_dataplus._M_p != paVar2) {\n        operator_delete(local_1a4.name_._M_dataplus._M_p);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }\n      _in = (pointer)local_1dc;\n                    /* try { // try from 002c0619 to 002c061d has its CatchHandler @ 002c0e87 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>\n                (&local_1d0->name_,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);\n      paVar2 = &local_188.name_.field_2;\n      local_188.name_._M_dataplus._M_p = (pointer)paVar2;\n                    /* try { // try from 002c0646 to 002c064a has its CatchHandler @ 002c0ecd */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char*>(&local_188.name_,_in,(filebuf *)(_in + local_130),0);\n      local_188.put_in_sysroot_ = true;\n      local_188.is_in_sysroot_ = false;\n      if (local_188.name_._M_string_length == 0) {\n                    /* try { // try from 002c0af7 to 002c0afb has its CatchHandler @ 002c0eb8 */\n        std::string::_M_replace((string *)&local_188,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }\n      iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n           _M_impl._M_finish;\n      if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0b8b to 002c0b8f has its CatchHandler @ 002c0ebf */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_188);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c0695 to 002c0699 has its CatchHandler @ 002c0ebf */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_188.name_._M_dataplus._M_p,\n                            local_188.name_._M_dataplus._M_p + local_188.name_._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = local_188.put_in_sysroot_;\n        (iVar5._M_current)->is_in_sysroot_ = local_188.is_in_sysroot_;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_188.name_._M_dataplus._M_p != paVar2) {\n        operator_delete(local_188.name_._M_dataplus._M_p);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }\n      _in = (pointer)local_1dc;\n                    /* try { // try from 002c071f to 002c0723 has its CatchHandler @ 002c0e87 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>\n                (&local_1d0->name_,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);\n      paVar2 = &local_16c.name_.field_2;\n      local_16c.name_._M_dataplus._M_p = (pointer)paVar2;\n                    /* try { // try from 002c074c to 002c0750 has its CatchHandler @ 002c0ec6 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char*>(&local_16c.name_,_in,(filebuf *)(_in + local_130),0);\n      local_16c.put_in_sysroot_ = true;\n      local_16c.is_in_sysroot_ = false;\n      if (local_16c.name_._M_string_length == 0) {\n                    /* try { // try from 002c0b1f to 002c0b23 has its CatchHandler @ 002c0eb1 */\n        std::string::_M_replace((string *)&local_16c,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }\n      iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n           _M_impl._M_finish;\n      if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0b6b to 002c0b6f has its CatchHandler @ 002c0e9c */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_16c);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c079b to 002c079f has its CatchHandler @ 002c0e9c */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_16c.name_._M_dataplus._M_p,\n                            local_16c.name_._M_dataplus._M_p + local_16c.name_._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = local_16c.put_in_sysroot_;\n        (iVar5._M_current)->is_in_sysroot_ = local_16c.is_in_sysroot_;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_16c.name_._M_dataplus._M_p != paVar2) {\n        operator_delete(local_16c.name_._M_dataplus._M_p);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }\n      _in = (pointer)local_1dc;\n                    /* try { // try from 002c0825 to 002c0829 has its CatchHandler @ 002c0e87 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>\n                (&local_1d0->name_,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);\n      local_1e0 = &line.field_2;\n      local_1cc = (double)CONCAT44(local_1cc._4_4_,&line);\n      line._M_dataplus._M_p = (pointer)local_1e0;\n                    /* try { // try from 002c085e to 002c0862 has its CatchHandler @ 002c0e6b */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char*>(&line,_in,(filebuf *)(_in + local_130),0);\n      if (line._M_string_length == 0) {\n                    /* try { // try from 002c0b4c to 002c0b50 has its CatchHandler @ 002c0eaa */\n        std::string::_M_replace\n                  ((string *)local_1cc._0_4_,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }\n      iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n           _M_impl._M_finish;\n      if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0bb0 to 002c0bb4 has its CatchHandler @ 002c0e64 */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,local_1cc._0_4_);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c08ad to 002c08b1 has its CatchHandler @ 002c0e64 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,line._M_dataplus._M_p,\n                            line._M_dataplus._M_p + line._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = true;\n        (iVar5._M_current)->is_in_sysroot_ = false;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)line._M_dataplus._M_p != local_1e0) {\n        operator_delete(line._M_dataplus._M_p);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }\n      goto LAB_002c0258;\n    }" if (parenthesized_expression "((this->nostdlib_).value == false)" ( (binary_expression "(this->nostdlib_).value == false" (field_expression "(this->nostdlib_).value" (parenthesized_expression "(this->nostdlib_)" ( (field_expression "this->nostdlib_" identifier -> field_identifier) )) . field_identifier) == false) )) (compound_statement "{\n      local_1dc = &local_12c;\n      local_1d0 = (Search_directory *)&in;\n      _in = (pointer)local_1dc;\n                    /* try { // try from 002c0505 to 002c0509 has its CatchHandler @ 002c0e87 */\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>_> *)local_1d0,\n                 (int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);\n      paVar2 = &local_1a4.name_.field_2;\n      local_1a4.name_._M_dataplus._M_p = (pointer)paVar2;\n                    /* try { // try from 002c0532 to 002c0536 has its CatchHandler @ 002c0ef5 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char*>(&local_1a4.name_,_in,(filebuf *)(_in + local_130),0);\n      local_1a4.put_in_sysroot_ = true;\n      local_1a4.is_in_sysroot_ = false;\n      if (local_1a4.name_._M_string_length == 0) {\n                    /* try { // try from 002c0957 to 002c095b has its CatchHandler @ 002c0e8e */\n        std::string::_M_replace((string *)&local_1a4,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }\n      local_1d8 = &(this->library_path_).value;\n      iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n           _M_impl._M_finish;\n      if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0973 to 002c0977 has its CatchHandler @ 002c0e95 */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_1a4);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c058f to 002c0593 has its CatchHandler @ 002c0e95 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_1a4.name_._M_dataplus._M_p,\n                            local_1a4.name_._M_dataplus._M_p + local_1a4.name_._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = local_1a4.put_in_sysroot_;\n        (iVar5._M_current)->is_in_sysroot_ = local_1a4.is_in_sysroot_;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_1a4.name_._M_dataplus._M_p != paVar2) {\n        operator_delete(local_1a4.name_._M_dataplus._M_p);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }\n      _in = (pointer)local_1dc;\n                    /* try { // try from 002c0619 to 002c061d has its CatchHandler @ 002c0e87 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>\n                (&local_1d0->name_,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);\n      paVar2 = &local_188.name_.field_2;\n      local_188.name_._M_dataplus._M_p = (pointer)paVar2;\n                    /* try { // try from 002c0646 to 002c064a has its CatchHandler @ 002c0ecd */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char*>(&local_188.name_,_in,(filebuf *)(_in + local_130),0);\n      local_188.put_in_sysroot_ = true;\n      local_188.is_in_sysroot_ = false;\n      if (local_188.name_._M_string_length == 0) {\n                    /* try { // try from 002c0af7 to 002c0afb has its CatchHandler @ 002c0eb8 */\n        std::string::_M_replace((string *)&local_188,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }\n      iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n           _M_impl._M_finish;\n      if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0b8b to 002c0b8f has its CatchHandler @ 002c0ebf */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_188);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c0695 to 002c0699 has its CatchHandler @ 002c0ebf */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_188.name_._M_dataplus._M_p,\n                            local_188.name_._M_dataplus._M_p + local_188.name_._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = local_188.put_in_sysroot_;\n        (iVar5._M_current)->is_in_sysroot_ = local_188.is_in_sysroot_;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_188.name_._M_dataplus._M_p != paVar2) {\n        operator_delete(local_188.name_._M_dataplus._M_p);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }\n      _in = (pointer)local_1dc;\n                    /* try { // try from 002c071f to 002c0723 has its CatchHandler @ 002c0e87 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>\n                (&local_1d0->name_,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);\n      paVar2 = &local_16c.name_.field_2;\n      local_16c.name_._M_dataplus._M_p = (pointer)paVar2;\n                    /* try { // try from 002c074c to 002c0750 has its CatchHandler @ 002c0ec6 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char*>(&local_16c.name_,_in,(filebuf *)(_in + local_130),0);\n      local_16c.put_in_sysroot_ = true;\n      local_16c.is_in_sysroot_ = false;\n      if (local_16c.name_._M_string_length == 0) {\n                    /* try { // try from 002c0b1f to 002c0b23 has its CatchHandler @ 002c0eb1 */\n        std::string::_M_replace((string *)&local_16c,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }\n      iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n           _M_impl._M_finish;\n      if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0b6b to 002c0b6f has its CatchHandler @ 002c0e9c */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_16c);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c079b to 002c079f has its CatchHandler @ 002c0e9c */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_16c.name_._M_dataplus._M_p,\n                            local_16c.name_._M_dataplus._M_p + local_16c.name_._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = local_16c.put_in_sysroot_;\n        (iVar5._M_current)->is_in_sysroot_ = local_16c.is_in_sysroot_;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_16c.name_._M_dataplus._M_p != paVar2) {\n        operator_delete(local_16c.name_._M_dataplus._M_p);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }\n      _in = (pointer)local_1dc;\n                    /* try { // try from 002c0825 to 002c0829 has its CatchHandler @ 002c0e87 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>\n                (&local_1d0->name_,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);\n      local_1e0 = &line.field_2;\n      local_1cc = (double)CONCAT44(local_1cc._4_4_,&line);\n      line._M_dataplus._M_p = (pointer)local_1e0;\n                    /* try { // try from 002c085e to 002c0862 has its CatchHandler @ 002c0e6b */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char*>(&line,_in,(filebuf *)(_in + local_130),0);\n      if (line._M_string_length == 0) {\n                    /* try { // try from 002c0b4c to 002c0b50 has its CatchHandler @ 002c0eaa */\n        std::string::_M_replace\n                  ((string *)local_1cc._0_4_,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }\n      iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n           _M_impl._M_finish;\n      if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0bb0 to 002c0bb4 has its CatchHandler @ 002c0e64 */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,local_1cc._0_4_);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c08ad to 002c08b1 has its CatchHandler @ 002c0e64 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,line._M_dataplus._M_p,\n                            line._M_dataplus._M_p + line._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = true;\n        (iVar5._M_current)->is_in_sysroot_ = false;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)line._M_dataplus._M_p != local_1e0) {\n        operator_delete(line._M_dataplus._M_p);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }\n      goto LAB_002c0258;\n    }" { (expression_statement "local_1dc = &local_12c;" (assignment_expression "local_1dc = &local_12c" identifier = (pointer_expression "&local_12c" & identifier)) ;) (expression_statement "local_1d0 = (Search_directory *)&in;" (assignment_expression "local_1d0 = (Search_directory *)&in" identifier = (cast_expression "(Search_directory *)&in" ( (type_descriptor "Search_directory *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&in" & identifier))) ;) (expression_statement "_in = (pointer)local_1dc;" (assignment_expression "_in = (pointer)local_1dc" identifier = (cast_expression "(pointer)local_1dc" ( (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*>\n                ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)local_1d0,\n                 (int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,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>_> *)local_1d0,\n                 (int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);" (binary_expression "_M_construct<char_const*>\n                ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)local_1d0,\n                 (int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)local_1d0,\n                 (int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0)" ( (parenthesized_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)local_1d0,\n                 (int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,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>_> *)local_1d0,\n                 (int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0" (binary_expression "allocator<char>_> *)local_1d0" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*)local_1d0" * (ERROR ")" )) identifier)) , (comma_expression "(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0" (binary_expression "(int)local_1c4 + -0x15ba2f" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , (comma_expression "(int)local_1c4 + -0x15ba16,0" (binary_expression "(int)local_1c4 + -0x15ba16" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal))) )) ))) ;)) (expression_statement "paVar2 = &local_1a4.name_.field_2;" (assignment_expression "paVar2 = &local_1a4.name_.field_2" identifier = (pointer_expression "&local_1a4.name_.field_2" & (field_expression "local_1a4.name_.field_2" (field_expression "local_1a4.name_" identifier . field_identifier) . field_identifier))) ;) (expression_statement "local_1a4.name_._M_dataplus._M_p = (pointer)paVar2;" (assignment_expression "local_1a4.name_._M_dataplus._M_p = (pointer)paVar2" (field_expression "local_1a4.name_._M_dataplus._M_p" (field_expression "local_1a4.name_._M_dataplus" (field_expression "local_1a4.name_" identifier . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(pointer)paVar2" ( (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*>(&local_1a4.name_,_in,(filebuf *)(_in + local_130),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*>(&local_1a4.name_,_in,(filebuf *)(_in + local_130),0);" (binary_expression "_M_construct<char*>(&local_1a4.name_,_in,(filebuf *)(_in + local_130),0)" (binary_expression "_M_construct<char" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&local_1a4.name_,_in,(filebuf *)(_in + local_130),0)" ( (comma_expression "&local_1a4.name_,_in,(filebuf *)(_in + local_130),0" (pointer_expression "&local_1a4.name_" & (field_expression "local_1a4.name_" identifier . field_identifier)) , (comma_expression "_in,(filebuf *)(_in + local_130),0" identifier , (comma_expression "(filebuf *)(_in + local_130),0" (cast_expression "(filebuf *)(_in + local_130)" ( (type_descriptor "filebuf *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(_in + local_130)" ( (binary_expression "_in + local_130" identifier + identifier) ))) , number_literal))) ))) ;)) (expression_statement "local_1a4.put_in_sysroot_ = true;" (assignment_expression "local_1a4.put_in_sysroot_ = true" (field_expression "local_1a4.put_in_sysroot_" identifier . field_identifier) = true) ;) (expression_statement "local_1a4.is_in_sysroot_ = false;" (assignment_expression "local_1a4.is_in_sysroot_ = false" (field_expression "local_1a4.is_in_sysroot_" identifier . field_identifier) = false) ;) (if_statement "if (local_1a4.name_._M_string_length == 0) {\n                    /* try { // try from 002c0957 to 002c095b has its CatchHandler @ 002c0e8e */\n        std::string::_M_replace((string *)&local_1a4,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }" if (parenthesized_expression "(local_1a4.name_._M_string_length == 0)" ( (binary_expression "local_1a4.name_._M_string_length == 0" (field_expression "local_1a4.name_._M_string_length" (field_expression "local_1a4.name_" identifier . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n                    /* try { // try from 002c0957 to 002c095b has its CatchHandler @ 002c0e8e */\n        std::string::_M_replace((string *)&local_1a4,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }" { comment (labeled_statement "std::string::_M_replace((string *)&local_1a4,0,0,(char *)((int)local_1c4 + -0x15ca25),1);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_replace((string *)&local_1a4,0,0,(char *)((int)local_1c4 + -0x15ca25),1);" statement_identifier : (ERROR ":" :) (expression_statement "_M_replace((string *)&local_1a4,0,0,(char *)((int)local_1c4 + -0x15ca25),1);" (call_expression "_M_replace((string *)&local_1a4,0,0,(char *)((int)local_1c4 + -0x15ca25),1)" identifier (argument_list "((string *)&local_1a4,0,0,(char *)((int)local_1c4 + -0x15ca25),1)" ( (cast_expression "(string *)&local_1a4" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_1a4" & identifier)) , number_literal , number_literal , (cast_expression "(char *)((int)local_1c4 + -0x15ca25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_1c4 + -0x15ca25)" ( (binary_expression "(int)local_1c4 + -0x15ca25" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , number_literal ))) ;))) })) (expression_statement "local_1d8 = &(this->library_path_).value;" (assignment_expression "local_1d8 = &(this->library_path_).value" identifier = (pointer_expression "&(this->library_path_).value" & (field_expression "(this->library_path_).value" (parenthesized_expression "(this->library_path_)" ( (field_expression "this->library_path_" identifier -> field_identifier) )) . field_identifier))) ;) (ERROR "iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::" (comma_expression "iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std" (assignment_expression "iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold" (field_expression "iVar5._M_current" identifier . field_identifier) = (binary_expression "(this->library_path_).value.\n           super__Vector_base<gold" (field_expression "(this->library_path_).value.\n           super__Vector_base" (field_expression "(this->library_path_).value" (parenthesized_expression "(this->library_path_)" ( (field_expression "this->library_path_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier)) (ERROR "::Search_directory" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Search_directory>_>.\n           _M_impl._M_finish;" (field_expression "Search_directory>_>.\n           _M_impl._M_finish" (field_expression "Search_directory>_>.\n           _M_impl" (binary_expression "Search_directory>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0973 to 002c0977 has its CatchHandler @ 002c0e95 */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_1a4);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c058f to 002c0593 has its CatchHandler @ 002c0e95 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_1a4.name_._M_dataplus._M_p,\n                            local_1a4.name_._M_dataplus._M_p + local_1a4.name_._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = local_1a4.put_in_sysroot_;\n        (iVar5._M_current)->is_in_sysroot_ = local_1a4.is_in_sysroot_;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }" if (parenthesized_expression "(iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage)" ( (ERROR "iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::" (comma_expression "iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std" (binary_expression "iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold" (field_expression "iVar5._M_current" identifier . field_identifier) == (binary_expression "(this->library_path_).value.\n          super__Vector_base<gold" (field_expression "(this->library_path_).value.\n          super__Vector_base" (field_expression "(this->library_path_).value" (parenthesized_expression "(this->library_path_)" ( (field_expression "this->library_path_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier)) (ERROR "::Search_directory" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (field_expression "Search_directory>_>.\n          _M_impl._M_end_of_storage" (field_expression "Search_directory>_>.\n          _M_impl" (binary_expression "Search_directory>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n                    /* try { // try from 002c0973 to 002c0977 has its CatchHandler @ 002c0e95 */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_1a4);\n      }" { comment (labeled_statement "std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_1a4);" statement_identifier (ERROR "::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold:" : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Search_directory,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Search_directory>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (expression_statement "Search_directory&>(local_1d8,iVar5,&local_1a4);" (binary_expression "Search_directory&>(local_1d8,iVar5,&local_1a4)" identifier (ERROR "&" &) > (parenthesized_expression "(local_1d8,iVar5,&local_1a4)" ( (comma_expression "local_1d8,iVar5,&local_1a4" identifier , (comma_expression "iVar5,&local_1a4" identifier , (pointer_expression "&local_1a4" & identifier))) ))) ;)) }) (else_clause "else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c058f to 002c0593 has its CatchHandler @ 002c0e95 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_1a4.name_._M_dataplus._M_p,\n                            local_1a4.name_._M_dataplus._M_p + local_1a4.name_._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = local_1a4.put_in_sysroot_;\n        (iVar5._M_current)->is_in_sysroot_ = local_1a4.is_in_sysroot_;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }" else (compound_statement "{\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c058f to 002c0593 has its CatchHandler @ 002c0e95 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_1a4.name_._M_dataplus._M_p,\n                            local_1a4.name_._M_dataplus._M_p + local_1a4.name_._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = local_1a4.put_in_sysroot_;\n        (iVar5._M_current)->is_in_sysroot_ = local_1a4.is_in_sysroot_;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }" { (expression_statement "((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;" (assignment_expression "((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2" (field_expression "((iVar5._M_current)->name_)._M_dataplus._M_p" (field_expression "((iVar5._M_current)->name_)._M_dataplus" (parenthesized_expression "((iVar5._M_current)->name_)" ( (field_expression "(iVar5._M_current)->name_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "(pointer)&((iVar5._M_current)->name_).field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "((iVar5._M_current)->name_).field_2" (parenthesized_expression "((iVar5._M_current)->name_)" ( (field_expression "(iVar5._M_current)->name_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier))) ;) comment (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_1a4.name_._M_dataplus._M_p,\n                            local_1a4.name_._M_dataplus._M_p + local_1a4.name_._M_string_length,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*>(&(iVar5._M_current)->name_,local_1a4.name_._M_dataplus._M_p,\n                            local_1a4.name_._M_dataplus._M_p + local_1a4.name_._M_string_length,0);" (binary_expression "_M_construct<char*>(&(iVar5._M_current)->name_,local_1a4.name_._M_dataplus._M_p,\n                            local_1a4.name_._M_dataplus._M_p + local_1a4.name_._M_string_length,0)" (binary_expression "_M_construct<char" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&(iVar5._M_current)->name_,local_1a4.name_._M_dataplus._M_p,\n                            local_1a4.name_._M_dataplus._M_p + local_1a4.name_._M_string_length,0)" ( (comma_expression "&(iVar5._M_current)->name_,local_1a4.name_._M_dataplus._M_p,\n                            local_1a4.name_._M_dataplus._M_p + local_1a4.name_._M_string_length,0" (pointer_expression "&(iVar5._M_current)->name_" & (field_expression "(iVar5._M_current)->name_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier)) , (comma_expression "local_1a4.name_._M_dataplus._M_p,\n                            local_1a4.name_._M_dataplus._M_p + local_1a4.name_._M_string_length,0" (field_expression "local_1a4.name_._M_dataplus._M_p" (field_expression "local_1a4.name_._M_dataplus" (field_expression "local_1a4.name_" identifier . field_identifier) . field_identifier) . field_identifier) , (comma_expression "local_1a4.name_._M_dataplus._M_p + local_1a4.name_._M_string_length,0" (binary_expression "local_1a4.name_._M_dataplus._M_p + local_1a4.name_._M_string_length" (field_expression "local_1a4.name_._M_dataplus._M_p" (field_expression "local_1a4.name_._M_dataplus" (field_expression "local_1a4.name_" identifier . field_identifier) . field_identifier) . field_identifier) + (field_expression "local_1a4.name_._M_string_length" (field_expression "local_1a4.name_" identifier . field_identifier) . field_identifier)) , number_literal))) ))) ;)) (expression_statement "(iVar5._M_current)->put_in_sysroot_ = local_1a4.put_in_sysroot_;" (assignment_expression "(iVar5._M_current)->put_in_sysroot_ = local_1a4.put_in_sysroot_" (field_expression "(iVar5._M_current)->put_in_sysroot_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) = (field_expression "local_1a4.put_in_sysroot_" identifier . field_identifier)) ;) (expression_statement "(iVar5._M_current)->is_in_sysroot_ = local_1a4.is_in_sysroot_;" (assignment_expression "(iVar5._M_current)->is_in_sysroot_ = local_1a4.is_in_sysroot_" (field_expression "(iVar5._M_current)->is_in_sysroot_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) = (field_expression "local_1a4.is_in_sysroot_" identifier . field_identifier)) ;) (ERROR "ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::" (comma_expression "ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std" (assignment_expression "ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold" identifier = (binary_expression "&(this->library_path_).value.\n                   super__Vector_base<gold" (pointer_expression "&(this->library_path_).value.\n                   super__Vector_base" & (field_expression "(this->library_path_).value.\n                   super__Vector_base" (field_expression "(this->library_path_).value" (parenthesized_expression "(this->library_path_)" ( (field_expression "this->library_path_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) < identifier)) (ERROR "::Search_directory" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Search_directory>_>\n                   ._M_impl._M_finish;" (field_expression "Search_directory>_>\n                   ._M_impl._M_finish" (field_expression "Search_directory>_>\n                   ._M_impl" (binary_expression "Search_directory>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "*ppSVar1 = *ppSVar1 + 1;" (assignment_expression "*ppSVar1 = *ppSVar1 + 1" (pointer_expression "*ppSVar1" * identifier) = (binary_expression "*ppSVar1 + 1" (pointer_expression "*ppSVar1" * identifier) + number_literal)) ;) }))) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_1a4.name_._M_dataplus._M_p != paVar2) {\n        operator_delete(local_1a4.name_._M_dataplus._M_p);\n      }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_1a4.name_._M_dataplus._M_p != paVar2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_1a4.name_._M_dataplus._M_p != paVar2)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n           *)local_1a4.name_._M_dataplus._M_p != paVar2" (binary_expression "allocator<char>_>_9\n           *)local_1a4.name_._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n           *)local_1a4.name_._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "local_1a4.name_._M_dataplus._M_p" (field_expression "local_1a4.name_._M_dataplus" (field_expression "local_1a4.name_" identifier . field_identifier) . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n        operator_delete(local_1a4.name_._M_dataplus._M_p);\n      }" { (expression_statement "operator_delete(local_1a4.name_._M_dataplus._M_p);" (call_expression "operator_delete(local_1a4.name_._M_dataplus._M_p)" identifier (argument_list "(local_1a4.name_._M_dataplus._M_p)" ( (field_expression "local_1a4.name_._M_dataplus._M_p" (field_expression "local_1a4.name_._M_dataplus" (field_expression "local_1a4.name_" identifier . field_identifier) . field_identifier) . field_identifier) ))) ;) })) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n           *)_in != local_1dc" (binary_expression "allocator<char>_>_9\n           *)_in" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n           *)_in" identifier * (ERROR ")" )) identifier)) != identifier) )) )) (compound_statement "{\n        operator_delete(_in);\n      }" { (expression_statement "operator_delete(_in);" (call_expression "operator_delete(_in)" identifier (argument_list "(_in)" ( identifier ))) ;) })) (expression_statement "_in = (pointer)local_1dc;" (assignment_expression "_in = (pointer)local_1dc" identifier = (cast_expression "(pointer)local_1dc" ( (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*>\n                (&local_1d0->name_,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,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                (&local_1d0->name_,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);" (binary_expression "_M_construct<char_const*>\n                (&local_1d0->name_,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&local_1d0->name_,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0)" ( (comma_expression "&local_1d0->name_,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0" (pointer_expression "&local_1d0->name_" & (field_expression "local_1d0->name_" identifier -> field_identifier)) , (comma_expression "(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0" (binary_expression "(int)local_1c4 + -0x15ba33" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , (comma_expression "(int)local_1c4 + -0x15ba16,0" (binary_expression "(int)local_1c4 + -0x15ba16" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal))) ))) ;)) (expression_statement "paVar2 = &local_188.name_.field_2;" (assignment_expression "paVar2 = &local_188.name_.field_2" identifier = (pointer_expression "&local_188.name_.field_2" & (field_expression "local_188.name_.field_2" (field_expression "local_188.name_" identifier . field_identifier) . field_identifier))) ;) (expression_statement "local_188.name_._M_dataplus._M_p = (pointer)paVar2;" (assignment_expression "local_188.name_._M_dataplus._M_p = (pointer)paVar2" (field_expression "local_188.name_._M_dataplus._M_p" (field_expression "local_188.name_._M_dataplus" (field_expression "local_188.name_" identifier . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(pointer)paVar2" ( (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*>(&local_188.name_,_in,(filebuf *)(_in + local_130),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*>(&local_188.name_,_in,(filebuf *)(_in + local_130),0);" (binary_expression "_M_construct<char*>(&local_188.name_,_in,(filebuf *)(_in + local_130),0)" (binary_expression "_M_construct<char" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&local_188.name_,_in,(filebuf *)(_in + local_130),0)" ( (comma_expression "&local_188.name_,_in,(filebuf *)(_in + local_130),0" (pointer_expression "&local_188.name_" & (field_expression "local_188.name_" identifier . field_identifier)) , (comma_expression "_in,(filebuf *)(_in + local_130),0" identifier , (comma_expression "(filebuf *)(_in + local_130),0" (cast_expression "(filebuf *)(_in + local_130)" ( (type_descriptor "filebuf *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(_in + local_130)" ( (binary_expression "_in + local_130" identifier + identifier) ))) , number_literal))) ))) ;)) (expression_statement "local_188.put_in_sysroot_ = true;" (assignment_expression "local_188.put_in_sysroot_ = true" (field_expression "local_188.put_in_sysroot_" identifier . field_identifier) = true) ;) (expression_statement "local_188.is_in_sysroot_ = false;" (assignment_expression "local_188.is_in_sysroot_ = false" (field_expression "local_188.is_in_sysroot_" identifier . field_identifier) = false) ;) (if_statement "if (local_188.name_._M_string_length == 0) {\n                    /* try { // try from 002c0af7 to 002c0afb has its CatchHandler @ 002c0eb8 */\n        std::string::_M_replace((string *)&local_188,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }" if (parenthesized_expression "(local_188.name_._M_string_length == 0)" ( (binary_expression "local_188.name_._M_string_length == 0" (field_expression "local_188.name_._M_string_length" (field_expression "local_188.name_" identifier . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n                    /* try { // try from 002c0af7 to 002c0afb has its CatchHandler @ 002c0eb8 */\n        std::string::_M_replace((string *)&local_188,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }" { comment (labeled_statement "std::string::_M_replace((string *)&local_188,0,0,(char *)((int)local_1c4 + -0x15ca25),1);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_replace((string *)&local_188,0,0,(char *)((int)local_1c4 + -0x15ca25),1);" statement_identifier : (ERROR ":" :) (expression_statement "_M_replace((string *)&local_188,0,0,(char *)((int)local_1c4 + -0x15ca25),1);" (call_expression "_M_replace((string *)&local_188,0,0,(char *)((int)local_1c4 + -0x15ca25),1)" identifier (argument_list "((string *)&local_188,0,0,(char *)((int)local_1c4 + -0x15ca25),1)" ( (cast_expression "(string *)&local_188" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_188" & identifier)) , number_literal , number_literal , (cast_expression "(char *)((int)local_1c4 + -0x15ca25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_1c4 + -0x15ca25)" ( (binary_expression "(int)local_1c4 + -0x15ca25" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , number_literal ))) ;))) })) (ERROR "iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::" (comma_expression "iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std" (assignment_expression "iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold" (field_expression "iVar5._M_current" identifier . field_identifier) = (binary_expression "(this->library_path_).value.\n           super__Vector_base<gold" (field_expression "(this->library_path_).value.\n           super__Vector_base" (field_expression "(this->library_path_).value" (parenthesized_expression "(this->library_path_)" ( (field_expression "this->library_path_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier)) (ERROR "::Search_directory" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Search_directory>_>.\n           _M_impl._M_finish;" (field_expression "Search_directory>_>.\n           _M_impl._M_finish" (field_expression "Search_directory>_>.\n           _M_impl" (binary_expression "Search_directory>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0b8b to 002c0b8f has its CatchHandler @ 002c0ebf */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_188);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c0695 to 002c0699 has its CatchHandler @ 002c0ebf */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_188.name_._M_dataplus._M_p,\n                            local_188.name_._M_dataplus._M_p + local_188.name_._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = local_188.put_in_sysroot_;\n        (iVar5._M_current)->is_in_sysroot_ = local_188.is_in_sysroot_;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }" if (parenthesized_expression "(iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage)" ( (ERROR "iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::" (comma_expression "iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std" (binary_expression "iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold" (field_expression "iVar5._M_current" identifier . field_identifier) == (binary_expression "(this->library_path_).value.\n          super__Vector_base<gold" (field_expression "(this->library_path_).value.\n          super__Vector_base" (field_expression "(this->library_path_).value" (parenthesized_expression "(this->library_path_)" ( (field_expression "this->library_path_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier)) (ERROR "::Search_directory" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (field_expression "Search_directory>_>.\n          _M_impl._M_end_of_storage" (field_expression "Search_directory>_>.\n          _M_impl" (binary_expression "Search_directory>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n                    /* try { // try from 002c0b8b to 002c0b8f has its CatchHandler @ 002c0ebf */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_188);\n      }" { comment (labeled_statement "std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_188);" statement_identifier (ERROR "::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold:" : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Search_directory,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Search_directory>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (expression_statement "Search_directory&>(local_1d8,iVar5,&local_188);" (binary_expression "Search_directory&>(local_1d8,iVar5,&local_188)" identifier (ERROR "&" &) > (parenthesized_expression "(local_1d8,iVar5,&local_188)" ( (comma_expression "local_1d8,iVar5,&local_188" identifier , (comma_expression "iVar5,&local_188" identifier , (pointer_expression "&local_188" & identifier))) ))) ;)) }) (else_clause "else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c0695 to 002c0699 has its CatchHandler @ 002c0ebf */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_188.name_._M_dataplus._M_p,\n                            local_188.name_._M_dataplus._M_p + local_188.name_._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = local_188.put_in_sysroot_;\n        (iVar5._M_current)->is_in_sysroot_ = local_188.is_in_sysroot_;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }" else (compound_statement "{\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c0695 to 002c0699 has its CatchHandler @ 002c0ebf */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_188.name_._M_dataplus._M_p,\n                            local_188.name_._M_dataplus._M_p + local_188.name_._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = local_188.put_in_sysroot_;\n        (iVar5._M_current)->is_in_sysroot_ = local_188.is_in_sysroot_;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }" { (expression_statement "((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;" (assignment_expression "((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2" (field_expression "((iVar5._M_current)->name_)._M_dataplus._M_p" (field_expression "((iVar5._M_current)->name_)._M_dataplus" (parenthesized_expression "((iVar5._M_current)->name_)" ( (field_expression "(iVar5._M_current)->name_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "(pointer)&((iVar5._M_current)->name_).field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "((iVar5._M_current)->name_).field_2" (parenthesized_expression "((iVar5._M_current)->name_)" ( (field_expression "(iVar5._M_current)->name_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier))) ;) comment (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_188.name_._M_dataplus._M_p,\n                            local_188.name_._M_dataplus._M_p + local_188.name_._M_string_length,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*>(&(iVar5._M_current)->name_,local_188.name_._M_dataplus._M_p,\n                            local_188.name_._M_dataplus._M_p + local_188.name_._M_string_length,0);" (binary_expression "_M_construct<char*>(&(iVar5._M_current)->name_,local_188.name_._M_dataplus._M_p,\n                            local_188.name_._M_dataplus._M_p + local_188.name_._M_string_length,0)" (binary_expression "_M_construct<char" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&(iVar5._M_current)->name_,local_188.name_._M_dataplus._M_p,\n                            local_188.name_._M_dataplus._M_p + local_188.name_._M_string_length,0)" ( (comma_expression "&(iVar5._M_current)->name_,local_188.name_._M_dataplus._M_p,\n                            local_188.name_._M_dataplus._M_p + local_188.name_._M_string_length,0" (pointer_expression "&(iVar5._M_current)->name_" & (field_expression "(iVar5._M_current)->name_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier)) , (comma_expression "local_188.name_._M_dataplus._M_p,\n                            local_188.name_._M_dataplus._M_p + local_188.name_._M_string_length,0" (field_expression "local_188.name_._M_dataplus._M_p" (field_expression "local_188.name_._M_dataplus" (field_expression "local_188.name_" identifier . field_identifier) . field_identifier) . field_identifier) , (comma_expression "local_188.name_._M_dataplus._M_p + local_188.name_._M_string_length,0" (binary_expression "local_188.name_._M_dataplus._M_p + local_188.name_._M_string_length" (field_expression "local_188.name_._M_dataplus._M_p" (field_expression "local_188.name_._M_dataplus" (field_expression "local_188.name_" identifier . field_identifier) . field_identifier) . field_identifier) + (field_expression "local_188.name_._M_string_length" (field_expression "local_188.name_" identifier . field_identifier) . field_identifier)) , number_literal))) ))) ;)) (expression_statement "(iVar5._M_current)->put_in_sysroot_ = local_188.put_in_sysroot_;" (assignment_expression "(iVar5._M_current)->put_in_sysroot_ = local_188.put_in_sysroot_" (field_expression "(iVar5._M_current)->put_in_sysroot_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) = (field_expression "local_188.put_in_sysroot_" identifier . field_identifier)) ;) (expression_statement "(iVar5._M_current)->is_in_sysroot_ = local_188.is_in_sysroot_;" (assignment_expression "(iVar5._M_current)->is_in_sysroot_ = local_188.is_in_sysroot_" (field_expression "(iVar5._M_current)->is_in_sysroot_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) = (field_expression "local_188.is_in_sysroot_" identifier . field_identifier)) ;) (ERROR "ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::" (comma_expression "ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std" (assignment_expression "ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold" identifier = (binary_expression "&(this->library_path_).value.\n                   super__Vector_base<gold" (pointer_expression "&(this->library_path_).value.\n                   super__Vector_base" & (field_expression "(this->library_path_).value.\n                   super__Vector_base" (field_expression "(this->library_path_).value" (parenthesized_expression "(this->library_path_)" ( (field_expression "this->library_path_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) < identifier)) (ERROR "::Search_directory" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Search_directory>_>\n                   ._M_impl._M_finish;" (field_expression "Search_directory>_>\n                   ._M_impl._M_finish" (field_expression "Search_directory>_>\n                   ._M_impl" (binary_expression "Search_directory>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "*ppSVar1 = *ppSVar1 + 1;" (assignment_expression "*ppSVar1 = *ppSVar1 + 1" (pointer_expression "*ppSVar1" * identifier) = (binary_expression "*ppSVar1 + 1" (pointer_expression "*ppSVar1" * identifier) + number_literal)) ;) }))) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_188.name_._M_dataplus._M_p != paVar2) {\n        operator_delete(local_188.name_._M_dataplus._M_p);\n      }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_188.name_._M_dataplus._M_p != paVar2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_188.name_._M_dataplus._M_p != paVar2)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n           *)local_188.name_._M_dataplus._M_p != paVar2" (binary_expression "allocator<char>_>_9\n           *)local_188.name_._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n           *)local_188.name_._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "local_188.name_._M_dataplus._M_p" (field_expression "local_188.name_._M_dataplus" (field_expression "local_188.name_" identifier . field_identifier) . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n        operator_delete(local_188.name_._M_dataplus._M_p);\n      }" { (expression_statement "operator_delete(local_188.name_._M_dataplus._M_p);" (call_expression "operator_delete(local_188.name_._M_dataplus._M_p)" identifier (argument_list "(local_188.name_._M_dataplus._M_p)" ( (field_expression "local_188.name_._M_dataplus._M_p" (field_expression "local_188.name_._M_dataplus" (field_expression "local_188.name_" identifier . field_identifier) . field_identifier) . field_identifier) ))) ;) })) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n           *)_in != local_1dc" (binary_expression "allocator<char>_>_9\n           *)_in" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n           *)_in" identifier * (ERROR ")" )) identifier)) != identifier) )) )) (compound_statement "{\n        operator_delete(_in);\n      }" { (expression_statement "operator_delete(_in);" (call_expression "operator_delete(_in)" identifier (argument_list "(_in)" ( identifier ))) ;) })) (expression_statement "_in = (pointer)local_1dc;" (assignment_expression "_in = (pointer)local_1dc" identifier = (cast_expression "(pointer)local_1dc" ( (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*>\n                (&local_1d0->name_,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,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                (&local_1d0->name_,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);" (binary_expression "_M_construct<char_const*>\n                (&local_1d0->name_,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&local_1d0->name_,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0)" ( (comma_expression "&local_1d0->name_,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0" (pointer_expression "&local_1d0->name_" & (field_expression "local_1d0->name_" identifier -> field_identifier)) , (comma_expression "(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0" (binary_expression "(int)local_1c4 + -0x15ba11" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , (comma_expression "(int)local_1c4 + -0x15ba0d,0" (binary_expression "(int)local_1c4 + -0x15ba0d" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal))) ))) ;)) (expression_statement "paVar2 = &local_16c.name_.field_2;" (assignment_expression "paVar2 = &local_16c.name_.field_2" identifier = (pointer_expression "&local_16c.name_.field_2" & (field_expression "local_16c.name_.field_2" (field_expression "local_16c.name_" identifier . field_identifier) . field_identifier))) ;) (expression_statement "local_16c.name_._M_dataplus._M_p = (pointer)paVar2;" (assignment_expression "local_16c.name_._M_dataplus._M_p = (pointer)paVar2" (field_expression "local_16c.name_._M_dataplus._M_p" (field_expression "local_16c.name_._M_dataplus" (field_expression "local_16c.name_" identifier . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(pointer)paVar2" ( (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*>(&local_16c.name_,_in,(filebuf *)(_in + local_130),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*>(&local_16c.name_,_in,(filebuf *)(_in + local_130),0);" (binary_expression "_M_construct<char*>(&local_16c.name_,_in,(filebuf *)(_in + local_130),0)" (binary_expression "_M_construct<char" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&local_16c.name_,_in,(filebuf *)(_in + local_130),0)" ( (comma_expression "&local_16c.name_,_in,(filebuf *)(_in + local_130),0" (pointer_expression "&local_16c.name_" & (field_expression "local_16c.name_" identifier . field_identifier)) , (comma_expression "_in,(filebuf *)(_in + local_130),0" identifier , (comma_expression "(filebuf *)(_in + local_130),0" (cast_expression "(filebuf *)(_in + local_130)" ( (type_descriptor "filebuf *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(_in + local_130)" ( (binary_expression "_in + local_130" identifier + identifier) ))) , number_literal))) ))) ;)) (expression_statement "local_16c.put_in_sysroot_ = true;" (assignment_expression "local_16c.put_in_sysroot_ = true" (field_expression "local_16c.put_in_sysroot_" identifier . field_identifier) = true) ;) (expression_statement "local_16c.is_in_sysroot_ = false;" (assignment_expression "local_16c.is_in_sysroot_ = false" (field_expression "local_16c.is_in_sysroot_" identifier . field_identifier) = false) ;) (if_statement "if (local_16c.name_._M_string_length == 0) {\n                    /* try { // try from 002c0b1f to 002c0b23 has its CatchHandler @ 002c0eb1 */\n        std::string::_M_replace((string *)&local_16c,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }" if (parenthesized_expression "(local_16c.name_._M_string_length == 0)" ( (binary_expression "local_16c.name_._M_string_length == 0" (field_expression "local_16c.name_._M_string_length" (field_expression "local_16c.name_" identifier . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n                    /* try { // try from 002c0b1f to 002c0b23 has its CatchHandler @ 002c0eb1 */\n        std::string::_M_replace((string *)&local_16c,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }" { comment (labeled_statement "std::string::_M_replace((string *)&local_16c,0,0,(char *)((int)local_1c4 + -0x15ca25),1);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_replace((string *)&local_16c,0,0,(char *)((int)local_1c4 + -0x15ca25),1);" statement_identifier : (ERROR ":" :) (expression_statement "_M_replace((string *)&local_16c,0,0,(char *)((int)local_1c4 + -0x15ca25),1);" (call_expression "_M_replace((string *)&local_16c,0,0,(char *)((int)local_1c4 + -0x15ca25),1)" identifier (argument_list "((string *)&local_16c,0,0,(char *)((int)local_1c4 + -0x15ca25),1)" ( (cast_expression "(string *)&local_16c" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_16c" & identifier)) , number_literal , number_literal , (cast_expression "(char *)((int)local_1c4 + -0x15ca25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_1c4 + -0x15ca25)" ( (binary_expression "(int)local_1c4 + -0x15ca25" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , number_literal ))) ;))) })) (ERROR "iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::" (comma_expression "iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std" (assignment_expression "iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold" (field_expression "iVar5._M_current" identifier . field_identifier) = (binary_expression "(this->library_path_).value.\n           super__Vector_base<gold" (field_expression "(this->library_path_).value.\n           super__Vector_base" (field_expression "(this->library_path_).value" (parenthesized_expression "(this->library_path_)" ( (field_expression "this->library_path_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier)) (ERROR "::Search_directory" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Search_directory>_>.\n           _M_impl._M_finish;" (field_expression "Search_directory>_>.\n           _M_impl._M_finish" (field_expression "Search_directory>_>.\n           _M_impl" (binary_expression "Search_directory>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0b6b to 002c0b6f has its CatchHandler @ 002c0e9c */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_16c);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c079b to 002c079f has its CatchHandler @ 002c0e9c */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_16c.name_._M_dataplus._M_p,\n                            local_16c.name_._M_dataplus._M_p + local_16c.name_._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = local_16c.put_in_sysroot_;\n        (iVar5._M_current)->is_in_sysroot_ = local_16c.is_in_sysroot_;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }" if (parenthesized_expression "(iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage)" ( (ERROR "iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::" (comma_expression "iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std" (binary_expression "iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold" (field_expression "iVar5._M_current" identifier . field_identifier) == (binary_expression "(this->library_path_).value.\n          super__Vector_base<gold" (field_expression "(this->library_path_).value.\n          super__Vector_base" (field_expression "(this->library_path_).value" (parenthesized_expression "(this->library_path_)" ( (field_expression "this->library_path_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier)) (ERROR "::Search_directory" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (field_expression "Search_directory>_>.\n          _M_impl._M_end_of_storage" (field_expression "Search_directory>_>.\n          _M_impl" (binary_expression "Search_directory>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n                    /* try { // try from 002c0b6b to 002c0b6f has its CatchHandler @ 002c0e9c */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_16c);\n      }" { comment (labeled_statement "std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,&local_16c);" statement_identifier (ERROR "::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold:" : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Search_directory,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Search_directory>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (expression_statement "Search_directory&>(local_1d8,iVar5,&local_16c);" (binary_expression "Search_directory&>(local_1d8,iVar5,&local_16c)" identifier (ERROR "&" &) > (parenthesized_expression "(local_1d8,iVar5,&local_16c)" ( (comma_expression "local_1d8,iVar5,&local_16c" identifier , (comma_expression "iVar5,&local_16c" identifier , (pointer_expression "&local_16c" & identifier))) ))) ;)) }) (else_clause "else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c079b to 002c079f has its CatchHandler @ 002c0e9c */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_16c.name_._M_dataplus._M_p,\n                            local_16c.name_._M_dataplus._M_p + local_16c.name_._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = local_16c.put_in_sysroot_;\n        (iVar5._M_current)->is_in_sysroot_ = local_16c.is_in_sysroot_;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }" else (compound_statement "{\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c079b to 002c079f has its CatchHandler @ 002c0e9c */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_16c.name_._M_dataplus._M_p,\n                            local_16c.name_._M_dataplus._M_p + local_16c.name_._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = local_16c.put_in_sysroot_;\n        (iVar5._M_current)->is_in_sysroot_ = local_16c.is_in_sysroot_;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }" { (expression_statement "((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;" (assignment_expression "((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2" (field_expression "((iVar5._M_current)->name_)._M_dataplus._M_p" (field_expression "((iVar5._M_current)->name_)._M_dataplus" (parenthesized_expression "((iVar5._M_current)->name_)" ( (field_expression "(iVar5._M_current)->name_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "(pointer)&((iVar5._M_current)->name_).field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "((iVar5._M_current)->name_).field_2" (parenthesized_expression "((iVar5._M_current)->name_)" ( (field_expression "(iVar5._M_current)->name_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier))) ;) comment (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,local_16c.name_._M_dataplus._M_p,\n                            local_16c.name_._M_dataplus._M_p + local_16c.name_._M_string_length,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*>(&(iVar5._M_current)->name_,local_16c.name_._M_dataplus._M_p,\n                            local_16c.name_._M_dataplus._M_p + local_16c.name_._M_string_length,0);" (binary_expression "_M_construct<char*>(&(iVar5._M_current)->name_,local_16c.name_._M_dataplus._M_p,\n                            local_16c.name_._M_dataplus._M_p + local_16c.name_._M_string_length,0)" (binary_expression "_M_construct<char" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&(iVar5._M_current)->name_,local_16c.name_._M_dataplus._M_p,\n                            local_16c.name_._M_dataplus._M_p + local_16c.name_._M_string_length,0)" ( (comma_expression "&(iVar5._M_current)->name_,local_16c.name_._M_dataplus._M_p,\n                            local_16c.name_._M_dataplus._M_p + local_16c.name_._M_string_length,0" (pointer_expression "&(iVar5._M_current)->name_" & (field_expression "(iVar5._M_current)->name_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier)) , (comma_expression "local_16c.name_._M_dataplus._M_p,\n                            local_16c.name_._M_dataplus._M_p + local_16c.name_._M_string_length,0" (field_expression "local_16c.name_._M_dataplus._M_p" (field_expression "local_16c.name_._M_dataplus" (field_expression "local_16c.name_" identifier . field_identifier) . field_identifier) . field_identifier) , (comma_expression "local_16c.name_._M_dataplus._M_p + local_16c.name_._M_string_length,0" (binary_expression "local_16c.name_._M_dataplus._M_p + local_16c.name_._M_string_length" (field_expression "local_16c.name_._M_dataplus._M_p" (field_expression "local_16c.name_._M_dataplus" (field_expression "local_16c.name_" identifier . field_identifier) . field_identifier) . field_identifier) + (field_expression "local_16c.name_._M_string_length" (field_expression "local_16c.name_" identifier . field_identifier) . field_identifier)) , number_literal))) ))) ;)) (expression_statement "(iVar5._M_current)->put_in_sysroot_ = local_16c.put_in_sysroot_;" (assignment_expression "(iVar5._M_current)->put_in_sysroot_ = local_16c.put_in_sysroot_" (field_expression "(iVar5._M_current)->put_in_sysroot_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) = (field_expression "local_16c.put_in_sysroot_" identifier . field_identifier)) ;) (expression_statement "(iVar5._M_current)->is_in_sysroot_ = local_16c.is_in_sysroot_;" (assignment_expression "(iVar5._M_current)->is_in_sysroot_ = local_16c.is_in_sysroot_" (field_expression "(iVar5._M_current)->is_in_sysroot_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) = (field_expression "local_16c.is_in_sysroot_" identifier . field_identifier)) ;) (ERROR "ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::" (comma_expression "ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std" (assignment_expression "ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold" identifier = (binary_expression "&(this->library_path_).value.\n                   super__Vector_base<gold" (pointer_expression "&(this->library_path_).value.\n                   super__Vector_base" & (field_expression "(this->library_path_).value.\n                   super__Vector_base" (field_expression "(this->library_path_).value" (parenthesized_expression "(this->library_path_)" ( (field_expression "this->library_path_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) < identifier)) (ERROR "::Search_directory" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Search_directory>_>\n                   ._M_impl._M_finish;" (field_expression "Search_directory>_>\n                   ._M_impl._M_finish" (field_expression "Search_directory>_>\n                   ._M_impl" (binary_expression "Search_directory>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "*ppSVar1 = *ppSVar1 + 1;" (assignment_expression "*ppSVar1 = *ppSVar1 + 1" (pointer_expression "*ppSVar1" * identifier) = (binary_expression "*ppSVar1 + 1" (pointer_expression "*ppSVar1" * identifier) + number_literal)) ;) }))) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_16c.name_._M_dataplus._M_p != paVar2) {\n        operator_delete(local_16c.name_._M_dataplus._M_p);\n      }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_16c.name_._M_dataplus._M_p != paVar2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_16c.name_._M_dataplus._M_p != paVar2)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n           *)local_16c.name_._M_dataplus._M_p != paVar2" (binary_expression "allocator<char>_>_9\n           *)local_16c.name_._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n           *)local_16c.name_._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "local_16c.name_._M_dataplus._M_p" (field_expression "local_16c.name_._M_dataplus" (field_expression "local_16c.name_" identifier . field_identifier) . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n        operator_delete(local_16c.name_._M_dataplus._M_p);\n      }" { (expression_statement "operator_delete(local_16c.name_._M_dataplus._M_p);" (call_expression "operator_delete(local_16c.name_._M_dataplus._M_p)" identifier (argument_list "(local_16c.name_._M_dataplus._M_p)" ( (field_expression "local_16c.name_._M_dataplus._M_p" (field_expression "local_16c.name_._M_dataplus" (field_expression "local_16c.name_" identifier . field_identifier) . field_identifier) . field_identifier) ))) ;) })) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n           *)_in != local_1dc" (binary_expression "allocator<char>_>_9\n           *)_in" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n           *)_in" identifier * (ERROR ")" )) identifier)) != identifier) )) )) (compound_statement "{\n        operator_delete(_in);\n      }" { (expression_statement "operator_delete(_in);" (call_expression "operator_delete(_in)" identifier (argument_list "(_in)" ( identifier ))) ;) })) (expression_statement "_in = (pointer)local_1dc;" (assignment_expression "_in = (pointer)local_1dc" identifier = (cast_expression "(pointer)local_1dc" ( (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*>\n                (&local_1d0->name_,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,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                (&local_1d0->name_,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);" (binary_expression "_M_construct<char_const*>\n                (&local_1d0->name_,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&local_1d0->name_,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0)" ( (comma_expression "&local_1d0->name_,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0" (pointer_expression "&local_1d0->name_" & (field_expression "local_1d0->name_" identifier -> field_identifier)) , (comma_expression "(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0" (binary_expression "(int)local_1c4 + -0x15ba15" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , (comma_expression "(int)local_1c4 + -0x15ba0d,0" (binary_expression "(int)local_1c4 + -0x15ba0d" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal))) ))) ;)) (expression_statement "local_1e0 = &line.field_2;" (assignment_expression "local_1e0 = &line.field_2" identifier = (pointer_expression "&line.field_2" & (field_expression "line.field_2" identifier . field_identifier))) ;) (expression_statement "local_1cc = (double)CONCAT44(local_1cc._4_4_,&line);" (assignment_expression "local_1cc = (double)CONCAT44(local_1cc._4_4_,&line)" identifier = (cast_expression "(double)CONCAT44(local_1cc._4_4_,&line)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(local_1cc._4_4_,&line)" identifier (argument_list "(local_1cc._4_4_,&line)" ( (field_expression "local_1cc._4_4_" identifier . field_identifier) , (pointer_expression "&line" & identifier) ))))) ;) (expression_statement "line._M_dataplus._M_p = (pointer)local_1e0;" (assignment_expression "line._M_dataplus._M_p = (pointer)local_1e0" (field_expression "line._M_dataplus._M_p" (field_expression "line._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)local_1e0" ( (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*>(&line,_in,(filebuf *)(_in + local_130),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*>(&line,_in,(filebuf *)(_in + local_130),0);" (binary_expression "_M_construct<char*>(&line,_in,(filebuf *)(_in + local_130),0)" (binary_expression "_M_construct<char" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&line,_in,(filebuf *)(_in + local_130),0)" ( (comma_expression "&line,_in,(filebuf *)(_in + local_130),0" (pointer_expression "&line" & identifier) , (comma_expression "_in,(filebuf *)(_in + local_130),0" identifier , (comma_expression "(filebuf *)(_in + local_130),0" (cast_expression "(filebuf *)(_in + local_130)" ( (type_descriptor "filebuf *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(_in + local_130)" ( (binary_expression "_in + local_130" identifier + identifier) ))) , number_literal))) ))) ;)) (if_statement "if (line._M_string_length == 0) {\n                    /* try { // try from 002c0b4c to 002c0b50 has its CatchHandler @ 002c0eaa */\n        std::string::_M_replace\n                  ((string *)local_1cc._0_4_,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }" if (parenthesized_expression "(line._M_string_length == 0)" ( (binary_expression "line._M_string_length == 0" (field_expression "line._M_string_length" identifier . field_identifier) == number_literal) )) (compound_statement "{\n                    /* try { // try from 002c0b4c to 002c0b50 has its CatchHandler @ 002c0eaa */\n        std::string::_M_replace\n                  ((string *)local_1cc._0_4_,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n      }" { comment (labeled_statement "std::string::_M_replace\n                  ((string *)local_1cc._0_4_,0,0,(char *)((int)local_1c4 + -0x15ca25),1);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_replace\n                  ((string *)local_1cc._0_4_,0,0,(char *)((int)local_1c4 + -0x15ca25),1);" statement_identifier : (ERROR ":" :) (expression_statement "_M_replace\n                  ((string *)local_1cc._0_4_,0,0,(char *)((int)local_1c4 + -0x15ca25),1);" (call_expression "_M_replace\n                  ((string *)local_1cc._0_4_,0,0,(char *)((int)local_1c4 + -0x15ca25),1)" identifier (argument_list "((string *)local_1cc._0_4_,0,0,(char *)((int)local_1c4 + -0x15ca25),1)" ( (cast_expression "(string *)local_1cc._0_4_" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_1cc._0_4_" identifier . field_identifier)) , number_literal , number_literal , (cast_expression "(char *)((int)local_1c4 + -0x15ca25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_1c4 + -0x15ca25)" ( (binary_expression "(int)local_1c4 + -0x15ca25" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , number_literal ))) ;))) })) (ERROR "iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std::allocator<gold::" (comma_expression "iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold::Search_directory,_std" (assignment_expression "iVar5._M_current =\n           (this->library_path_).value.\n           super__Vector_base<gold" (field_expression "iVar5._M_current" identifier . field_identifier) = (binary_expression "(this->library_path_).value.\n           super__Vector_base<gold" (field_expression "(this->library_path_).value.\n           super__Vector_base" (field_expression "(this->library_path_).value" (parenthesized_expression "(this->library_path_)" ( (field_expression "this->library_path_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier)) (ERROR "::Search_directory" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Search_directory>_>.\n           _M_impl._M_finish;" (field_expression "Search_directory>_>.\n           _M_impl._M_finish" (field_expression "Search_directory>_>.\n           _M_impl" (binary_expression "Search_directory>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0bb0 to 002c0bb4 has its CatchHandler @ 002c0e64 */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,local_1cc._0_4_);\n      }\n      else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c08ad to 002c08b1 has its CatchHandler @ 002c0e64 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,line._M_dataplus._M_p,\n                            line._M_dataplus._M_p + line._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = true;\n        (iVar5._M_current)->is_in_sysroot_ = false;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }" if (parenthesized_expression "(iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_end_of_storage)" ( (ERROR "iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::" (comma_expression "iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold::Search_directory,_std" (binary_expression "iVar5._M_current ==\n          (this->library_path_).value.\n          super__Vector_base<gold" (field_expression "iVar5._M_current" identifier . field_identifier) == (binary_expression "(this->library_path_).value.\n          super__Vector_base<gold" (field_expression "(this->library_path_).value.\n          super__Vector_base" (field_expression "(this->library_path_).value" (parenthesized_expression "(this->library_path_)" ( (field_expression "this->library_path_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier)) (ERROR "::Search_directory" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (field_expression "Search_directory>_>.\n          _M_impl._M_end_of_storage" (field_expression "Search_directory>_>.\n          _M_impl" (binary_expression "Search_directory>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n                    /* try { // try from 002c0bb0 to 002c0bb4 has its CatchHandler @ 002c0e64 */\n        std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,local_1cc._0_4_);\n      }" { comment (labeled_statement "std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold::Search_directory&>(local_1d8,iVar5,local_1cc._0_4_);" statement_identifier (ERROR "::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n        _M_realloc_insert<const_gold:" : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Search_directory,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Search_directory>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (expression_statement "Search_directory&>(local_1d8,iVar5,local_1cc._0_4_);" (binary_expression "Search_directory&>(local_1d8,iVar5,local_1cc._0_4_)" identifier (ERROR "&" &) > (parenthesized_expression "(local_1d8,iVar5,local_1cc._0_4_)" ( (comma_expression "local_1d8,iVar5,local_1cc._0_4_" identifier , (comma_expression "iVar5,local_1cc._0_4_" identifier , (field_expression "local_1cc._0_4_" identifier . field_identifier))) ))) ;)) }) (else_clause "else {\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c08ad to 002c08b1 has its CatchHandler @ 002c0e64 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,line._M_dataplus._M_p,\n                            line._M_dataplus._M_p + line._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = true;\n        (iVar5._M_current)->is_in_sysroot_ = false;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }" else (compound_statement "{\n        ((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;\n                    /* try { // try from 002c08ad to 002c08b1 has its CatchHandler @ 002c0e64 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,line._M_dataplus._M_p,\n                            line._M_dataplus._M_p + line._M_string_length,0);\n        (iVar5._M_current)->put_in_sysroot_ = true;\n        (iVar5._M_current)->is_in_sysroot_ = false;\n        ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                   ._M_impl._M_finish;\n        *ppSVar1 = *ppSVar1 + 1;\n      }" { (expression_statement "((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2\n        ;" (assignment_expression "((iVar5._M_current)->name_)._M_dataplus._M_p = (pointer)&((iVar5._M_current)->name_).field_2" (field_expression "((iVar5._M_current)->name_)._M_dataplus._M_p" (field_expression "((iVar5._M_current)->name_)._M_dataplus" (parenthesized_expression "((iVar5._M_current)->name_)" ( (field_expression "(iVar5._M_current)->name_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "(pointer)&((iVar5._M_current)->name_).field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "((iVar5._M_current)->name_).field_2" (parenthesized_expression "((iVar5._M_current)->name_)" ( (field_expression "(iVar5._M_current)->name_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier))) ;) comment (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(&(iVar5._M_current)->name_,line._M_dataplus._M_p,\n                            line._M_dataplus._M_p + line._M_string_length,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*>(&(iVar5._M_current)->name_,line._M_dataplus._M_p,\n                            line._M_dataplus._M_p + line._M_string_length,0);" (binary_expression "_M_construct<char*>(&(iVar5._M_current)->name_,line._M_dataplus._M_p,\n                            line._M_dataplus._M_p + line._M_string_length,0)" (binary_expression "_M_construct<char" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&(iVar5._M_current)->name_,line._M_dataplus._M_p,\n                            line._M_dataplus._M_p + line._M_string_length,0)" ( (comma_expression "&(iVar5._M_current)->name_,line._M_dataplus._M_p,\n                            line._M_dataplus._M_p + line._M_string_length,0" (pointer_expression "&(iVar5._M_current)->name_" & (field_expression "(iVar5._M_current)->name_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier)) , (comma_expression "line._M_dataplus._M_p,\n                            line._M_dataplus._M_p + line._M_string_length,0" (field_expression "line._M_dataplus._M_p" (field_expression "line._M_dataplus" identifier . field_identifier) . field_identifier) , (comma_expression "line._M_dataplus._M_p + line._M_string_length,0" (binary_expression "line._M_dataplus._M_p + line._M_string_length" (field_expression "line._M_dataplus._M_p" (field_expression "line._M_dataplus" identifier . field_identifier) . field_identifier) + (field_expression "line._M_string_length" identifier . field_identifier)) , number_literal))) ))) ;)) (expression_statement "(iVar5._M_current)->put_in_sysroot_ = true;" (assignment_expression "(iVar5._M_current)->put_in_sysroot_ = true" (field_expression "(iVar5._M_current)->put_in_sysroot_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) = true) ;) (expression_statement "(iVar5._M_current)->is_in_sysroot_ = false;" (assignment_expression "(iVar5._M_current)->is_in_sysroot_ = false" (field_expression "(iVar5._M_current)->is_in_sysroot_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) = false) ;) (ERROR "ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std::allocator<gold::" (comma_expression "ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold::Search_directory,_std" (assignment_expression "ppSVar1 = &(this->library_path_).value.\n                   super__Vector_base<gold" identifier = (binary_expression "&(this->library_path_).value.\n                   super__Vector_base<gold" (pointer_expression "&(this->library_path_).value.\n                   super__Vector_base" & (field_expression "(this->library_path_).value.\n                   super__Vector_base" (field_expression "(this->library_path_).value" (parenthesized_expression "(this->library_path_)" ( (field_expression "this->library_path_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) < identifier)) (ERROR "::Search_directory" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Search_directory>_>\n                   ._M_impl._M_finish;" (field_expression "Search_directory>_>\n                   ._M_impl._M_finish" (field_expression "Search_directory>_>\n                   ._M_impl" (binary_expression "Search_directory>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "*ppSVar1 = *ppSVar1 + 1;" (assignment_expression "*ppSVar1 = *ppSVar1 + 1" (pointer_expression "*ppSVar1" * identifier) = (binary_expression "*ppSVar1 + 1" (pointer_expression "*ppSVar1" * identifier) + number_literal)) ;) }))) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)line._M_dataplus._M_p != local_1e0) {\n        operator_delete(line._M_dataplus._M_p);\n      }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)line._M_dataplus._M_p != local_1e0)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)line._M_dataplus._M_p != local_1e0)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n           *)line._M_dataplus._M_p != local_1e0" (binary_expression "allocator<char>_>_9\n           *)line._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n           *)line._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "line._M_dataplus._M_p" (field_expression "line._M_dataplus" identifier . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n        operator_delete(line._M_dataplus._M_p);\n      }" { (expression_statement "operator_delete(line._M_dataplus._M_p);" (call_expression "operator_delete(line._M_dataplus._M_p)" identifier (argument_list "(line._M_dataplus._M_p)" ( (field_expression "line._M_dataplus._M_p" (field_expression "line._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) })) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc) {\n        operator_delete(_in);\n      }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)_in != local_1dc)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n           *)_in != local_1dc" (binary_expression "allocator<char>_>_9\n           *)_in" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n           *)_in" identifier * (ERROR ")" )) identifier)) != identifier) )) )) (compound_statement "{\n        operator_delete(_in);\n      }" { (expression_statement "operator_delete(_in);" (call_expression "operator_delete(_in)" identifier (argument_list "(_in)" ( identifier ))) ;) })) (goto_statement "goto LAB_002c0258;" goto statement_identifier ;) })) }) (else_clause "else {\n    pcVar15 = (this->Y_).value;\n    sVar13 = strlen(pcVar15);\n    psVar6 = local_1d4;\n                    /* try { // try from 002c022e to 002c02de has its CatchHandler @ 002c0e87 */\n    std::string::_M_replace((string *)local_1d4,0,0,pcVar15,sVar13);\n    iVar18 = std::string::compare((uint)psVar6,0,(char *)0x2);\n    if (iVar18 == 0) {\n                    /* try { // try from 002c0acd to 002c0ad1 has its CatchHandler @ 002c0e87 */\n      std::string::_M_erase((uint)local_1d4,0);\n    }\nLAB_002c0258:\n    uVar31 = 0;\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&line);\n    if (libpath._M_string_length != 0) {\n      do {\n        iVar18 = std::string::find((char)local_1d4,0x3a);\n        uVar20 = 0xffffffff;\n        if ((iVar18 == -1) || (uVar20 = iVar18 - uVar31, uVar20 != 0)) {\n          if (libpath._M_string_length < uVar31) {\n                    /* WARNING: Subroutine does not return */\n            std::__throw_out_of_range_fmt\n                      ((char *)(local_1c4 + -0x58f98),(int)local_1c4 + -0x1641fb,uVar31,\n                       libpath._M_string_length);\n          }\n          local_1e0 = &line.field_2;\n          uVar14 = libpath._M_string_length - uVar31;\n          if (uVar20 < libpath._M_string_length - uVar31) {\n            uVar14 = uVar20;\n          }\n          line._M_dataplus._M_p = (pointer)local_1e0;\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char_const*>\n                    (&(local_1cc._0_4_)->name_,libpath._M_dataplus._M_p + uVar31,\n                     libpath._M_dataplus._M_p + uVar31 + uVar14,0);\n          local_1dc = &local_12c;\n          local_1d0 = (Search_directory *)&in;\n          _in = (pointer)local_1dc;\n                    /* try { // try from 002c0313 to 002c0317 has its CatchHandler @ 002c0ea3 */\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>_> *)\n                              local_1d0,line._M_dataplus._M_p,\n                              line._M_dataplus._M_p + line._M_string_length,0);\n          local_11c._0_1_ = true;\n          local_11c._1_1_ = false;\n          if (local_130 == 0) {\n                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */\n            std::string::_M_replace((string *)local_1d0,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n          }\n          iVar5._M_current =\n               (this->library_path_).value.\n               super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n               _M_impl._M_finish;\n          if (iVar5._M_current ==\n              (this->library_path_).value.\n              super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n              _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */\n            std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n            _M_realloc_insert<const_gold::Search_directory&>\n                      (&(this->library_path_).value,iVar5,local_1d0);\n          }\n          else {\n            ((iVar5._M_current)->name_)._M_dataplus._M_p =\n                 (pointer)&((iVar5._M_current)->name_).field_2;\n                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */\n            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>(&(iVar5._M_current)->name_,_in,(filebuf *)(_in + local_130),0);\n            (iVar5._M_current)->put_in_sysroot_ = local_11c._0_1_;\n            (iVar5._M_current)->is_in_sysroot_ = local_11c._1_1_;\n            ppSVar1 = &(this->library_path_).value.\n                       super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                       ._M_impl._M_finish;\n            *ppSVar1 = *ppSVar1 + 1;\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_in != local_1dc) {\n            operator_delete(_in);\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)line._M_dataplus._M_p != local_1e0) {\n            operator_delete(line._M_dataplus._M_p);\n          }\n          if (iVar18 == -1) break;\n        }\n        uVar31 = iVar18 + 1;\n      } while( true );\n    }\n  }" else (compound_statement "{\n    pcVar15 = (this->Y_).value;\n    sVar13 = strlen(pcVar15);\n    psVar6 = local_1d4;\n                    /* try { // try from 002c022e to 002c02de has its CatchHandler @ 002c0e87 */\n    std::string::_M_replace((string *)local_1d4,0,0,pcVar15,sVar13);\n    iVar18 = std::string::compare((uint)psVar6,0,(char *)0x2);\n    if (iVar18 == 0) {\n                    /* try { // try from 002c0acd to 002c0ad1 has its CatchHandler @ 002c0e87 */\n      std::string::_M_erase((uint)local_1d4,0);\n    }\nLAB_002c0258:\n    uVar31 = 0;\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&line);\n    if (libpath._M_string_length != 0) {\n      do {\n        iVar18 = std::string::find((char)local_1d4,0x3a);\n        uVar20 = 0xffffffff;\n        if ((iVar18 == -1) || (uVar20 = iVar18 - uVar31, uVar20 != 0)) {\n          if (libpath._M_string_length < uVar31) {\n                    /* WARNING: Subroutine does not return */\n            std::__throw_out_of_range_fmt\n                      ((char *)(local_1c4 + -0x58f98),(int)local_1c4 + -0x1641fb,uVar31,\n                       libpath._M_string_length);\n          }\n          local_1e0 = &line.field_2;\n          uVar14 = libpath._M_string_length - uVar31;\n          if (uVar20 < libpath._M_string_length - uVar31) {\n            uVar14 = uVar20;\n          }\n          line._M_dataplus._M_p = (pointer)local_1e0;\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char_const*>\n                    (&(local_1cc._0_4_)->name_,libpath._M_dataplus._M_p + uVar31,\n                     libpath._M_dataplus._M_p + uVar31 + uVar14,0);\n          local_1dc = &local_12c;\n          local_1d0 = (Search_directory *)&in;\n          _in = (pointer)local_1dc;\n                    /* try { // try from 002c0313 to 002c0317 has its CatchHandler @ 002c0ea3 */\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>_> *)\n                              local_1d0,line._M_dataplus._M_p,\n                              line._M_dataplus._M_p + line._M_string_length,0);\n          local_11c._0_1_ = true;\n          local_11c._1_1_ = false;\n          if (local_130 == 0) {\n                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */\n            std::string::_M_replace((string *)local_1d0,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n          }\n          iVar5._M_current =\n               (this->library_path_).value.\n               super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n               _M_impl._M_finish;\n          if (iVar5._M_current ==\n              (this->library_path_).value.\n              super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n              _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */\n            std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n            _M_realloc_insert<const_gold::Search_directory&>\n                      (&(this->library_path_).value,iVar5,local_1d0);\n          }\n          else {\n            ((iVar5._M_current)->name_)._M_dataplus._M_p =\n                 (pointer)&((iVar5._M_current)->name_).field_2;\n                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */\n            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>(&(iVar5._M_current)->name_,_in,(filebuf *)(_in + local_130),0);\n            (iVar5._M_current)->put_in_sysroot_ = local_11c._0_1_;\n            (iVar5._M_current)->is_in_sysroot_ = local_11c._1_1_;\n            ppSVar1 = &(this->library_path_).value.\n                       super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                       ._M_impl._M_finish;\n            *ppSVar1 = *ppSVar1 + 1;\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_in != local_1dc) {\n            operator_delete(_in);\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)line._M_dataplus._M_p != local_1e0) {\n            operator_delete(line._M_dataplus._M_p);\n          }\n          if (iVar18 == -1) break;\n        }\n        uVar31 = iVar18 + 1;\n      } while( true );\n    }\n  }" { (expression_statement "pcVar15 = (this->Y_).value;" (assignment_expression "pcVar15 = (this->Y_).value" identifier = (field_expression "(this->Y_).value" (parenthesized_expression "(this->Y_)" ( (field_expression "this->Y_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "sVar13 = strlen(pcVar15);" (assignment_expression "sVar13 = strlen(pcVar15)" identifier = (call_expression "strlen(pcVar15)" identifier (argument_list "(pcVar15)" ( identifier )))) ;) (expression_statement "psVar6 = local_1d4;" (assignment_expression "psVar6 = local_1d4" identifier = identifier) ;) comment (labeled_statement "std::string::_M_replace((string *)local_1d4,0,0,pcVar15,sVar13);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_replace((string *)local_1d4,0,0,pcVar15,sVar13);" statement_identifier : (ERROR ":" :) (expression_statement "_M_replace((string *)local_1d4,0,0,pcVar15,sVar13);" (call_expression "_M_replace((string *)local_1d4,0,0,pcVar15,sVar13)" identifier (argument_list "((string *)local_1d4,0,0,pcVar15,sVar13)" ( (cast_expression "(string *)local_1d4" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , number_literal , number_literal , identifier , identifier ))) ;))) (ERROR "iVar18 = std::" (assignment_expression "iVar18 = std" identifier = identifier) : :) (labeled_statement "string::compare((uint)psVar6,0,(char *)0x2);" statement_identifier : (ERROR ":" :) (expression_statement "compare((uint)psVar6,0,(char *)0x2);" (call_expression "compare((uint)psVar6,0,(char *)0x2)" identifier (argument_list "((uint)psVar6,0,(char *)0x2)" ( (cast_expression "(uint)psVar6" ( (type_descriptor "uint" type_identifier) ) identifier) , number_literal , (cast_expression "(char *)0x2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;)) (if_statement "if (iVar18 == 0) {\n                    /* try { // try from 002c0acd to 002c0ad1 has its CatchHandler @ 002c0e87 */\n      std::string::_M_erase((uint)local_1d4,0);\n    }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* try { // try from 002c0acd to 002c0ad1 has its CatchHandler @ 002c0e87 */\n      std::string::_M_erase((uint)local_1d4,0);\n    }" { comment (labeled_statement "std::string::_M_erase((uint)local_1d4,0);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_erase((uint)local_1d4,0);" statement_identifier : (ERROR ":" :) (expression_statement "_M_erase((uint)local_1d4,0);" (call_expression "_M_erase((uint)local_1d4,0)" identifier (argument_list "((uint)local_1d4,0)" ( (cast_expression "(uint)local_1d4" ( (type_descriptor "uint" type_identifier) ) identifier) , number_literal ))) ;))) })) (labeled_statement "LAB_002c0258:\n    uVar31 = 0;" statement_identifier : (expression_statement "uVar31 = 0;" (assignment_expression "uVar31 = 0" identifier = number_literal) ;)) (expression_statement "local_1cc = (double)CONCAT44(local_1cc._4_4_,&line);" (assignment_expression "local_1cc = (double)CONCAT44(local_1cc._4_4_,&line)" identifier = (cast_expression "(double)CONCAT44(local_1cc._4_4_,&line)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(local_1cc._4_4_,&line)" identifier (argument_list "(local_1cc._4_4_,&line)" ( (field_expression "local_1cc._4_4_" identifier . field_identifier) , (pointer_expression "&line" & identifier) ))))) ;) (if_statement "if (libpath._M_string_length != 0) {\n      do {\n        iVar18 = std::string::find((char)local_1d4,0x3a);\n        uVar20 = 0xffffffff;\n        if ((iVar18 == -1) || (uVar20 = iVar18 - uVar31, uVar20 != 0)) {\n          if (libpath._M_string_length < uVar31) {\n                    /* WARNING: Subroutine does not return */\n            std::__throw_out_of_range_fmt\n                      ((char *)(local_1c4 + -0x58f98),(int)local_1c4 + -0x1641fb,uVar31,\n                       libpath._M_string_length);\n          }\n          local_1e0 = &line.field_2;\n          uVar14 = libpath._M_string_length - uVar31;\n          if (uVar20 < libpath._M_string_length - uVar31) {\n            uVar14 = uVar20;\n          }\n          line._M_dataplus._M_p = (pointer)local_1e0;\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char_const*>\n                    (&(local_1cc._0_4_)->name_,libpath._M_dataplus._M_p + uVar31,\n                     libpath._M_dataplus._M_p + uVar31 + uVar14,0);\n          local_1dc = &local_12c;\n          local_1d0 = (Search_directory *)&in;\n          _in = (pointer)local_1dc;\n                    /* try { // try from 002c0313 to 002c0317 has its CatchHandler @ 002c0ea3 */\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>_> *)\n                              local_1d0,line._M_dataplus._M_p,\n                              line._M_dataplus._M_p + line._M_string_length,0);\n          local_11c._0_1_ = true;\n          local_11c._1_1_ = false;\n          if (local_130 == 0) {\n                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */\n            std::string::_M_replace((string *)local_1d0,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n          }\n          iVar5._M_current =\n               (this->library_path_).value.\n               super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n               _M_impl._M_finish;\n          if (iVar5._M_current ==\n              (this->library_path_).value.\n              super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n              _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */\n            std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n            _M_realloc_insert<const_gold::Search_directory&>\n                      (&(this->library_path_).value,iVar5,local_1d0);\n          }\n          else {\n            ((iVar5._M_current)->name_)._M_dataplus._M_p =\n                 (pointer)&((iVar5._M_current)->name_).field_2;\n                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */\n            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>(&(iVar5._M_current)->name_,_in,(filebuf *)(_in + local_130),0);\n            (iVar5._M_current)->put_in_sysroot_ = local_11c._0_1_;\n            (iVar5._M_current)->is_in_sysroot_ = local_11c._1_1_;\n            ppSVar1 = &(this->library_path_).value.\n                       super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                       ._M_impl._M_finish;\n            *ppSVar1 = *ppSVar1 + 1;\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_in != local_1dc) {\n            operator_delete(_in);\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)line._M_dataplus._M_p != local_1e0) {\n            operator_delete(line._M_dataplus._M_p);\n          }\n          if (iVar18 == -1) break;\n        }\n        uVar31 = iVar18 + 1;\n      } while( true );\n    }" if (parenthesized_expression "(libpath._M_string_length != 0)" ( (binary_expression "libpath._M_string_length != 0" (field_expression "libpath._M_string_length" identifier . field_identifier) != number_literal) )) (compound_statement "{\n      do {\n        iVar18 = std::string::find((char)local_1d4,0x3a);\n        uVar20 = 0xffffffff;\n        if ((iVar18 == -1) || (uVar20 = iVar18 - uVar31, uVar20 != 0)) {\n          if (libpath._M_string_length < uVar31) {\n                    /* WARNING: Subroutine does not return */\n            std::__throw_out_of_range_fmt\n                      ((char *)(local_1c4 + -0x58f98),(int)local_1c4 + -0x1641fb,uVar31,\n                       libpath._M_string_length);\n          }\n          local_1e0 = &line.field_2;\n          uVar14 = libpath._M_string_length - uVar31;\n          if (uVar20 < libpath._M_string_length - uVar31) {\n            uVar14 = uVar20;\n          }\n          line._M_dataplus._M_p = (pointer)local_1e0;\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char_const*>\n                    (&(local_1cc._0_4_)->name_,libpath._M_dataplus._M_p + uVar31,\n                     libpath._M_dataplus._M_p + uVar31 + uVar14,0);\n          local_1dc = &local_12c;\n          local_1d0 = (Search_directory *)&in;\n          _in = (pointer)local_1dc;\n                    /* try { // try from 002c0313 to 002c0317 has its CatchHandler @ 002c0ea3 */\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>_> *)\n                              local_1d0,line._M_dataplus._M_p,\n                              line._M_dataplus._M_p + line._M_string_length,0);\n          local_11c._0_1_ = true;\n          local_11c._1_1_ = false;\n          if (local_130 == 0) {\n                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */\n            std::string::_M_replace((string *)local_1d0,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n          }\n          iVar5._M_current =\n               (this->library_path_).value.\n               super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n               _M_impl._M_finish;\n          if (iVar5._M_current ==\n              (this->library_path_).value.\n              super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n              _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */\n            std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n            _M_realloc_insert<const_gold::Search_directory&>\n                      (&(this->library_path_).value,iVar5,local_1d0);\n          }\n          else {\n            ((iVar5._M_current)->name_)._M_dataplus._M_p =\n                 (pointer)&((iVar5._M_current)->name_).field_2;\n                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */\n            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>(&(iVar5._M_current)->name_,_in,(filebuf *)(_in + local_130),0);\n            (iVar5._M_current)->put_in_sysroot_ = local_11c._0_1_;\n            (iVar5._M_current)->is_in_sysroot_ = local_11c._1_1_;\n            ppSVar1 = &(this->library_path_).value.\n                       super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                       ._M_impl._M_finish;\n            *ppSVar1 = *ppSVar1 + 1;\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_in != local_1dc) {\n            operator_delete(_in);\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)line._M_dataplus._M_p != local_1e0) {\n            operator_delete(line._M_dataplus._M_p);\n          }\n          if (iVar18 == -1) break;\n        }\n        uVar31 = iVar18 + 1;\n      } while( true );\n    }" { (do_statement "do {\n        iVar18 = std::string::find((char)local_1d4,0x3a);\n        uVar20 = 0xffffffff;\n        if ((iVar18 == -1) || (uVar20 = iVar18 - uVar31, uVar20 != 0)) {\n          if (libpath._M_string_length < uVar31) {\n                    /* WARNING: Subroutine does not return */\n            std::__throw_out_of_range_fmt\n                      ((char *)(local_1c4 + -0x58f98),(int)local_1c4 + -0x1641fb,uVar31,\n                       libpath._M_string_length);\n          }\n          local_1e0 = &line.field_2;\n          uVar14 = libpath._M_string_length - uVar31;\n          if (uVar20 < libpath._M_string_length - uVar31) {\n            uVar14 = uVar20;\n          }\n          line._M_dataplus._M_p = (pointer)local_1e0;\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char_const*>\n                    (&(local_1cc._0_4_)->name_,libpath._M_dataplus._M_p + uVar31,\n                     libpath._M_dataplus._M_p + uVar31 + uVar14,0);\n          local_1dc = &local_12c;\n          local_1d0 = (Search_directory *)&in;\n          _in = (pointer)local_1dc;\n                    /* try { // try from 002c0313 to 002c0317 has its CatchHandler @ 002c0ea3 */\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>_> *)\n                              local_1d0,line._M_dataplus._M_p,\n                              line._M_dataplus._M_p + line._M_string_length,0);\n          local_11c._0_1_ = true;\n          local_11c._1_1_ = false;\n          if (local_130 == 0) {\n                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */\n            std::string::_M_replace((string *)local_1d0,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n          }\n          iVar5._M_current =\n               (this->library_path_).value.\n               super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n               _M_impl._M_finish;\n          if (iVar5._M_current ==\n              (this->library_path_).value.\n              super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n              _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */\n            std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n            _M_realloc_insert<const_gold::Search_directory&>\n                      (&(this->library_path_).value,iVar5,local_1d0);\n          }\n          else {\n            ((iVar5._M_current)->name_)._M_dataplus._M_p =\n                 (pointer)&((iVar5._M_current)->name_).field_2;\n                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */\n            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>(&(iVar5._M_current)->name_,_in,(filebuf *)(_in + local_130),0);\n            (iVar5._M_current)->put_in_sysroot_ = local_11c._0_1_;\n            (iVar5._M_current)->is_in_sysroot_ = local_11c._1_1_;\n            ppSVar1 = &(this->library_path_).value.\n                       super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                       ._M_impl._M_finish;\n            *ppSVar1 = *ppSVar1 + 1;\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_in != local_1dc) {\n            operator_delete(_in);\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)line._M_dataplus._M_p != local_1e0) {\n            operator_delete(line._M_dataplus._M_p);\n          }\n          if (iVar18 == -1) break;\n        }\n        uVar31 = iVar18 + 1;\n      } while( true );" do (compound_statement "{\n        iVar18 = std::string::find((char)local_1d4,0x3a);\n        uVar20 = 0xffffffff;\n        if ((iVar18 == -1) || (uVar20 = iVar18 - uVar31, uVar20 != 0)) {\n          if (libpath._M_string_length < uVar31) {\n                    /* WARNING: Subroutine does not return */\n            std::__throw_out_of_range_fmt\n                      ((char *)(local_1c4 + -0x58f98),(int)local_1c4 + -0x1641fb,uVar31,\n                       libpath._M_string_length);\n          }\n          local_1e0 = &line.field_2;\n          uVar14 = libpath._M_string_length - uVar31;\n          if (uVar20 < libpath._M_string_length - uVar31) {\n            uVar14 = uVar20;\n          }\n          line._M_dataplus._M_p = (pointer)local_1e0;\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char_const*>\n                    (&(local_1cc._0_4_)->name_,libpath._M_dataplus._M_p + uVar31,\n                     libpath._M_dataplus._M_p + uVar31 + uVar14,0);\n          local_1dc = &local_12c;\n          local_1d0 = (Search_directory *)&in;\n          _in = (pointer)local_1dc;\n                    /* try { // try from 002c0313 to 002c0317 has its CatchHandler @ 002c0ea3 */\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>_> *)\n                              local_1d0,line._M_dataplus._M_p,\n                              line._M_dataplus._M_p + line._M_string_length,0);\n          local_11c._0_1_ = true;\n          local_11c._1_1_ = false;\n          if (local_130 == 0) {\n                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */\n            std::string::_M_replace((string *)local_1d0,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n          }\n          iVar5._M_current =\n               (this->library_path_).value.\n               super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n               _M_impl._M_finish;\n          if (iVar5._M_current ==\n              (this->library_path_).value.\n              super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n              _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */\n            std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n            _M_realloc_insert<const_gold::Search_directory&>\n                      (&(this->library_path_).value,iVar5,local_1d0);\n          }\n          else {\n            ((iVar5._M_current)->name_)._M_dataplus._M_p =\n                 (pointer)&((iVar5._M_current)->name_).field_2;\n                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */\n            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>(&(iVar5._M_current)->name_,_in,(filebuf *)(_in + local_130),0);\n            (iVar5._M_current)->put_in_sysroot_ = local_11c._0_1_;\n            (iVar5._M_current)->is_in_sysroot_ = local_11c._1_1_;\n            ppSVar1 = &(this->library_path_).value.\n                       super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                       ._M_impl._M_finish;\n            *ppSVar1 = *ppSVar1 + 1;\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_in != local_1dc) {\n            operator_delete(_in);\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)line._M_dataplus._M_p != local_1e0) {\n            operator_delete(line._M_dataplus._M_p);\n          }\n          if (iVar18 == -1) break;\n        }\n        uVar31 = iVar18 + 1;\n      }" { (ERROR "iVar18 = std::" (assignment_expression "iVar18 = std" identifier = identifier) : :) (labeled_statement "string::find((char)local_1d4,0x3a);" statement_identifier : (ERROR ":" :) (expression_statement "find((char)local_1d4,0x3a);" (call_expression "find((char)local_1d4,0x3a)" identifier (argument_list "((char)local_1d4,0x3a)" ( (cast_expression "(char)local_1d4" ( (type_descriptor "char" primitive_type) ) identifier) , number_literal ))) ;)) (expression_statement "uVar20 = 0xffffffff;" (assignment_expression "uVar20 = 0xffffffff" identifier = number_literal) ;) (if_statement "if ((iVar18 == -1) || (uVar20 = iVar18 - uVar31, uVar20 != 0)) {\n          if (libpath._M_string_length < uVar31) {\n                    /* WARNING: Subroutine does not return */\n            std::__throw_out_of_range_fmt\n                      ((char *)(local_1c4 + -0x58f98),(int)local_1c4 + -0x1641fb,uVar31,\n                       libpath._M_string_length);\n          }\n          local_1e0 = &line.field_2;\n          uVar14 = libpath._M_string_length - uVar31;\n          if (uVar20 < libpath._M_string_length - uVar31) {\n            uVar14 = uVar20;\n          }\n          line._M_dataplus._M_p = (pointer)local_1e0;\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char_const*>\n                    (&(local_1cc._0_4_)->name_,libpath._M_dataplus._M_p + uVar31,\n                     libpath._M_dataplus._M_p + uVar31 + uVar14,0);\n          local_1dc = &local_12c;\n          local_1d0 = (Search_directory *)&in;\n          _in = (pointer)local_1dc;\n                    /* try { // try from 002c0313 to 002c0317 has its CatchHandler @ 002c0ea3 */\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>_> *)\n                              local_1d0,line._M_dataplus._M_p,\n                              line._M_dataplus._M_p + line._M_string_length,0);\n          local_11c._0_1_ = true;\n          local_11c._1_1_ = false;\n          if (local_130 == 0) {\n                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */\n            std::string::_M_replace((string *)local_1d0,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n          }\n          iVar5._M_current =\n               (this->library_path_).value.\n               super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n               _M_impl._M_finish;\n          if (iVar5._M_current ==\n              (this->library_path_).value.\n              super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n              _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */\n            std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n            _M_realloc_insert<const_gold::Search_directory&>\n                      (&(this->library_path_).value,iVar5,local_1d0);\n          }\n          else {\n            ((iVar5._M_current)->name_)._M_dataplus._M_p =\n                 (pointer)&((iVar5._M_current)->name_).field_2;\n                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */\n            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>(&(iVar5._M_current)->name_,_in,(filebuf *)(_in + local_130),0);\n            (iVar5._M_current)->put_in_sysroot_ = local_11c._0_1_;\n            (iVar5._M_current)->is_in_sysroot_ = local_11c._1_1_;\n            ppSVar1 = &(this->library_path_).value.\n                       super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                       ._M_impl._M_finish;\n            *ppSVar1 = *ppSVar1 + 1;\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_in != local_1dc) {\n            operator_delete(_in);\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)line._M_dataplus._M_p != local_1e0) {\n            operator_delete(line._M_dataplus._M_p);\n          }\n          if (iVar18 == -1) break;\n        }" if (parenthesized_expression "((iVar18 == -1) || (uVar20 = iVar18 - uVar31, uVar20 != 0))" ( (binary_expression "(iVar18 == -1) || (uVar20 = iVar18 - uVar31, uVar20 != 0)" (parenthesized_expression "(iVar18 == -1)" ( (binary_expression "iVar18 == -1" identifier == number_literal) )) || (parenthesized_expression "(uVar20 = iVar18 - uVar31, uVar20 != 0)" ( (comma_expression "uVar20 = iVar18 - uVar31, uVar20 != 0" (assignment_expression "uVar20 = iVar18 - uVar31" identifier = (binary_expression "iVar18 - uVar31" identifier - identifier)) , (binary_expression "uVar20 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          if (libpath._M_string_length < uVar31) {\n                    /* WARNING: Subroutine does not return */\n            std::__throw_out_of_range_fmt\n                      ((char *)(local_1c4 + -0x58f98),(int)local_1c4 + -0x1641fb,uVar31,\n                       libpath._M_string_length);\n          }\n          local_1e0 = &line.field_2;\n          uVar14 = libpath._M_string_length - uVar31;\n          if (uVar20 < libpath._M_string_length - uVar31) {\n            uVar14 = uVar20;\n          }\n          line._M_dataplus._M_p = (pointer)local_1e0;\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char_const*>\n                    (&(local_1cc._0_4_)->name_,libpath._M_dataplus._M_p + uVar31,\n                     libpath._M_dataplus._M_p + uVar31 + uVar14,0);\n          local_1dc = &local_12c;\n          local_1d0 = (Search_directory *)&in;\n          _in = (pointer)local_1dc;\n                    /* try { // try from 002c0313 to 002c0317 has its CatchHandler @ 002c0ea3 */\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>_> *)\n                              local_1d0,line._M_dataplus._M_p,\n                              line._M_dataplus._M_p + line._M_string_length,0);\n          local_11c._0_1_ = true;\n          local_11c._1_1_ = false;\n          if (local_130 == 0) {\n                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */\n            std::string::_M_replace((string *)local_1d0,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n          }\n          iVar5._M_current =\n               (this->library_path_).value.\n               super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n               _M_impl._M_finish;\n          if (iVar5._M_current ==\n              (this->library_path_).value.\n              super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n              _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */\n            std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n            _M_realloc_insert<const_gold::Search_directory&>\n                      (&(this->library_path_).value,iVar5,local_1d0);\n          }\n          else {\n            ((iVar5._M_current)->name_)._M_dataplus._M_p =\n                 (pointer)&((iVar5._M_current)->name_).field_2;\n                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */\n            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>(&(iVar5._M_current)->name_,_in,(filebuf *)(_in + local_130),0);\n            (iVar5._M_current)->put_in_sysroot_ = local_11c._0_1_;\n            (iVar5._M_current)->is_in_sysroot_ = local_11c._1_1_;\n            ppSVar1 = &(this->library_path_).value.\n                       super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                       ._M_impl._M_finish;\n            *ppSVar1 = *ppSVar1 + 1;\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_in != local_1dc) {\n            operator_delete(_in);\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)line._M_dataplus._M_p != local_1e0) {\n            operator_delete(line._M_dataplus._M_p);\n          }\n          if (iVar18 == -1) break;\n        }" { (if_statement "if (libpath._M_string_length < uVar31) {\n                    /* WARNING: Subroutine does not return */\n            std::__throw_out_of_range_fmt\n                      ((char *)(local_1c4 + -0x58f98),(int)local_1c4 + -0x1641fb,uVar31,\n                       libpath._M_string_length);\n          }" if (parenthesized_expression "(libpath._M_string_length < uVar31)" ( (binary_expression "libpath._M_string_length < uVar31" (field_expression "libpath._M_string_length" identifier . field_identifier) < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            std::__throw_out_of_range_fmt\n                      ((char *)(local_1c4 + -0x58f98),(int)local_1c4 + -0x1641fb,uVar31,\n                       libpath._M_string_length);\n          }" { comment (labeled_statement "std::__throw_out_of_range_fmt\n                      ((char *)(local_1c4 + -0x58f98),(int)local_1c4 + -0x1641fb,uVar31,\n                       libpath._M_string_length);" statement_identifier : (ERROR ":" :) (expression_statement "__throw_out_of_range_fmt\n                      ((char *)(local_1c4 + -0x58f98),(int)local_1c4 + -0x1641fb,uVar31,\n                       libpath._M_string_length);" (call_expression "__throw_out_of_range_fmt\n                      ((char *)(local_1c4 + -0x58f98),(int)local_1c4 + -0x1641fb,uVar31,\n                       libpath._M_string_length)" identifier (argument_list "((char *)(local_1c4 + -0x58f98),(int)local_1c4 + -0x1641fb,uVar31,\n                       libpath._M_string_length)" ( (cast_expression "(char *)(local_1c4 + -0x58f98)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_1c4 + -0x58f98)" ( (binary_expression "local_1c4 + -0x58f98" identifier + number_literal) ))) , (binary_expression "(int)local_1c4 + -0x1641fb" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , identifier , (field_expression "libpath._M_string_length" identifier . field_identifier) ))) ;)) })) (expression_statement "local_1e0 = &line.field_2;" (assignment_expression "local_1e0 = &line.field_2" identifier = (pointer_expression "&line.field_2" & (field_expression "line.field_2" identifier . field_identifier))) ;) (expression_statement "uVar14 = libpath._M_string_length - uVar31;" (assignment_expression "uVar14 = libpath._M_string_length - uVar31" identifier = (binary_expression "libpath._M_string_length - uVar31" (field_expression "libpath._M_string_length" identifier . field_identifier) - identifier)) ;) (if_statement "if (uVar20 < libpath._M_string_length - uVar31) {\n            uVar14 = uVar20;\n          }" if (parenthesized_expression "(uVar20 < libpath._M_string_length - uVar31)" ( (binary_expression "uVar20 < libpath._M_string_length - uVar31" identifier < (binary_expression "libpath._M_string_length - uVar31" (field_expression "libpath._M_string_length" identifier . field_identifier) - identifier)) )) (compound_statement "{\n            uVar14 = uVar20;\n          }" { (expression_statement "uVar14 = uVar20;" (assignment_expression "uVar14 = uVar20" identifier = identifier) ;) })) (expression_statement "line._M_dataplus._M_p = (pointer)local_1e0;" (assignment_expression "line._M_dataplus._M_p = (pointer)local_1e0" (field_expression "line._M_dataplus._M_p" (field_expression "line._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)local_1e0" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char_const*>\n                    (&(local_1cc._0_4_)->name_,libpath._M_dataplus._M_p + uVar31,\n                     libpath._M_dataplus._M_p + uVar31 + uVar14,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                    (&(local_1cc._0_4_)->name_,libpath._M_dataplus._M_p + uVar31,\n                     libpath._M_dataplus._M_p + uVar31 + uVar14,0);" (binary_expression "_M_construct<char_const*>\n                    (&(local_1cc._0_4_)->name_,libpath._M_dataplus._M_p + uVar31,\n                     libpath._M_dataplus._M_p + uVar31 + uVar14,0)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&(local_1cc._0_4_)->name_,libpath._M_dataplus._M_p + uVar31,\n                     libpath._M_dataplus._M_p + uVar31 + uVar14,0)" ( (comma_expression "&(local_1cc._0_4_)->name_,libpath._M_dataplus._M_p + uVar31,\n                     libpath._M_dataplus._M_p + uVar31 + uVar14,0" (pointer_expression "&(local_1cc._0_4_)->name_" & (field_expression "(local_1cc._0_4_)->name_" (parenthesized_expression "(local_1cc._0_4_)" ( (field_expression "local_1cc._0_4_" identifier . field_identifier) )) -> field_identifier)) , (comma_expression "libpath._M_dataplus._M_p + uVar31,\n                     libpath._M_dataplus._M_p + uVar31 + uVar14,0" (binary_expression "libpath._M_dataplus._M_p + uVar31" (field_expression "libpath._M_dataplus._M_p" (field_expression "libpath._M_dataplus" identifier . field_identifier) . field_identifier) + identifier) , (comma_expression "libpath._M_dataplus._M_p + uVar31 + uVar14,0" (binary_expression "libpath._M_dataplus._M_p + uVar31 + uVar14" (binary_expression "libpath._M_dataplus._M_p + uVar31" (field_expression "libpath._M_dataplus._M_p" (field_expression "libpath._M_dataplus" identifier . field_identifier) . field_identifier) + identifier) + identifier) , number_literal))) ))) ;)) (expression_statement "local_1dc = &local_12c;" (assignment_expression "local_1dc = &local_12c" identifier = (pointer_expression "&local_12c" & identifier)) ;) (expression_statement "local_1d0 = (Search_directory *)&in;" (assignment_expression "local_1d0 = (Search_directory *)&in" identifier = (cast_expression "(Search_directory *)&in" ( (type_descriptor "Search_directory *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&in" & identifier))) ;) (expression_statement "_in = (pointer)local_1dc;" (assignment_expression "_in = (pointer)local_1dc" identifier = (cast_expression "(pointer)local_1dc" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) comment (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>_> *)\n                              local_1d0,line._M_dataplus._M_p,\n                              line._M_dataplus._M_p + line._M_string_length,0);" (comma_expression "allocator<char>_> *)\n                              local_1d0,line._M_dataplus._M_p,\n                              line._M_dataplus._M_p + line._M_string_length,0" (binary_expression "allocator<char>_> *)\n                              local_1d0" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*)\n                              local_1d0" * (ERROR ")" )) identifier)) , (comma_expression "line._M_dataplus._M_p,\n                              line._M_dataplus._M_p + line._M_string_length,0" (field_expression "line._M_dataplus._M_p" (field_expression "line._M_dataplus" identifier . field_identifier) . field_identifier) , (comma_expression "line._M_dataplus._M_p + line._M_string_length,0" (binary_expression "line._M_dataplus._M_p + line._M_string_length" (field_expression "line._M_dataplus._M_p" (field_expression "line._M_dataplus" identifier . field_identifier) . field_identifier) + (field_expression "line._M_string_length" identifier . field_identifier)) , number_literal))) (ERROR ")" )) ;) (expression_statement "local_11c._0_1_ = true;" (assignment_expression "local_11c._0_1_ = true" (field_expression "local_11c._0_1_" identifier . field_identifier) = true) ;) (expression_statement "local_11c._1_1_ = false;" (assignment_expression "local_11c._1_1_ = false" (field_expression "local_11c._1_1_" identifier . field_identifier) = false) ;) (if_statement "if (local_130 == 0) {\n                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */\n            std::string::_M_replace((string *)local_1d0,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n          }" if (parenthesized_expression "(local_130 == 0)" ( (binary_expression "local_130 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */\n            std::string::_M_replace((string *)local_1d0,0,0,(char *)((int)local_1c4 + -0x15ca25),1);\n          }" { comment (labeled_statement "std::string::_M_replace((string *)local_1d0,0,0,(char *)((int)local_1c4 + -0x15ca25),1);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_replace((string *)local_1d0,0,0,(char *)((int)local_1c4 + -0x15ca25),1);" statement_identifier : (ERROR ":" :) (expression_statement "_M_replace((string *)local_1d0,0,0,(char *)((int)local_1c4 + -0x15ca25),1);" (call_expression "_M_replace((string *)local_1d0,0,0,(char *)((int)local_1c4 + -0x15ca25),1)" identifier (argument_list "((string *)local_1d0,0,0,(char *)((int)local_1c4 + -0x15ca25),1)" ( (cast_expression "(string *)local_1d0" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , number_literal , number_literal , (cast_expression "(char *)((int)local_1c4 + -0x15ca25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_1c4 + -0x15ca25)" ( (binary_expression "(int)local_1c4 + -0x15ca25" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , number_literal ))) ;))) })) (ERROR "iVar5._M_current =\n               (this->library_path_).value.\n               super__Vector_base<gold::Search_directory,_std::allocator<gold::" (comma_expression "iVar5._M_current =\n               (this->library_path_).value.\n               super__Vector_base<gold::Search_directory,_std" (assignment_expression "iVar5._M_current =\n               (this->library_path_).value.\n               super__Vector_base<gold" (field_expression "iVar5._M_current" identifier . field_identifier) = (binary_expression "(this->library_path_).value.\n               super__Vector_base<gold" (field_expression "(this->library_path_).value.\n               super__Vector_base" (field_expression "(this->library_path_).value" (parenthesized_expression "(this->library_path_)" ( (field_expression "this->library_path_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier)) (ERROR "::Search_directory" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Search_directory>_>.\n               _M_impl._M_finish;" (field_expression "Search_directory>_>.\n               _M_impl._M_finish" (field_expression "Search_directory>_>.\n               _M_impl" (binary_expression "Search_directory>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (iVar5._M_current ==\n              (this->library_path_).value.\n              super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n              _M_impl._M_end_of_storage) {\n                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */\n            std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n            _M_realloc_insert<const_gold::Search_directory&>\n                      (&(this->library_path_).value,iVar5,local_1d0);\n          }\n          else {\n            ((iVar5._M_current)->name_)._M_dataplus._M_p =\n                 (pointer)&((iVar5._M_current)->name_).field_2;\n                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */\n            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>(&(iVar5._M_current)->name_,_in,(filebuf *)(_in + local_130),0);\n            (iVar5._M_current)->put_in_sysroot_ = local_11c._0_1_;\n            (iVar5._M_current)->is_in_sysroot_ = local_11c._1_1_;\n            ppSVar1 = &(this->library_path_).value.\n                       super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                       ._M_impl._M_finish;\n            *ppSVar1 = *ppSVar1 + 1;\n          }" if (parenthesized_expression "(iVar5._M_current ==\n              (this->library_path_).value.\n              super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n              _M_impl._M_end_of_storage)" ( (ERROR "iVar5._M_current ==\n              (this->library_path_).value.\n              super__Vector_base<gold::Search_directory,_std::allocator<gold::" (comma_expression "iVar5._M_current ==\n              (this->library_path_).value.\n              super__Vector_base<gold::Search_directory,_std" (binary_expression "iVar5._M_current ==\n              (this->library_path_).value.\n              super__Vector_base<gold" (field_expression "iVar5._M_current" identifier . field_identifier) == (binary_expression "(this->library_path_).value.\n              super__Vector_base<gold" (field_expression "(this->library_path_).value.\n              super__Vector_base" (field_expression "(this->library_path_).value" (parenthesized_expression "(this->library_path_)" ( (field_expression "this->library_path_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier)) (ERROR "::Search_directory" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (field_expression "Search_directory>_>.\n              _M_impl._M_end_of_storage" (field_expression "Search_directory>_>.\n              _M_impl" (binary_expression "Search_directory>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */\n            std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n            _M_realloc_insert<const_gold::Search_directory&>\n                      (&(this->library_path_).value,iVar5,local_1d0);\n          }" { comment (labeled_statement "std::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n            _M_realloc_insert<const_gold::Search_directory&>\n                      (&(this->library_path_).value,iVar5,local_1d0);" statement_identifier (ERROR "::vector<gold::Search_directory,_std::allocator<gold::Search_directory>_>::\n            _M_realloc_insert<const_gold:" : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Search_directory,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Search_directory>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (expression_statement "Search_directory&>\n                      (&(this->library_path_).value,iVar5,local_1d0);" (binary_expression "Search_directory&>\n                      (&(this->library_path_).value,iVar5,local_1d0)" identifier (ERROR "&" &) > (parenthesized_expression "(&(this->library_path_).value,iVar5,local_1d0)" ( (comma_expression "&(this->library_path_).value,iVar5,local_1d0" (pointer_expression "&(this->library_path_).value" & (field_expression "(this->library_path_).value" (parenthesized_expression "(this->library_path_)" ( (field_expression "this->library_path_" identifier -> field_identifier) )) . field_identifier)) , (comma_expression "iVar5,local_1d0" identifier , identifier)) ))) ;)) }) (else_clause "else {\n            ((iVar5._M_current)->name_)._M_dataplus._M_p =\n                 (pointer)&((iVar5._M_current)->name_).field_2;\n                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */\n            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>(&(iVar5._M_current)->name_,_in,(filebuf *)(_in + local_130),0);\n            (iVar5._M_current)->put_in_sysroot_ = local_11c._0_1_;\n            (iVar5._M_current)->is_in_sysroot_ = local_11c._1_1_;\n            ppSVar1 = &(this->library_path_).value.\n                       super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                       ._M_impl._M_finish;\n            *ppSVar1 = *ppSVar1 + 1;\n          }" else (compound_statement "{\n            ((iVar5._M_current)->name_)._M_dataplus._M_p =\n                 (pointer)&((iVar5._M_current)->name_).field_2;\n                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */\n            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>(&(iVar5._M_current)->name_,_in,(filebuf *)(_in + local_130),0);\n            (iVar5._M_current)->put_in_sysroot_ = local_11c._0_1_;\n            (iVar5._M_current)->is_in_sysroot_ = local_11c._1_1_;\n            ppSVar1 = &(this->library_path_).value.\n                       super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                       ._M_impl._M_finish;\n            *ppSVar1 = *ppSVar1 + 1;\n          }" { (expression_statement "((iVar5._M_current)->name_)._M_dataplus._M_p =\n                 (pointer)&((iVar5._M_current)->name_).field_2;" (assignment_expression "((iVar5._M_current)->name_)._M_dataplus._M_p =\n                 (pointer)&((iVar5._M_current)->name_).field_2" (field_expression "((iVar5._M_current)->name_)._M_dataplus._M_p" (field_expression "((iVar5._M_current)->name_)._M_dataplus" (parenthesized_expression "((iVar5._M_current)->name_)" ( (field_expression "(iVar5._M_current)->name_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "(pointer)&((iVar5._M_current)->name_).field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "((iVar5._M_current)->name_).field_2" (parenthesized_expression "((iVar5._M_current)->name_)" ( (field_expression "(iVar5._M_current)->name_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier))) ;) comment (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>(&(iVar5._M_current)->name_,_in,(filebuf *)(_in + local_130),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*>(&(iVar5._M_current)->name_,_in,(filebuf *)(_in + local_130),0);" (binary_expression "_M_construct<char*>(&(iVar5._M_current)->name_,_in,(filebuf *)(_in + local_130),0)" (binary_expression "_M_construct<char" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&(iVar5._M_current)->name_,_in,(filebuf *)(_in + local_130),0)" ( (comma_expression "&(iVar5._M_current)->name_,_in,(filebuf *)(_in + local_130),0" (pointer_expression "&(iVar5._M_current)->name_" & (field_expression "(iVar5._M_current)->name_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier)) , (comma_expression "_in,(filebuf *)(_in + local_130),0" identifier , (comma_expression "(filebuf *)(_in + local_130),0" (cast_expression "(filebuf *)(_in + local_130)" ( (type_descriptor "filebuf *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(_in + local_130)" ( (binary_expression "_in + local_130" identifier + identifier) ))) , number_literal))) ))) ;)) (expression_statement "(iVar5._M_current)->put_in_sysroot_ = local_11c._0_1_;" (assignment_expression "(iVar5._M_current)->put_in_sysroot_ = local_11c._0_1_" (field_expression "(iVar5._M_current)->put_in_sysroot_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) = (field_expression "local_11c._0_1_" identifier . field_identifier)) ;) (expression_statement "(iVar5._M_current)->is_in_sysroot_ = local_11c._1_1_;" (assignment_expression "(iVar5._M_current)->is_in_sysroot_ = local_11c._1_1_" (field_expression "(iVar5._M_current)->is_in_sysroot_" (parenthesized_expression "(iVar5._M_current)" ( (field_expression "iVar5._M_current" identifier . field_identifier) )) -> field_identifier) = (field_expression "local_11c._1_1_" identifier . field_identifier)) ;) (ERROR "ppSVar1 = &(this->library_path_).value.\n                       super__Vector_base<gold::Search_directory,_std::allocator<gold::" (comma_expression "ppSVar1 = &(this->library_path_).value.\n                       super__Vector_base<gold::Search_directory,_std" (assignment_expression "ppSVar1 = &(this->library_path_).value.\n                       super__Vector_base<gold" identifier = (binary_expression "&(this->library_path_).value.\n                       super__Vector_base<gold" (pointer_expression "&(this->library_path_).value.\n                       super__Vector_base" & (field_expression "(this->library_path_).value.\n                       super__Vector_base" (field_expression "(this->library_path_).value" (parenthesized_expression "(this->library_path_)" ( (field_expression "this->library_path_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) < identifier)) (ERROR "::Search_directory" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Search_directory>_>\n                       ._M_impl._M_finish;" (field_expression "Search_directory>_>\n                       ._M_impl._M_finish" (field_expression "Search_directory>_>\n                       ._M_impl" (binary_expression "Search_directory>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "*ppSVar1 = *ppSVar1 + 1;" (assignment_expression "*ppSVar1 = *ppSVar1 + 1" (pointer_expression "*ppSVar1" * identifier) = (binary_expression "*ppSVar1 + 1" (pointer_expression "*ppSVar1" * identifier) + number_literal)) ;) }))) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_in != local_1dc) {\n            operator_delete(_in);\n          }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_in != local_1dc)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_in != local_1dc)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n               *)_in != local_1dc" (binary_expression "allocator<char>_>_9\n               *)_in" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n               *)_in" identifier * (ERROR ")" )) identifier)) != identifier) )) )) (compound_statement "{\n            operator_delete(_in);\n          }" { (expression_statement "operator_delete(_in);" (call_expression "operator_delete(_in)" identifier (argument_list "(_in)" ( identifier ))) ;) })) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)line._M_dataplus._M_p != local_1e0) {\n            operator_delete(line._M_dataplus._M_p);\n          }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)line._M_dataplus._M_p != local_1e0)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)line._M_dataplus._M_p != local_1e0)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n               *)line._M_dataplus._M_p != local_1e0" (binary_expression "allocator<char>_>_9\n               *)line._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n               *)line._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "line._M_dataplus._M_p" (field_expression "line._M_dataplus" identifier . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n            operator_delete(line._M_dataplus._M_p);\n          }" { (expression_statement "operator_delete(line._M_dataplus._M_p);" (call_expression "operator_delete(line._M_dataplus._M_p)" identifier (argument_list "(line._M_dataplus._M_p)" ( (field_expression "line._M_dataplus._M_p" (field_expression "line._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) })) (if_statement "if (iVar18 == -1) break;" if (parenthesized_expression "(iVar18 == -1)" ( (binary_expression "iVar18 == -1" identifier == number_literal) )) (break_statement "break;" break ;)) })) (expression_statement "uVar31 = iVar18 + 1;" (assignment_expression "uVar31 = iVar18 + 1" identifier = (binary_expression "iVar18 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) }))) (expression_statement "ppuVar7 = local_1c4;" (assignment_expression "ppuVar7 = local_1c4" identifier = identifier) ;) (expression_statement "puVar21 = auStack_20c;" (assignment_expression "puVar21 = auStack_20c" identifier = identifier) ;) (expression_statement "puVar22 = auStack_20c;" (assignment_expression "puVar22 = auStack_20c" identifier = identifier) ;) (if_statement "if ((this->retain_symbols_file_).value != (char *)0x0) {\n    local_1e8 = (ios_base *)local_a4;\n    local_1d0 = (Search_directory *)&in;\n    std::ios_base::ios_base(local_1e8);\n    local_1fc = ppuVar7 + -0xa0e;\n    local_34 = 0;\n    local_2c = 0;\n    local_a4[0] = ppuVar7 + -0xa0c;\n    local_30 = 0;\n    local_28 = 0;\n    local_1f4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)ppuVar7[-0x9d3];\n    local_1f8 = ppuVar7[-0x9d2];\n    local_24 = 0;\n    local_20 = 0;\n    _in = (pointer)local_1f4;\n    *(undefined **)(&in + *(int *)(local_1f4->_M_local_buf + -0xc)) = local_1f8;\n                    /* try { // try from 002bfb07 to 002bfb0b has its CatchHandler @ 002c0ee2 */\n    std::ios::init((streambuf *)\n                   ((int)&(((Search_directory *)&in)->name_)._M_dataplus._M_p +\n                   *(int *)(local_1f4->_M_local_buf + -0xc)));\n    local_200 = ppuVar7 + -0x9d0;\n    _in = (pointer)(ppuVar7 + -0x9cd);\n    local_a4[0] = ppuVar7 + -0x9c8;\n    local_1dc = &local_12c;\n                    /* try { // try from 002bfb39 to 002bfb3d has its CatchHandler @ 002c0ed4 */\n    std::filebuf::filebuf((filebuf *)local_12c._M_local_buf);\n                    /* try { // try from 002bfb47 to 002bfb4b has its CatchHandler @ 002c0e79 */\n    std::ios::init((streambuf *)local_1e8);\n    uVar32 = 8;\n                    /* try { // try from 002bfb5b to 002bfb8a has its CatchHandler @ 002c0e80 */\n    iVar18 = std::filebuf::open(local_12c._M_local_buf,\n                                (_Ios_Openmode)(this->retain_symbols_file_).value);\n    puVar19 = *(undefined **)(_in + -0xc) + (int)&(local_1d0->name_)._M_dataplus;\n    if (iVar18 == 0) {\n      uVar31 = *(uint *)(puVar19 + 0x14) | 4;\n                    /* try { // try from 002c0aa1 to 002c0aa5 has its CatchHandler @ 002c0e80 */\n      std::ios::clear((_Ios_Iostate)puVar19);\n    }\n    else {\n      uVar31 = 0;\n      std::ios::clear((_Ios_Iostate)puVar19);\n    }\n    ppuVar7 = local_1c4;\n    if ((local_90 & 5) != 0) {\n      piVar16 = __errno_location();\n      pcVar17 = strerror(*piVar16);\n      pcVar15 = (this->retain_symbols_file_).value;\n      format = (char *)gettext(local_1c4 + -0x5645f,uVar31);\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d5c to 002c0d60 has its CatchHandler @ 002c0e80 */\n      gold_fatal(format,pcVar15,pcVar17);\n    }\n    line.field_2._M_local_buf[0] = '\0';\n    local_1e0 = &line.field_2;\n    line._M_dataplus._M_p = (pointer)&line.field_2;\n    line._M_string_length = 0;\n    this_00 = *(ctype<char> **)((int)aiStack_b8 + (int)*(undefined **)(_in + -0xc));\n    if (this_00 == (ctype<char> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e40 to 002c0e44 has its CatchHandler @ 002c0edb */\n      std::__throw_bad_cast();\n    }\n    if (this_00[0x1c] == (ctype<char>)0x0) {\n                    /* try { // try from 002c043c to 002c0463 has its CatchHandler @ 002c0edb */\n      std::ctype<char>::_M_widen_init(this_00);\n      cVar9 = (ctype<char>)0xa;\n      if (*(undefined ***)(*(int *)this_00 + 0x18) != ppuVar7 + -0xdabd4) {\n        cVar9 = (ctype<char>)(*(code *)*(undefined ***)(*(int *)this_00 + 0x18))(this_00,10,uVar32);\n      }\n    }\n    else {\n      cVar9 = this_00[0x27];\n    }\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&line);\n                    /* try { // try from 002bfc01 to 002bfc46 has its CatchHandler @ 002c0edb */\n    std::getline<char,std::char_traits<char>,std::allocator<char>>\n              ((istream *)local_1d0,(string *)&line,(char)cVar9);\n    local_1d4 = (string *)&this->symbols_to_retain_;\n    local_1e4 = local_1c0;\n    while ((local_90 & 5) == 0) {\n      if ((line._M_string_length != 0) && (line._M_dataplus._M_p[line._M_string_length - 1] == '\r')\n         ) {\n        *(undefined4 *)(puVar21 + -8) = 0;\n        *(size_type *)(puVar21 + -0xc) = line._M_string_length - 1;\n        *(Search_directory **)(puVar21 + -0x10) = local_1cc._0_4_;\n                    /* try { // try from 002c0182 to 002c0186 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2c0187;\n        std::string::resize(*(uint *)(puVar21 + -0x10),puVar21[-0xc]);\n      }\n      *(undefined4 *)(puVar21 + -8) = 0xc70f6907;\n      *(size_type *)(puVar21 + -0xc) = line._M_string_length;\n      *(pointer *)(puVar21 + -0x10) = line._M_dataplus._M_p;\n      *(undefined4 *)(puVar21 + -0x14) = 0x2bfc8a;\n      uVar31 = std::_Hash_bytes(*(void **)(puVar21 + -0x10),*(uint *)(puVar21 + -0xc),\n                                *(uint *)(puVar21 + -8));\n      local_1d8 = (Dir_list *)(uVar31 % (this->symbols_to_retain_)._M_h._M_bucket_count);\n      *(uint *)(puVar21 + -0x14) = uVar31;\n      *(Search_directory **)(puVar21 + -0x18) = local_1cc._0_4_;\n      *(Dir_list **)(puVar21 + -0x1c) = local_1d8;\n      *(string **)(puVar21 + -0x20) = local_1d4;\n      *(undefined4 *)(puVar21 + -0x24) = 0x2bfcb0;\n      p_Var10 = std::\n                _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::_M_find_before_node\n                          (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                           *(key_type **)(puVar21 + -0x18),*(__hash_code *)(puVar21 + -0x14));\n      if ((p_Var10 == (__node_base *)0x0) || (p_Var10->_M_nxt == (_Hash_node_base *)0x0)) {\n        *(undefined4 *)(puVar21 + -0x10) = 0x20;\n                    /* try { // try from 002bfdcb to 002bfdcf has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2bfdd0;\n        puVar11 = (undefined4 *)operator_new(*(uint *)(puVar21 + -0x10));\n        *puVar11 = 0;\n        puVar11[1] = puVar11 + 3;\n        *(undefined4 *)(puVar21 + -4) = 0;\n        *(pointer *)(puVar21 + -8) = line._M_dataplus._M_p + line._M_string_length;\n        *(pointer *)(puVar21 + -0xc) = line._M_dataplus._M_p;\n        *(undefined4 **)(puVar21 + -0x10) = puVar11 + 1;\n                    /* try { // try from 002bfdf7 to 002bfdfb has its CatchHandler @ 002c0ee9 */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2bfdfc;\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>();\n        *(undefined4 *)(puVar21 + -0xc) = 1;\n        *(undefined4 **)(puVar21 + -0x10) = puVar11;\n        *(uint *)(puVar21 + -0x14) = uVar31;\n        *(Dir_list **)(puVar21 + -0x18) = local_1d8;\n        *(string **)(puVar21 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar21 + -0x20) = local_1e4;\n                    /* try { // try from 002bfe14 to 002bfe18 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x24) = 0x2bfe19;\n        std::\n        _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::_M_insert_unique_node\n                  (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                     **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                   *(__hash_code *)(puVar21 + -0x18),*(__node_type **)(puVar21 + -0x14),\n                   *(size_type *)(puVar21 + -0x10));\n        puVar21 = puVar21 + -4;\n      }\n      ppuVar7 = local_1c4;\n      piVar16 = *(int **)((int)aiStack_b8 + (int)*(undefined **)(_in + -0xc));\n      if (piVar16 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0bfa to 002c0bfe has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -4) = 0x2c0bff;\n        std::__throw_bad_cast();\n      }\n      if ((char)piVar16[7] == '\0') {\n        *(int **)(puVar21 + -0x10) = piVar16;\n                    /* try { // try from 002bfcf3 to 002bfd1a has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2bfcf8;\n        std::ctype<char>::_M_widen_init(*(ctype<char> **)(puVar21 + -0x10));\n        ppuVar4 = *(undefined ***)(*piVar16 + 0x18);\n        iVar18 = 10;\n        if (ppuVar4 != ppuVar7 + -0xdabd4) {\n          *(undefined4 *)(puVar21 + -0xc) = 10;\n          *(int **)(puVar21 + -0x10) = piVar16;\n          *(undefined4 *)(puVar21 + -0x14) = 0x2bfd1b;\n          cVar8 = (*(code *)ppuVar4)();\n          iVar18 = (int)cVar8;\n        }\n      }\n      else {\n        iVar18 = (int)*(char *)((int)piVar16 + 0x27);\n      }\n      *(int *)(puVar21 + -8) = iVar18;\n      *(Search_directory **)(puVar21 + -0xc) = local_1cc._0_4_;\n      *(Search_directory **)(puVar21 + -0x10) = local_1d0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x2bfc47;\n      std::getline<char,std::char_traits<char>,std::allocator<char>>\n                (*(istream **)(puVar21 + -0x10),*(string **)(puVar21 + -0xc),puVar21[-8]);\n    }\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)line._M_dataplus._M_p != local_1e0) {\n      *(pointer *)(puVar21 + -0x10) = line._M_dataplus._M_p;\n      *(undefined4 *)(puVar21 + -0x14) = 0x2bfe3f;\n      operator_delete(*(void **)(puVar21 + -0x10));\n    }\n    ppuVar7 = local_1c4;\n    *(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n      **)(puVar21 + -0x10) = local_1dc;\n    _in = (pointer)(local_200 + 3);\n    local_a4[0] = local_200 + 8;\n    local_12c._M_allocated_capacity = (size_type)(local_1c4 + -0x9ec);\n    *(undefined4 *)(puVar21 + -0x14) = 0x2bfe7f;\n    std::filebuf::close(*(filebuf **)(puVar21 + -0x10));\n    *(undefined1 **)(puVar21 + -0x10) = local_f4;\n    *(undefined4 *)(puVar21 + -0x14) = 0x2bfe8d;\n    std::__basic_file<char>::~__basic_file(*(__basic_file<char> **)(puVar21 + -0x10));\n    local_12c._M_allocated_capacity = (size_type)(ppuVar7 + -0xbd1);\n    *(undefined1 **)(puVar21 + -0x10) = local_110;\n    *(undefined4 *)(puVar21 + -0x14) = 0x2bfeaa;\n    std::locale::~locale(*(locale **)(puVar21 + -0x10));\n    _in = (pointer)local_1f4;\n    *(undefined **)(&in + *(int *)(local_1f4->_M_local_buf + -0xc)) = local_1f8;\n    local_a4[0] = local_1fc + 2;\n    *(ios_base **)(puVar21 + -0x10) = local_1e8;\n    *(undefined4 *)(puVar21 + -0x14) = 0x2bfeeb;\n    std::ios_base::~ios_base(*(ios_base **)(puVar21 + -0x10));\n    puVar22 = puVar21;\n  }" if (parenthesized_expression "((this->retain_symbols_file_).value != (char *)0x0)" ( (binary_expression "(this->retain_symbols_file_).value != (char *)0x0" (field_expression "(this->retain_symbols_file_).value" (parenthesized_expression "(this->retain_symbols_file_)" ( (field_expression "this->retain_symbols_file_" identifier -> field_identifier) )) . field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_1e8 = (ios_base *)local_a4;\n    local_1d0 = (Search_directory *)&in;\n    std::ios_base::ios_base(local_1e8);\n    local_1fc = ppuVar7 + -0xa0e;\n    local_34 = 0;\n    local_2c = 0;\n    local_a4[0] = ppuVar7 + -0xa0c;\n    local_30 = 0;\n    local_28 = 0;\n    local_1f4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)ppuVar7[-0x9d3];\n    local_1f8 = ppuVar7[-0x9d2];\n    local_24 = 0;\n    local_20 = 0;\n    _in = (pointer)local_1f4;\n    *(undefined **)(&in + *(int *)(local_1f4->_M_local_buf + -0xc)) = local_1f8;\n                    /* try { // try from 002bfb07 to 002bfb0b has its CatchHandler @ 002c0ee2 */\n    std::ios::init((streambuf *)\n                   ((int)&(((Search_directory *)&in)->name_)._M_dataplus._M_p +\n                   *(int *)(local_1f4->_M_local_buf + -0xc)));\n    local_200 = ppuVar7 + -0x9d0;\n    _in = (pointer)(ppuVar7 + -0x9cd);\n    local_a4[0] = ppuVar7 + -0x9c8;\n    local_1dc = &local_12c;\n                    /* try { // try from 002bfb39 to 002bfb3d has its CatchHandler @ 002c0ed4 */\n    std::filebuf::filebuf((filebuf *)local_12c._M_local_buf);\n                    /* try { // try from 002bfb47 to 002bfb4b has its CatchHandler @ 002c0e79 */\n    std::ios::init((streambuf *)local_1e8);\n    uVar32 = 8;\n                    /* try { // try from 002bfb5b to 002bfb8a has its CatchHandler @ 002c0e80 */\n    iVar18 = std::filebuf::open(local_12c._M_local_buf,\n                                (_Ios_Openmode)(this->retain_symbols_file_).value);\n    puVar19 = *(undefined **)(_in + -0xc) + (int)&(local_1d0->name_)._M_dataplus;\n    if (iVar18 == 0) {\n      uVar31 = *(uint *)(puVar19 + 0x14) | 4;\n                    /* try { // try from 002c0aa1 to 002c0aa5 has its CatchHandler @ 002c0e80 */\n      std::ios::clear((_Ios_Iostate)puVar19);\n    }\n    else {\n      uVar31 = 0;\n      std::ios::clear((_Ios_Iostate)puVar19);\n    }\n    ppuVar7 = local_1c4;\n    if ((local_90 & 5) != 0) {\n      piVar16 = __errno_location();\n      pcVar17 = strerror(*piVar16);\n      pcVar15 = (this->retain_symbols_file_).value;\n      format = (char *)gettext(local_1c4 + -0x5645f,uVar31);\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d5c to 002c0d60 has its CatchHandler @ 002c0e80 */\n      gold_fatal(format,pcVar15,pcVar17);\n    }\n    line.field_2._M_local_buf[0] = '\0';\n    local_1e0 = &line.field_2;\n    line._M_dataplus._M_p = (pointer)&line.field_2;\n    line._M_string_length = 0;\n    this_00 = *(ctype<char> **)((int)aiStack_b8 + (int)*(undefined **)(_in + -0xc));\n    if (this_00 == (ctype<char> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e40 to 002c0e44 has its CatchHandler @ 002c0edb */\n      std::__throw_bad_cast();\n    }\n    if (this_00[0x1c] == (ctype<char>)0x0) {\n                    /* try { // try from 002c043c to 002c0463 has its CatchHandler @ 002c0edb */\n      std::ctype<char>::_M_widen_init(this_00);\n      cVar9 = (ctype<char>)0xa;\n      if (*(undefined ***)(*(int *)this_00 + 0x18) != ppuVar7 + -0xdabd4) {\n        cVar9 = (ctype<char>)(*(code *)*(undefined ***)(*(int *)this_00 + 0x18))(this_00,10,uVar32);\n      }\n    }\n    else {\n      cVar9 = this_00[0x27];\n    }\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&line);\n                    /* try { // try from 002bfc01 to 002bfc46 has its CatchHandler @ 002c0edb */\n    std::getline<char,std::char_traits<char>,std::allocator<char>>\n              ((istream *)local_1d0,(string *)&line,(char)cVar9);\n    local_1d4 = (string *)&this->symbols_to_retain_;\n    local_1e4 = local_1c0;\n    while ((local_90 & 5) == 0) {\n      if ((line._M_string_length != 0) && (line._M_dataplus._M_p[line._M_string_length - 1] == '\r')\n         ) {\n        *(undefined4 *)(puVar21 + -8) = 0;\n        *(size_type *)(puVar21 + -0xc) = line._M_string_length - 1;\n        *(Search_directory **)(puVar21 + -0x10) = local_1cc._0_4_;\n                    /* try { // try from 002c0182 to 002c0186 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2c0187;\n        std::string::resize(*(uint *)(puVar21 + -0x10),puVar21[-0xc]);\n      }\n      *(undefined4 *)(puVar21 + -8) = 0xc70f6907;\n      *(size_type *)(puVar21 + -0xc) = line._M_string_length;\n      *(pointer *)(puVar21 + -0x10) = line._M_dataplus._M_p;\n      *(undefined4 *)(puVar21 + -0x14) = 0x2bfc8a;\n      uVar31 = std::_Hash_bytes(*(void **)(puVar21 + -0x10),*(uint *)(puVar21 + -0xc),\n                                *(uint *)(puVar21 + -8));\n      local_1d8 = (Dir_list *)(uVar31 % (this->symbols_to_retain_)._M_h._M_bucket_count);\n      *(uint *)(puVar21 + -0x14) = uVar31;\n      *(Search_directory **)(puVar21 + -0x18) = local_1cc._0_4_;\n      *(Dir_list **)(puVar21 + -0x1c) = local_1d8;\n      *(string **)(puVar21 + -0x20) = local_1d4;\n      *(undefined4 *)(puVar21 + -0x24) = 0x2bfcb0;\n      p_Var10 = std::\n                _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::_M_find_before_node\n                          (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                           *(key_type **)(puVar21 + -0x18),*(__hash_code *)(puVar21 + -0x14));\n      if ((p_Var10 == (__node_base *)0x0) || (p_Var10->_M_nxt == (_Hash_node_base *)0x0)) {\n        *(undefined4 *)(puVar21 + -0x10) = 0x20;\n                    /* try { // try from 002bfdcb to 002bfdcf has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2bfdd0;\n        puVar11 = (undefined4 *)operator_new(*(uint *)(puVar21 + -0x10));\n        *puVar11 = 0;\n        puVar11[1] = puVar11 + 3;\n        *(undefined4 *)(puVar21 + -4) = 0;\n        *(pointer *)(puVar21 + -8) = line._M_dataplus._M_p + line._M_string_length;\n        *(pointer *)(puVar21 + -0xc) = line._M_dataplus._M_p;\n        *(undefined4 **)(puVar21 + -0x10) = puVar11 + 1;\n                    /* try { // try from 002bfdf7 to 002bfdfb has its CatchHandler @ 002c0ee9 */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2bfdfc;\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>();\n        *(undefined4 *)(puVar21 + -0xc) = 1;\n        *(undefined4 **)(puVar21 + -0x10) = puVar11;\n        *(uint *)(puVar21 + -0x14) = uVar31;\n        *(Dir_list **)(puVar21 + -0x18) = local_1d8;\n        *(string **)(puVar21 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar21 + -0x20) = local_1e4;\n                    /* try { // try from 002bfe14 to 002bfe18 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x24) = 0x2bfe19;\n        std::\n        _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::_M_insert_unique_node\n                  (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                     **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                   *(__hash_code *)(puVar21 + -0x18),*(__node_type **)(puVar21 + -0x14),\n                   *(size_type *)(puVar21 + -0x10));\n        puVar21 = puVar21 + -4;\n      }\n      ppuVar7 = local_1c4;\n      piVar16 = *(int **)((int)aiStack_b8 + (int)*(undefined **)(_in + -0xc));\n      if (piVar16 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0bfa to 002c0bfe has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -4) = 0x2c0bff;\n        std::__throw_bad_cast();\n      }\n      if ((char)piVar16[7] == '\0') {\n        *(int **)(puVar21 + -0x10) = piVar16;\n                    /* try { // try from 002bfcf3 to 002bfd1a has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2bfcf8;\n        std::ctype<char>::_M_widen_init(*(ctype<char> **)(puVar21 + -0x10));\n        ppuVar4 = *(undefined ***)(*piVar16 + 0x18);\n        iVar18 = 10;\n        if (ppuVar4 != ppuVar7 + -0xdabd4) {\n          *(undefined4 *)(puVar21 + -0xc) = 10;\n          *(int **)(puVar21 + -0x10) = piVar16;\n          *(undefined4 *)(puVar21 + -0x14) = 0x2bfd1b;\n          cVar8 = (*(code *)ppuVar4)();\n          iVar18 = (int)cVar8;\n        }\n      }\n      else {\n        iVar18 = (int)*(char *)((int)piVar16 + 0x27);\n      }\n      *(int *)(puVar21 + -8) = iVar18;\n      *(Search_directory **)(puVar21 + -0xc) = local_1cc._0_4_;\n      *(Search_directory **)(puVar21 + -0x10) = local_1d0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x2bfc47;\n      std::getline<char,std::char_traits<char>,std::allocator<char>>\n                (*(istream **)(puVar21 + -0x10),*(string **)(puVar21 + -0xc),puVar21[-8]);\n    }\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)line._M_dataplus._M_p != local_1e0) {\n      *(pointer *)(puVar21 + -0x10) = line._M_dataplus._M_p;\n      *(undefined4 *)(puVar21 + -0x14) = 0x2bfe3f;\n      operator_delete(*(void **)(puVar21 + -0x10));\n    }\n    ppuVar7 = local_1c4;\n    *(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n      **)(puVar21 + -0x10) = local_1dc;\n    _in = (pointer)(local_200 + 3);\n    local_a4[0] = local_200 + 8;\n    local_12c._M_allocated_capacity = (size_type)(local_1c4 + -0x9ec);\n    *(undefined4 *)(puVar21 + -0x14) = 0x2bfe7f;\n    std::filebuf::close(*(filebuf **)(puVar21 + -0x10));\n    *(undefined1 **)(puVar21 + -0x10) = local_f4;\n    *(undefined4 *)(puVar21 + -0x14) = 0x2bfe8d;\n    std::__basic_file<char>::~__basic_file(*(__basic_file<char> **)(puVar21 + -0x10));\n    local_12c._M_allocated_capacity = (size_type)(ppuVar7 + -0xbd1);\n    *(undefined1 **)(puVar21 + -0x10) = local_110;\n    *(undefined4 *)(puVar21 + -0x14) = 0x2bfeaa;\n    std::locale::~locale(*(locale **)(puVar21 + -0x10));\n    _in = (pointer)local_1f4;\n    *(undefined **)(&in + *(int *)(local_1f4->_M_local_buf + -0xc)) = local_1f8;\n    local_a4[0] = local_1fc + 2;\n    *(ios_base **)(puVar21 + -0x10) = local_1e8;\n    *(undefined4 *)(puVar21 + -0x14) = 0x2bfeeb;\n    std::ios_base::~ios_base(*(ios_base **)(puVar21 + -0x10));\n    puVar22 = puVar21;\n  }" { (expression_statement "local_1e8 = (ios_base *)local_a4;" (assignment_expression "local_1e8 = (ios_base *)local_a4" identifier = (cast_expression "(ios_base *)local_a4" ( (type_descriptor "ios_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_1d0 = (Search_directory *)&in;" (assignment_expression "local_1d0 = (Search_directory *)&in" identifier = (cast_expression "(Search_directory *)&in" ( (type_descriptor "Search_directory *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&in" & identifier))) ;) (labeled_statement "std::ios_base::ios_base(local_1e8);" statement_identifier : (ERROR ":" :) (labeled_statement "ios_base::ios_base(local_1e8);" statement_identifier : (ERROR ":" :) (expression_statement "ios_base(local_1e8);" (call_expression "ios_base(local_1e8)" identifier (argument_list "(local_1e8)" ( identifier ))) ;))) (expression_statement "local_1fc = ppuVar7 + -0xa0e;" (assignment_expression "local_1fc = ppuVar7 + -0xa0e" identifier = (binary_expression "ppuVar7 + -0xa0e" identifier + number_literal)) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" identifier = number_literal) ;) (expression_statement "local_a4[0] = ppuVar7 + -0xa0c;" (assignment_expression "local_a4[0] = ppuVar7 + -0xa0c" (subscript_expression "local_a4[0]" identifier [ number_literal ]) = (binary_expression "ppuVar7 + -0xa0c" identifier + number_literal)) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_1f4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)ppuVar7[-0x9d3];\n    local_1f8 = ppuVar7[-0x9d2];\n    local_24 = 0;\n    local_20 = 0;\n    _in = (pointer)local_1f4;" (assignment_expression "local_1f4 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)ppuVar7[-0x9d3];\n    local_1f8 = ppuVar7[-0x9d2];\n    local_24 = 0;\n    local_20 = 0;\n    _in = (pointer)local_1f4" identifier = (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)ppuVar7[-0x9d3];\n    local_1f8 = ppuVar7[-0x9d2];\n    local_24 = 0;\n    local_20 = 0;\n    _in = (pointer)local_1f4" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)ppuVar7[-0x9d3];\n    local_1f8 = ppuVar7[-0x9d2];\n    local_24 = 0;\n    local_20 = 0;" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_9\n                 *)ppuVar7[-0x9d3]" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n                 *)ppuVar7[-0x9d3]" identifier * (ERROR ")" )) (subscript_expression "ppuVar7[-0x9d3]" identifier [ number_literal ]))) ; (assignment_expression "local_1f8 = ppuVar7[-0x9d2]" identifier = (subscript_expression "ppuVar7[-0x9d2]" identifier [ number_literal ])) ; (assignment_expression "local_24 = 0" identifier = number_literal) ; (assignment_expression "local_20 = 0" identifier = number_literal) ;) (assignment_expression "_in = (pointer)local_1f4" identifier = (cast_expression "(pointer)local_1f4" ( (type_descriptor "pointer" type_identifier) ) identifier)) ))) ;) (expression_statement "*(undefined **)(&in + *(int *)(local_1f4->_M_local_buf + -0xc)) = local_1f8;" (assignment_expression "*(undefined **)(&in + *(int *)(local_1f4->_M_local_buf + -0xc)) = local_1f8" (pointer_expression "*(undefined **)(&in + *(int *)(local_1f4->_M_local_buf + -0xc))" * (cast_expression "(undefined **)(&in + *(int *)(local_1f4->_M_local_buf + -0xc))" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&in + *(int *)(local_1f4->_M_local_buf + -0xc))" ( (binary_expression "&in + *(int *)(local_1f4->_M_local_buf + -0xc)" (pointer_expression "&in" & identifier) + (pointer_expression "*(int *)(local_1f4->_M_local_buf + -0xc)" * (cast_expression "(int *)(local_1f4->_M_local_buf + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_1f4->_M_local_buf + -0xc)" ( (binary_expression "local_1f4->_M_local_buf + -0xc" (field_expression "local_1f4->_M_local_buf" identifier -> field_identifier) + number_literal) ))))) )))) = identifier) ;) comment (labeled_statement "std::ios::init((streambuf *)\n                   ((int)&(((Search_directory *)&in)->name_)._M_dataplus._M_p +\n                   *(int *)(local_1f4->_M_local_buf + -0xc)));" statement_identifier : (ERROR ":" :) (labeled_statement "ios::init((streambuf *)\n                   ((int)&(((Search_directory *)&in)->name_)._M_dataplus._M_p +\n                   *(int *)(local_1f4->_M_local_buf + -0xc)));" statement_identifier : (ERROR ":" :) (expression_statement "init((streambuf *)\n                   ((int)&(((Search_directory *)&in)->name_)._M_dataplus._M_p +\n                   *(int *)(local_1f4->_M_local_buf + -0xc)));" (call_expression "init((streambuf *)\n                   ((int)&(((Search_directory *)&in)->name_)._M_dataplus._M_p +\n                   *(int *)(local_1f4->_M_local_buf + -0xc)))" identifier (argument_list "((streambuf *)\n                   ((int)&(((Search_directory *)&in)->name_)._M_dataplus._M_p +\n                   *(int *)(local_1f4->_M_local_buf + -0xc)))" ( (cast_expression "(streambuf *)\n                   ((int)&(((Search_directory *)&in)->name_)._M_dataplus._M_p +\n                   *(int *)(local_1f4->_M_local_buf + -0xc))" ( (type_descriptor "streambuf *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(((Search_directory *)&in)->name_)._M_dataplus._M_p +\n                   *(int *)(local_1f4->_M_local_buf + -0xc))" ( (binary_expression "(int)&(((Search_directory *)&in)->name_)._M_dataplus._M_p +\n                   *(int *)(local_1f4->_M_local_buf + -0xc)" (cast_expression "(int)&(((Search_directory *)&in)->name_)._M_dataplus._M_p" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(((Search_directory *)&in)->name_)._M_dataplus._M_p" & (field_expression "(((Search_directory *)&in)->name_)._M_dataplus._M_p" (field_expression "(((Search_directory *)&in)->name_)._M_dataplus" (parenthesized_expression "(((Search_directory *)&in)->name_)" ( (field_expression "((Search_directory *)&in)->name_" (parenthesized_expression "((Search_directory *)&in)" ( (cast_expression "(Search_directory *)&in" ( (type_descriptor "Search_directory *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&in" & identifier)) )) -> field_identifier) )) . field_identifier) . field_identifier))) + (pointer_expression "*(int *)(local_1f4->_M_local_buf + -0xc)" * (cast_expression "(int *)(local_1f4->_M_local_buf + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_1f4->_M_local_buf + -0xc)" ( (binary_expression "local_1f4->_M_local_buf + -0xc" (field_expression "local_1f4->_M_local_buf" identifier -> field_identifier) + number_literal) ))))) ))) ))) ;))) (expression_statement "local_200 = ppuVar7 + -0x9d0;" (assignment_expression "local_200 = ppuVar7 + -0x9d0" identifier = (binary_expression "ppuVar7 + -0x9d0" identifier + number_literal)) ;) (expression_statement "_in = (pointer)(ppuVar7 + -0x9cd);" (assignment_expression "_in = (pointer)(ppuVar7 + -0x9cd)" identifier = (call_expression "(pointer)(ppuVar7 + -0x9cd)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "(ppuVar7 + -0x9cd)" ( (binary_expression "ppuVar7 + -0x9cd" identifier + number_literal) )))) ;) (expression_statement "local_a4[0] = ppuVar7 + -0x9c8;" (assignment_expression "local_a4[0] = ppuVar7 + -0x9c8" (subscript_expression "local_a4[0]" identifier [ number_literal ]) = (binary_expression "ppuVar7 + -0x9c8" identifier + number_literal)) ;) (expression_statement "local_1dc = &local_12c;" (assignment_expression "local_1dc = &local_12c" identifier = (pointer_expression "&local_12c" & identifier)) ;) comment (labeled_statement "std::filebuf::filebuf((filebuf *)local_12c._M_local_buf);" statement_identifier : (ERROR ":" :) (labeled_statement "filebuf::filebuf((filebuf *)local_12c._M_local_buf);" statement_identifier : (ERROR ":" :) (expression_statement "filebuf((filebuf *)local_12c._M_local_buf);" (call_expression "filebuf((filebuf *)local_12c._M_local_buf)" identifier (argument_list "((filebuf *)local_12c._M_local_buf)" ( (cast_expression "(filebuf *)local_12c._M_local_buf" ( (type_descriptor "filebuf *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_12c._M_local_buf" identifier . field_identifier)) ))) ;))) comment (labeled_statement "std::ios::init((streambuf *)local_1e8);" statement_identifier : (ERROR ":" :) (labeled_statement "ios::init((streambuf *)local_1e8);" statement_identifier : (ERROR ":" :) (expression_statement "init((streambuf *)local_1e8);" (call_expression "init((streambuf *)local_1e8)" identifier (argument_list "((streambuf *)local_1e8)" ( (cast_expression "(streambuf *)local_1e8" ( (type_descriptor "streambuf *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;))) (expression_statement "uVar32 = 8;" (assignment_expression "uVar32 = 8" identifier = number_literal) ;) comment (ERROR "iVar18 = std::" (assignment_expression "iVar18 = std" identifier = identifier) : :) (labeled_statement "filebuf::open(local_12c._M_local_buf,\n                                (_Ios_Openmode)(this->retain_symbols_file_).value);" statement_identifier : (ERROR ":" :) (expression_statement "open(local_12c._M_local_buf,\n                                (_Ios_Openmode)(this->retain_symbols_file_).value);" (call_expression "open(local_12c._M_local_buf,\n                                (_Ios_Openmode)(this->retain_symbols_file_).value)" identifier (argument_list "(local_12c._M_local_buf,\n                                (_Ios_Openmode)(this->retain_symbols_file_).value)" ( (field_expression "local_12c._M_local_buf" identifier . field_identifier) , (field_expression "(_Ios_Openmode)(this->retain_symbols_file_).value" (call_expression "(_Ios_Openmode)(this->retain_symbols_file_)" (parenthesized_expression "(_Ios_Openmode)" ( identifier )) (argument_list "(this->retain_symbols_file_)" ( (field_expression "this->retain_symbols_file_" identifier -> field_identifier) ))) . field_identifier) ))) ;)) (expression_statement "puVar19 = *(undefined **)(_in + -0xc) + (int)&(local_1d0->name_)._M_dataplus;" (assignment_expression "puVar19 = *(undefined **)(_in + -0xc) + (int)&(local_1d0->name_)._M_dataplus" identifier = (binary_expression "*(undefined **)(_in + -0xc) + (int)&(local_1d0->name_)._M_dataplus" (pointer_expression "*(undefined **)(_in + -0xc)" * (cast_expression "(undefined **)(_in + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(_in + -0xc)" ( (binary_expression "_in + -0xc" identifier + number_literal) )))) + (cast_expression "(int)&(local_1d0->name_)._M_dataplus" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_1d0->name_)._M_dataplus" & (field_expression "(local_1d0->name_)._M_dataplus" (parenthesized_expression "(local_1d0->name_)" ( (field_expression "local_1d0->name_" identifier -> field_identifier) )) . field_identifier))))) ;) (if_statement "if (iVar18 == 0) {\n      uVar31 = *(uint *)(puVar19 + 0x14) | 4;\n                    /* try { // try from 002c0aa1 to 002c0aa5 has its CatchHandler @ 002c0e80 */\n      std::ios::clear((_Ios_Iostate)puVar19);\n    }\n    else {\n      uVar31 = 0;\n      std::ios::clear((_Ios_Iostate)puVar19);\n    }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar31 = *(uint *)(puVar19 + 0x14) | 4;\n                    /* try { // try from 002c0aa1 to 002c0aa5 has its CatchHandler @ 002c0e80 */\n      std::ios::clear((_Ios_Iostate)puVar19);\n    }" { (expression_statement "uVar31 = *(uint *)(puVar19 + 0x14) | 4;" (assignment_expression "uVar31 = *(uint *)(puVar19 + 0x14) | 4" identifier = (binary_expression "*(uint *)(puVar19 + 0x14) | 4" (pointer_expression "*(uint *)(puVar19 + 0x14)" * (cast_expression "(uint *)(puVar19 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x14)" ( (binary_expression "puVar19 + 0x14" identifier + number_literal) )))) | number_literal)) ;) comment (labeled_statement "std::ios::clear((_Ios_Iostate)puVar19);" statement_identifier : (ERROR ":" :) (labeled_statement "ios::clear((_Ios_Iostate)puVar19);" statement_identifier : (ERROR ":" :) (expression_statement "clear((_Ios_Iostate)puVar19);" (call_expression "clear((_Ios_Iostate)puVar19)" identifier (argument_list "((_Ios_Iostate)puVar19)" ( (cast_expression "(_Ios_Iostate)puVar19" ( (type_descriptor "_Ios_Iostate" type_identifier) ) identifier) ))) ;))) }) (else_clause "else {\n      uVar31 = 0;\n      std::ios::clear((_Ios_Iostate)puVar19);\n    }" else (compound_statement "{\n      uVar31 = 0;\n      std::ios::clear((_Ios_Iostate)puVar19);\n    }" { (expression_statement "uVar31 = 0;" (assignment_expression "uVar31 = 0" identifier = number_literal) ;) (labeled_statement "std::ios::clear((_Ios_Iostate)puVar19);" statement_identifier : (ERROR ":" :) (labeled_statement "ios::clear((_Ios_Iostate)puVar19);" statement_identifier : (ERROR ":" :) (expression_statement "clear((_Ios_Iostate)puVar19);" (call_expression "clear((_Ios_Iostate)puVar19)" identifier (argument_list "((_Ios_Iostate)puVar19)" ( (cast_expression "(_Ios_Iostate)puVar19" ( (type_descriptor "_Ios_Iostate" type_identifier) ) identifier) ))) ;))) }))) (expression_statement "ppuVar7 = local_1c4;" (assignment_expression "ppuVar7 = local_1c4" identifier = identifier) ;) (if_statement "if ((local_90 & 5) != 0) {\n      piVar16 = __errno_location();\n      pcVar17 = strerror(*piVar16);\n      pcVar15 = (this->retain_symbols_file_).value;\n      format = (char *)gettext(local_1c4 + -0x5645f,uVar31);\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d5c to 002c0d60 has its CatchHandler @ 002c0e80 */\n      gold_fatal(format,pcVar15,pcVar17);\n    }" if (parenthesized_expression "((local_90 & 5) != 0)" ( (binary_expression "(local_90 & 5) != 0" (parenthesized_expression "(local_90 & 5)" ( (binary_expression "local_90 & 5" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      piVar16 = __errno_location();\n      pcVar17 = strerror(*piVar16);\n      pcVar15 = (this->retain_symbols_file_).value;\n      format = (char *)gettext(local_1c4 + -0x5645f,uVar31);\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d5c to 002c0d60 has its CatchHandler @ 002c0e80 */\n      gold_fatal(format,pcVar15,pcVar17);\n    }" { (expression_statement "piVar16 = __errno_location();" (assignment_expression "piVar16 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar17 = strerror(*piVar16);" (assignment_expression "pcVar17 = strerror(*piVar16)" identifier = (call_expression "strerror(*piVar16)" identifier (argument_list "(*piVar16)" ( (pointer_expression "*piVar16" * identifier) )))) ;) (expression_statement "pcVar15 = (this->retain_symbols_file_).value;" (assignment_expression "pcVar15 = (this->retain_symbols_file_).value" identifier = (field_expression "(this->retain_symbols_file_).value" (parenthesized_expression "(this->retain_symbols_file_)" ( (field_expression "this->retain_symbols_file_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "format = (char *)gettext(local_1c4 + -0x5645f,uVar31);" (assignment_expression "format = (char *)gettext(local_1c4 + -0x5645f,uVar31)" identifier = (cast_expression "(char *)gettext(local_1c4 + -0x5645f,uVar31)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext(local_1c4 + -0x5645f,uVar31)" identifier (argument_list "(local_1c4 + -0x5645f,uVar31)" ( (binary_expression "local_1c4 + -0x5645f" identifier + number_literal) , identifier ))))) ;) comment comment (expression_statement "gold_fatal(format,pcVar15,pcVar17);" (call_expression "gold_fatal(format,pcVar15,pcVar17)" identifier (argument_list "(format,pcVar15,pcVar17)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "line.field_2._M_local_buf[0] = '\0';" (assignment_expression "line.field_2._M_local_buf[0] = '\0'" (subscript_expression "line.field_2._M_local_buf[0]" (field_expression "line.field_2._M_local_buf" (field_expression "line.field_2" identifier . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_1e0 = &line.field_2;" (assignment_expression "local_1e0 = &line.field_2" identifier = (pointer_expression "&line.field_2" & (field_expression "line.field_2" identifier . field_identifier))) ;) (expression_statement "line._M_dataplus._M_p = (pointer)&line.field_2;" (assignment_expression "line._M_dataplus._M_p = (pointer)&line.field_2" (field_expression "line._M_dataplus._M_p" (field_expression "line._M_dataplus" identifier . field_identifier) . field_identifier) = (binary_expression "(pointer)&line.field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "line.field_2" identifier . field_identifier))) ;) (expression_statement "line._M_string_length = 0;" (assignment_expression "line._M_string_length = 0" (field_expression "line._M_string_length" identifier . field_identifier) = number_literal) ;) (expression_statement "this_00 = *(ctype<char> **)((int)aiStack_b8 + (int)*(undefined **)(_in + -0xc));" (assignment_expression "this_00 = *(ctype<char> **)((int)aiStack_b8 + (int)*(undefined **)(_in + -0xc))" identifier = (pointer_expression "*(ctype<char> **)((int)aiStack_b8 + (int)*(undefined **)(_in + -0xc))" * (call_expression "(ctype<char> **)((int)aiStack_b8 + (int)*(undefined **)(_in + -0xc))" (parenthesized_expression "(ctype<char> **)" ( (binary_expression "ctype<char> **" (binary_expression "ctype<char" identifier < identifier) > (pointer_expression "**" * (pointer_expression "*" * identifier))) )) (argument_list "((int)aiStack_b8 + (int)*(undefined **)(_in + -0xc))" ( (binary_expression "(int)aiStack_b8 + (int)*(undefined **)(_in + -0xc)" (cast_expression "(int)aiStack_b8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)*(undefined **)(_in + -0xc)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(undefined **)(_in + -0xc)" * (cast_expression "(undefined **)(_in + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(_in + -0xc)" ( (binary_expression "_in + -0xc" identifier + number_literal) )))))) ))))) ;) (if_statement "if (this_00 == (ctype<char> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e40 to 002c0e44 has its CatchHandler @ 002c0edb */\n      std::__throw_bad_cast();\n    }" if (parenthesized_expression "(this_00 == (ctype<char> *)0x0)" ( (binary_expression "this_00 == (ctype<char> *)0x0)" identifier == (parenthesized_expression "(ctype<char> *)0x0)" ( (binary_expression "ctype<char> *)0x0" (binary_expression "ctype<char" identifier < identifier) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e40 to 002c0e44 has its CatchHandler @ 002c0edb */\n      std::__throw_bad_cast();\n    }" { comment comment (labeled_statement "std::__throw_bad_cast();" statement_identifier : (ERROR ":" :) (expression_statement "__throw_bad_cast();" (call_expression "__throw_bad_cast()" identifier (argument_list "()" ( ))) ;)) })) (if_statement "if (this_00[0x1c] == (ctype<char>)0x0) {\n                    /* try { // try from 002c043c to 002c0463 has its CatchHandler @ 002c0edb */\n      std::ctype<char>::_M_widen_init(this_00);\n      cVar9 = (ctype<char>)0xa;\n      if (*(undefined ***)(*(int *)this_00 + 0x18) != ppuVar7 + -0xdabd4) {\n        cVar9 = (ctype<char>)(*(code *)*(undefined ***)(*(int *)this_00 + 0x18))(this_00,10,uVar32);\n      }\n    }\n    else {\n      cVar9 = this_00[0x27];\n    }" if (parenthesized_expression "(this_00[0x1c] == (ctype<char>)0x0)" ( (binary_expression "this_00[0x1c] == (ctype<char>)0x0)" (subscript_expression "this_00[0x1c]" identifier [ number_literal ]) == (parenthesized_expression "(ctype<char>)0x0)" ( (binary_expression "ctype<char>)0x0" (binary_expression "ctype<char" identifier < identifier) > (ERROR ")" )) number_literal) ))) )) (compound_statement "{\n                    /* try { // try from 002c043c to 002c0463 has its CatchHandler @ 002c0edb */\n      std::ctype<char>::_M_widen_init(this_00);\n      cVar9 = (ctype<char>)0xa;\n      if (*(undefined ***)(*(int *)this_00 + 0x18) != ppuVar7 + -0xdabd4) {\n        cVar9 = (ctype<char>)(*(code *)*(undefined ***)(*(int *)this_00 + 0x18))(this_00,10,uVar32);\n      }\n    }" { comment (labeled_statement "std::ctype<char>::_M_widen_init(this_00);" statement_identifier (ERROR "::ctype<char>:" : : (binary_expression "ctype<char" identifier < identifier) > :) : (expression_statement "_M_widen_init(this_00);" (call_expression "_M_widen_init(this_00)" identifier (argument_list "(this_00)" ( identifier ))) ;)) (expression_statement "cVar9 = (ctype<char>)0xa;" (assignment_expression "cVar9 = (ctype<char>)0xa" identifier = (parenthesized_expression "(ctype<char>)0xa" ( (binary_expression "ctype<char>)0xa" (binary_expression "ctype<char" identifier < identifier) > (ERROR ")" )) number_literal) ))) ;) (if_statement "if (*(undefined ***)(*(int *)this_00 + 0x18) != ppuVar7 + -0xdabd4) {\n        cVar9 = (ctype<char>)(*(code *)*(undefined ***)(*(int *)this_00 + 0x18))(this_00,10,uVar32);\n      }" if (parenthesized_expression "(*(undefined ***)(*(int *)this_00 + 0x18) != ppuVar7 + -0xdabd4)" ( (binary_expression "*(undefined ***)(*(int *)this_00 + 0x18) != ppuVar7 + -0xdabd4" (pointer_expression "*(undefined ***)(*(int *)this_00 + 0x18)" * (cast_expression "(undefined ***)(*(int *)this_00 + 0x18)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*(int *)this_00 + 0x18)" ( (binary_expression "*(int *)this_00 + 0x18" (pointer_expression "*(int *)this_00" * (cast_expression "(int *)this_00" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) != (binary_expression "ppuVar7 + -0xdabd4" identifier + number_literal)) )) (compound_statement "{\n        cVar9 = (ctype<char>)(*(code *)*(undefined ***)(*(int *)this_00 + 0x18))(this_00,10,uVar32);\n      }" { (expression_statement "cVar9 = (ctype<char>)(*(code *)*(undefined ***)(*(int *)this_00 + 0x18))(this_00,10,uVar32);" (assignment_expression "cVar9 = (ctype<char>)(*(code *)*(undefined ***)(*(int *)this_00 + 0x18))(this_00,10,uVar32)" identifier = (call_expression "(ctype<char>)(*(code *)*(undefined ***)(*(int *)this_00 + 0x18))(this_00,10,uVar32)" (call_expression "(ctype<char>)(*(code *)*(undefined ***)(*(int *)this_00 + 0x18))" (parenthesized_expression "(ctype<char>)" ( (binary_expression "ctype<char>" (binary_expression "ctype<char" identifier < identifier) > identifier) )) (argument_list "(*(code *)*(undefined ***)(*(int *)this_00 + 0x18))" ( (pointer_expression "*(code *)*(undefined ***)(*(int *)this_00 + 0x18)" * (cast_expression "(code *)*(undefined ***)(*(int *)this_00 + 0x18)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*(undefined ***)(*(int *)this_00 + 0x18)" * (cast_expression "(undefined ***)(*(int *)this_00 + 0x18)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*(int *)this_00 + 0x18)" ( (binary_expression "*(int *)this_00 + 0x18" (pointer_expression "*(int *)this_00" * (cast_expression "(int *)this_00" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))))) ))) (argument_list "(this_00,10,uVar32)" ( identifier , number_literal , identifier )))) ;) })) }) (else_clause "else {\n      cVar9 = this_00[0x27];\n    }" else (compound_statement "{\n      cVar9 = this_00[0x27];\n    }" { (expression_statement "cVar9 = this_00[0x27];" (assignment_expression "cVar9 = this_00[0x27]" identifier = (subscript_expression "this_00[0x27]" identifier [ number_literal ])) ;) }))) (expression_statement "local_1cc = (double)CONCAT44(local_1cc._4_4_,&line);" (assignment_expression "local_1cc = (double)CONCAT44(local_1cc._4_4_,&line)" identifier = (cast_expression "(double)CONCAT44(local_1cc._4_4_,&line)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(local_1cc._4_4_,&line)" identifier (argument_list "(local_1cc._4_4_,&line)" ( (field_expression "local_1cc._4_4_" identifier . field_identifier) , (pointer_expression "&line" & identifier) ))))) ;) comment (ERROR "std::getline<char,std::char_traits<char>,std::" (comma_expression "std::getline<char,std::char_traits<char>,std" identifier (ERROR "::getline<char,std::char_traits<char>" : : (comma_expression "getline<char,std" (binary_expression "getline<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>>\n              ((istream *)local_1d0,(string *)&line,(char)cVar9);" (binary_expression "allocator<char>>\n              ((istream *)local_1d0,(string *)&line,(char)cVar9)" identifier < (binary_expression "char>>\n              ((istream *)local_1d0,(string *)&line,(char)cVar9)" identifier >> (parenthesized_expression "((istream *)local_1d0,(string *)&line,(char)cVar9)" ( (comma_expression "(istream *)local_1d0,(string *)&line,(char)cVar9" (cast_expression "(istream *)local_1d0" ( (type_descriptor "istream *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (comma_expression "(string *)&line,(char)cVar9" (cast_expression "(string *)&line" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&line" & identifier)) , (cast_expression "(char)cVar9" ( (type_descriptor "char" primitive_type) ) identifier))) )))) ;) (expression_statement "local_1d4 = (string *)&this->symbols_to_retain_;" (assignment_expression "local_1d4 = (string *)&this->symbols_to_retain_" identifier = (cast_expression "(string *)&this->symbols_to_retain_" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->symbols_to_retain_" & (field_expression "this->symbols_to_retain_" identifier -> field_identifier)))) ;) (expression_statement "local_1e4 = local_1c0;" (assignment_expression "local_1e4 = local_1c0" identifier = identifier) ;) (while_statement "while ((local_90 & 5) == 0) {\n      if ((line._M_string_length != 0) && (line._M_dataplus._M_p[line._M_string_length - 1] == '\r')\n         ) {\n        *(undefined4 *)(puVar21 + -8) = 0;\n        *(size_type *)(puVar21 + -0xc) = line._M_string_length - 1;\n        *(Search_directory **)(puVar21 + -0x10) = local_1cc._0_4_;\n                    /* try { // try from 002c0182 to 002c0186 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2c0187;\n        std::string::resize(*(uint *)(puVar21 + -0x10),puVar21[-0xc]);\n      }\n      *(undefined4 *)(puVar21 + -8) = 0xc70f6907;\n      *(size_type *)(puVar21 + -0xc) = line._M_string_length;\n      *(pointer *)(puVar21 + -0x10) = line._M_dataplus._M_p;\n      *(undefined4 *)(puVar21 + -0x14) = 0x2bfc8a;\n      uVar31 = std::_Hash_bytes(*(void **)(puVar21 + -0x10),*(uint *)(puVar21 + -0xc),\n                                *(uint *)(puVar21 + -8));\n      local_1d8 = (Dir_list *)(uVar31 % (this->symbols_to_retain_)._M_h._M_bucket_count);\n      *(uint *)(puVar21 + -0x14) = uVar31;\n      *(Search_directory **)(puVar21 + -0x18) = local_1cc._0_4_;\n      *(Dir_list **)(puVar21 + -0x1c) = local_1d8;\n      *(string **)(puVar21 + -0x20) = local_1d4;\n      *(undefined4 *)(puVar21 + -0x24) = 0x2bfcb0;\n      p_Var10 = std::\n                _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::_M_find_before_node\n                          (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                           *(key_type **)(puVar21 + -0x18),*(__hash_code *)(puVar21 + -0x14));\n      if ((p_Var10 == (__node_base *)0x0) || (p_Var10->_M_nxt == (_Hash_node_base *)0x0)) {\n        *(undefined4 *)(puVar21 + -0x10) = 0x20;\n                    /* try { // try from 002bfdcb to 002bfdcf has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2bfdd0;\n        puVar11 = (undefined4 *)operator_new(*(uint *)(puVar21 + -0x10));\n        *puVar11 = 0;\n        puVar11[1] = puVar11 + 3;\n        *(undefined4 *)(puVar21 + -4) = 0;\n        *(pointer *)(puVar21 + -8) = line._M_dataplus._M_p + line._M_string_length;\n        *(pointer *)(puVar21 + -0xc) = line._M_dataplus._M_p;\n        *(undefined4 **)(puVar21 + -0x10) = puVar11 + 1;\n                    /* try { // try from 002bfdf7 to 002bfdfb has its CatchHandler @ 002c0ee9 */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2bfdfc;\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>();\n        *(undefined4 *)(puVar21 + -0xc) = 1;\n        *(undefined4 **)(puVar21 + -0x10) = puVar11;\n        *(uint *)(puVar21 + -0x14) = uVar31;\n        *(Dir_list **)(puVar21 + -0x18) = local_1d8;\n        *(string **)(puVar21 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar21 + -0x20) = local_1e4;\n                    /* try { // try from 002bfe14 to 002bfe18 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x24) = 0x2bfe19;\n        std::\n        _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::_M_insert_unique_node\n                  (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                     **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                   *(__hash_code *)(puVar21 + -0x18),*(__node_type **)(puVar21 + -0x14),\n                   *(size_type *)(puVar21 + -0x10));\n        puVar21 = puVar21 + -4;\n      }\n      ppuVar7 = local_1c4;\n      piVar16 = *(int **)((int)aiStack_b8 + (int)*(undefined **)(_in + -0xc));\n      if (piVar16 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0bfa to 002c0bfe has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -4) = 0x2c0bff;\n        std::__throw_bad_cast();\n      }\n      if ((char)piVar16[7] == '\0') {\n        *(int **)(puVar21 + -0x10) = piVar16;\n                    /* try { // try from 002bfcf3 to 002bfd1a has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2bfcf8;\n        std::ctype<char>::_M_widen_init(*(ctype<char> **)(puVar21 + -0x10));\n        ppuVar4 = *(undefined ***)(*piVar16 + 0x18);\n        iVar18 = 10;\n        if (ppuVar4 != ppuVar7 + -0xdabd4) {\n          *(undefined4 *)(puVar21 + -0xc) = 10;\n          *(int **)(puVar21 + -0x10) = piVar16;\n          *(undefined4 *)(puVar21 + -0x14) = 0x2bfd1b;\n          cVar8 = (*(code *)ppuVar4)();\n          iVar18 = (int)cVar8;\n        }\n      }\n      else {\n        iVar18 = (int)*(char *)((int)piVar16 + 0x27);\n      }\n      *(int *)(puVar21 + -8) = iVar18;\n      *(Search_directory **)(puVar21 + -0xc) = local_1cc._0_4_;\n      *(Search_directory **)(puVar21 + -0x10) = local_1d0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x2bfc47;\n      std::getline<char,std::char_traits<char>,std::allocator<char>>\n                (*(istream **)(puVar21 + -0x10),*(string **)(puVar21 + -0xc),puVar21[-8]);\n    }" while (parenthesized_expression "((local_90 & 5) == 0)" ( (binary_expression "(local_90 & 5) == 0" (parenthesized_expression "(local_90 & 5)" ( (binary_expression "local_90 & 5" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((line._M_string_length != 0) && (line._M_dataplus._M_p[line._M_string_length - 1] == '\r')\n         ) {\n        *(undefined4 *)(puVar21 + -8) = 0;\n        *(size_type *)(puVar21 + -0xc) = line._M_string_length - 1;\n        *(Search_directory **)(puVar21 + -0x10) = local_1cc._0_4_;\n                    /* try { // try from 002c0182 to 002c0186 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2c0187;\n        std::string::resize(*(uint *)(puVar21 + -0x10),puVar21[-0xc]);\n      }\n      *(undefined4 *)(puVar21 + -8) = 0xc70f6907;\n      *(size_type *)(puVar21 + -0xc) = line._M_string_length;\n      *(pointer *)(puVar21 + -0x10) = line._M_dataplus._M_p;\n      *(undefined4 *)(puVar21 + -0x14) = 0x2bfc8a;\n      uVar31 = std::_Hash_bytes(*(void **)(puVar21 + -0x10),*(uint *)(puVar21 + -0xc),\n                                *(uint *)(puVar21 + -8));\n      local_1d8 = (Dir_list *)(uVar31 % (this->symbols_to_retain_)._M_h._M_bucket_count);\n      *(uint *)(puVar21 + -0x14) = uVar31;\n      *(Search_directory **)(puVar21 + -0x18) = local_1cc._0_4_;\n      *(Dir_list **)(puVar21 + -0x1c) = local_1d8;\n      *(string **)(puVar21 + -0x20) = local_1d4;\n      *(undefined4 *)(puVar21 + -0x24) = 0x2bfcb0;\n      p_Var10 = std::\n                _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::_M_find_before_node\n                          (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                           *(key_type **)(puVar21 + -0x18),*(__hash_code *)(puVar21 + -0x14));\n      if ((p_Var10 == (__node_base *)0x0) || (p_Var10->_M_nxt == (_Hash_node_base *)0x0)) {\n        *(undefined4 *)(puVar21 + -0x10) = 0x20;\n                    /* try { // try from 002bfdcb to 002bfdcf has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2bfdd0;\n        puVar11 = (undefined4 *)operator_new(*(uint *)(puVar21 + -0x10));\n        *puVar11 = 0;\n        puVar11[1] = puVar11 + 3;\n        *(undefined4 *)(puVar21 + -4) = 0;\n        *(pointer *)(puVar21 + -8) = line._M_dataplus._M_p + line._M_string_length;\n        *(pointer *)(puVar21 + -0xc) = line._M_dataplus._M_p;\n        *(undefined4 **)(puVar21 + -0x10) = puVar11 + 1;\n                    /* try { // try from 002bfdf7 to 002bfdfb has its CatchHandler @ 002c0ee9 */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2bfdfc;\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>();\n        *(undefined4 *)(puVar21 + -0xc) = 1;\n        *(undefined4 **)(puVar21 + -0x10) = puVar11;\n        *(uint *)(puVar21 + -0x14) = uVar31;\n        *(Dir_list **)(puVar21 + -0x18) = local_1d8;\n        *(string **)(puVar21 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar21 + -0x20) = local_1e4;\n                    /* try { // try from 002bfe14 to 002bfe18 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x24) = 0x2bfe19;\n        std::\n        _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::_M_insert_unique_node\n                  (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                     **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                   *(__hash_code *)(puVar21 + -0x18),*(__node_type **)(puVar21 + -0x14),\n                   *(size_type *)(puVar21 + -0x10));\n        puVar21 = puVar21 + -4;\n      }\n      ppuVar7 = local_1c4;\n      piVar16 = *(int **)((int)aiStack_b8 + (int)*(undefined **)(_in + -0xc));\n      if (piVar16 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0bfa to 002c0bfe has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -4) = 0x2c0bff;\n        std::__throw_bad_cast();\n      }\n      if ((char)piVar16[7] == '\0') {\n        *(int **)(puVar21 + -0x10) = piVar16;\n                    /* try { // try from 002bfcf3 to 002bfd1a has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2bfcf8;\n        std::ctype<char>::_M_widen_init(*(ctype<char> **)(puVar21 + -0x10));\n        ppuVar4 = *(undefined ***)(*piVar16 + 0x18);\n        iVar18 = 10;\n        if (ppuVar4 != ppuVar7 + -0xdabd4) {\n          *(undefined4 *)(puVar21 + -0xc) = 10;\n          *(int **)(puVar21 + -0x10) = piVar16;\n          *(undefined4 *)(puVar21 + -0x14) = 0x2bfd1b;\n          cVar8 = (*(code *)ppuVar4)();\n          iVar18 = (int)cVar8;\n        }\n      }\n      else {\n        iVar18 = (int)*(char *)((int)piVar16 + 0x27);\n      }\n      *(int *)(puVar21 + -8) = iVar18;\n      *(Search_directory **)(puVar21 + -0xc) = local_1cc._0_4_;\n      *(Search_directory **)(puVar21 + -0x10) = local_1d0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x2bfc47;\n      std::getline<char,std::char_traits<char>,std::allocator<char>>\n                (*(istream **)(puVar21 + -0x10),*(string **)(puVar21 + -0xc),puVar21[-8]);\n    }" { (if_statement "if ((line._M_string_length != 0) && (line._M_dataplus._M_p[line._M_string_length - 1] == '\r')\n         ) {\n        *(undefined4 *)(puVar21 + -8) = 0;\n        *(size_type *)(puVar21 + -0xc) = line._M_string_length - 1;\n        *(Search_directory **)(puVar21 + -0x10) = local_1cc._0_4_;\n                    /* try { // try from 002c0182 to 002c0186 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2c0187;\n        std::string::resize(*(uint *)(puVar21 + -0x10),puVar21[-0xc]);\n      }" if (parenthesized_expression "((line._M_string_length != 0) && (line._M_dataplus._M_p[line._M_string_length - 1] == '\r')\n         )" ( (binary_expression "(line._M_string_length != 0) && (line._M_dataplus._M_p[line._M_string_length - 1] == '\r')" (parenthesized_expression "(line._M_string_length != 0)" ( (binary_expression "line._M_string_length != 0" (field_expression "line._M_string_length" identifier . field_identifier) != number_literal) )) && (parenthesized_expression "(line._M_dataplus._M_p[line._M_string_length - 1] == '\r')" ( (binary_expression "line._M_dataplus._M_p[line._M_string_length - 1] == '\r'" (subscript_expression "line._M_dataplus._M_p[line._M_string_length - 1]" (field_expression "line._M_dataplus._M_p" (field_expression "line._M_dataplus" identifier . field_identifier) . field_identifier) [ (binary_expression "line._M_string_length - 1" (field_expression "line._M_string_length" identifier . field_identifier) - number_literal) ]) == (char_literal "'\r'" ' escape_sequence ')) ))) )) (compound_statement "{\n        *(undefined4 *)(puVar21 + -8) = 0;\n        *(size_type *)(puVar21 + -0xc) = line._M_string_length - 1;\n        *(Search_directory **)(puVar21 + -0x10) = local_1cc._0_4_;\n                    /* try { // try from 002c0182 to 002c0186 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2c0187;\n        std::string::resize(*(uint *)(puVar21 + -0x10),puVar21[-0xc]);\n      }" { (expression_statement "*(undefined4 *)(puVar21 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(size_type *)(puVar21 + -0xc) = line._M_string_length - 1;" (assignment_expression "*(size_type *)(puVar21 + -0xc) = line._M_string_length - 1" (pointer_expression "*(size_type *)(puVar21 + -0xc)" * (cast_expression "(size_type *)(puVar21 + -0xc)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (binary_expression "line._M_string_length - 1" (field_expression "line._M_string_length" identifier . field_identifier) - number_literal)) ;) (expression_statement "*(Search_directory **)(puVar21 + -0x10) = local_1cc._0_4_;" (assignment_expression "*(Search_directory **)(puVar21 + -0x10) = local_1cc._0_4_" (pointer_expression "*(Search_directory **)(puVar21 + -0x10)" * (cast_expression "(Search_directory **)(puVar21 + -0x10)" ( (type_descriptor "Search_directory **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = (field_expression "local_1cc._0_4_" identifier . field_identifier)) ;) comment (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x2c0187;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x2c0187" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "std::string::resize(*(uint *)(puVar21 + -0x10),puVar21[-0xc]);" statement_identifier : (ERROR ":" :) (labeled_statement "string::resize(*(uint *)(puVar21 + -0x10),puVar21[-0xc]);" statement_identifier : (ERROR ":" :) (expression_statement "resize(*(uint *)(puVar21 + -0x10),puVar21[-0xc]);" (call_expression "resize(*(uint *)(puVar21 + -0x10),puVar21[-0xc])" identifier (argument_list "(*(uint *)(puVar21 + -0x10),puVar21[-0xc])" ( (pointer_expression "*(uint *)(puVar21 + -0x10)" * (cast_expression "(uint *)(puVar21 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) , (subscript_expression "puVar21[-0xc]" identifier [ number_literal ]) ))) ;))) })) (expression_statement "*(undefined4 *)(puVar21 + -8) = 0xc70f6907;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 0xc70f6907" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(size_type *)(puVar21 + -0xc) = line._M_string_length;" (assignment_expression "*(size_type *)(puVar21 + -0xc) = line._M_string_length" (pointer_expression "*(size_type *)(puVar21 + -0xc)" * (cast_expression "(size_type *)(puVar21 + -0xc)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (field_expression "line._M_string_length" identifier . field_identifier)) ;) (expression_statement "*(pointer *)(puVar21 + -0x10) = line._M_dataplus._M_p;" (assignment_expression "*(pointer *)(puVar21 + -0x10) = line._M_dataplus._M_p" (pointer_expression "*(pointer *)(puVar21 + -0x10)" * (cast_expression "(pointer *)(puVar21 + -0x10)" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = (field_expression "line._M_dataplus._M_p" (field_expression "line._M_dataplus" identifier . field_identifier) . field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x2bfc8a;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x2bfc8a" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (ERROR "uVar31 = std::" (assignment_expression "uVar31 = std" identifier = identifier) : :) (expression_statement "_Hash_bytes(*(void **)(puVar21 + -0x10),*(uint *)(puVar21 + -0xc),\n                                *(uint *)(puVar21 + -8));" (call_expression "_Hash_bytes(*(void **)(puVar21 + -0x10),*(uint *)(puVar21 + -0xc),\n                                *(uint *)(puVar21 + -8))" identifier (argument_list "(*(void **)(puVar21 + -0x10),*(uint *)(puVar21 + -0xc),\n                                *(uint *)(puVar21 + -8))" ( (pointer_expression "*(void **)(puVar21 + -0x10)" * (cast_expression "(void **)(puVar21 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(uint *)(puVar21 + -0xc)" * (cast_expression "(uint *)(puVar21 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(uint *)(puVar21 + -8)" * (cast_expression "(uint *)(puVar21 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) ))) ;) (expression_statement "local_1d8 = (Dir_list *)(uVar31 % (this->symbols_to_retain_)._M_h._M_bucket_count);" (assignment_expression "local_1d8 = (Dir_list *)(uVar31 % (this->symbols_to_retain_)._M_h._M_bucket_count)" identifier = (cast_expression "(Dir_list *)(uVar31 % (this->symbols_to_retain_)._M_h._M_bucket_count)" ( (type_descriptor "Dir_list *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar31 % (this->symbols_to_retain_)._M_h._M_bucket_count)" ( (binary_expression "uVar31 % (this->symbols_to_retain_)._M_h._M_bucket_count" identifier % (field_expression "(this->symbols_to_retain_)._M_h._M_bucket_count" (field_expression "(this->symbols_to_retain_)._M_h" (parenthesized_expression "(this->symbols_to_retain_)" ( (field_expression "this->symbols_to_retain_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) )))) ;) (expression_statement "*(uint *)(puVar21 + -0x14) = uVar31;" (assignment_expression "*(uint *)(puVar21 + -0x14) = uVar31" (pointer_expression "*(uint *)(puVar21 + -0x14)" * (cast_expression "(uint *)(puVar21 + -0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(Search_directory **)(puVar21 + -0x18) = local_1cc._0_4_;" (assignment_expression "*(Search_directory **)(puVar21 + -0x18) = local_1cc._0_4_" (pointer_expression "*(Search_directory **)(puVar21 + -0x18)" * (cast_expression "(Search_directory **)(puVar21 + -0x18)" ( (type_descriptor "Search_directory **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x18)" ( (binary_expression "puVar21 + -0x18" identifier + number_literal) )))) = (field_expression "local_1cc._0_4_" identifier . field_identifier)) ;) (expression_statement "*(Dir_list **)(puVar21 + -0x1c) = local_1d8;" (assignment_expression "*(Dir_list **)(puVar21 + -0x1c) = local_1d8" (pointer_expression "*(Dir_list **)(puVar21 + -0x1c)" * (cast_expression "(Dir_list **)(puVar21 + -0x1c)" ( (type_descriptor "Dir_list **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x1c)" ( (binary_expression "puVar21 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(string **)(puVar21 + -0x20) = local_1d4;" (assignment_expression "*(string **)(puVar21 + -0x20) = local_1d4" (pointer_expression "*(string **)(puVar21 + -0x20)" * (cast_expression "(string **)(puVar21 + -0x20)" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x20)" ( (binary_expression "puVar21 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x24) = 0x2bfcb0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x24) = 0x2bfcb0" (pointer_expression "*(undefined4 *)(puVar21 + -0x24)" * (cast_expression "(undefined4 *)(puVar21 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x24)" ( (binary_expression "puVar21 + -0x24" identifier + number_literal) )))) = number_literal) ;) (ERROR "p_Var10 = std::\n                _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::" (assignment_expression "p_Var10 = 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) : : (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 "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std" identifier (ERROR "::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>" : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) >) , identifier) : : (binary_expression "hash<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::_M_find_before_node\n                          (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                           *(key_type **)(puVar21 + -0x18),*(__hash_code *)(puVar21 + -0x14));" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::_M_find_before_node\n                          (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                           *(key_type **)(puVar21 + -0x18),*(__hash_code *)(puVar21 + -0x14));" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::_M_find_before_node\n                          (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                           *(key_type **)(puVar21 + -0x18),*(__hash_code *)(puVar21 + -0x14));" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_true,_true>_>\n                ::_M_find_before_node\n                          (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                           *(key_type **)(puVar21 + -0x18),*(__hash_code *)(puVar21 + -0x14));" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_true,_true>_>\n                ::_M_find_before_node\n                          (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                           *(key_type **)(puVar21 + -0x18),*(__hash_code *)(puVar21 + -0x14));" (comma_expression "_Hashtable_traits<true,_true,_true>_>\n                ::_M_find_before_node\n                          (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                           *(key_type **)(puVar21 + -0x18),*(__hash_code *)(puVar21 + -0x14))" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n                ::_M_find_before_node\n                          (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                           *(key_type **)(puVar21 + -0x18),*(__hash_code *)(puVar21 + -0x14))" identifier , (binary_expression "_true>_>\n                ::_M_find_before_node\n                          (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                           *(key_type **)(puVar21 + -0x18),*(__hash_code *)(puVar21 + -0x14))" (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::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                           *(key_type **)(puVar21 + -0x18),*(__hash_code *)(puVar21 + -0x14))" identifier (argument_list "(*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                           *(key_type **)(puVar21 + -0x18),*(__hash_code *)(puVar21 + -0x14))" ( (pointer_expression "*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             **)(puVar21 + -0x20)" * (call_expression "(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             **)(puVar21 + -0x20)" (parenthesized_expression "(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             **)" ( (ERROR "_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<std::__cxx11::basic_string<char,_std" (binary_expression "_Hashtable<std::__cxx11::basic_string<char" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "hash<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<true,_true,_true>_>\n                             **" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n                             **" identifier , (binary_expression "_true>_>\n                             **" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "**" * (pointer_expression "*" * identifier))))) )) (argument_list "(puVar21 + -0x20)" ( (binary_expression "puVar21 + -0x20" identifier + number_literal) )))) , (pointer_expression "*(size_type *)(puVar21 + -0x1c)" * (cast_expression "(size_type *)(puVar21 + -0x1c)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x1c)" ( (binary_expression "puVar21 + -0x1c" identifier + number_literal) )))) , (pointer_expression "*(key_type **)(puVar21 + -0x18)" * (cast_expression "(key_type **)(puVar21 + -0x18)" ( (type_descriptor "key_type **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x18)" ( (binary_expression "puVar21 + -0x18" identifier + number_literal) )))) , (pointer_expression "*(__hash_code *)(puVar21 + -0x14)" * (cast_expression "(__hash_code *)(puVar21 + -0x14)" ( (type_descriptor "__hash_code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) )))))) ;))))) (if_statement "if ((p_Var10 == (__node_base *)0x0) || (p_Var10->_M_nxt == (_Hash_node_base *)0x0)) {\n        *(undefined4 *)(puVar21 + -0x10) = 0x20;\n                    /* try { // try from 002bfdcb to 002bfdcf has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2bfdd0;\n        puVar11 = (undefined4 *)operator_new(*(uint *)(puVar21 + -0x10));\n        *puVar11 = 0;\n        puVar11[1] = puVar11 + 3;\n        *(undefined4 *)(puVar21 + -4) = 0;\n        *(pointer *)(puVar21 + -8) = line._M_dataplus._M_p + line._M_string_length;\n        *(pointer *)(puVar21 + -0xc) = line._M_dataplus._M_p;\n        *(undefined4 **)(puVar21 + -0x10) = puVar11 + 1;\n                    /* try { // try from 002bfdf7 to 002bfdfb has its CatchHandler @ 002c0ee9 */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2bfdfc;\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>();\n        *(undefined4 *)(puVar21 + -0xc) = 1;\n        *(undefined4 **)(puVar21 + -0x10) = puVar11;\n        *(uint *)(puVar21 + -0x14) = uVar31;\n        *(Dir_list **)(puVar21 + -0x18) = local_1d8;\n        *(string **)(puVar21 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar21 + -0x20) = local_1e4;\n                    /* try { // try from 002bfe14 to 002bfe18 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x24) = 0x2bfe19;\n        std::\n        _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::_M_insert_unique_node\n                  (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                     **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                   *(__hash_code *)(puVar21 + -0x18),*(__node_type **)(puVar21 + -0x14),\n                   *(size_type *)(puVar21 + -0x10));\n        puVar21 = puVar21 + -4;\n      }" if (parenthesized_expression "((p_Var10 == (__node_base *)0x0) || (p_Var10->_M_nxt == (_Hash_node_base *)0x0))" ( (binary_expression "(p_Var10 == (__node_base *)0x0) || (p_Var10->_M_nxt == (_Hash_node_base *)0x0)" (parenthesized_expression "(p_Var10 == (__node_base *)0x0)" ( (binary_expression "p_Var10 == (__node_base *)0x0" identifier == (cast_expression "(__node_base *)0x0" ( (type_descriptor "__node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(p_Var10->_M_nxt == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var10->_M_nxt == (_Hash_node_base *)0x0" (field_expression "p_Var10->_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        *(undefined4 *)(puVar21 + -0x10) = 0x20;\n                    /* try { // try from 002bfdcb to 002bfdcf has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2bfdd0;\n        puVar11 = (undefined4 *)operator_new(*(uint *)(puVar21 + -0x10));\n        *puVar11 = 0;\n        puVar11[1] = puVar11 + 3;\n        *(undefined4 *)(puVar21 + -4) = 0;\n        *(pointer *)(puVar21 + -8) = line._M_dataplus._M_p + line._M_string_length;\n        *(pointer *)(puVar21 + -0xc) = line._M_dataplus._M_p;\n        *(undefined4 **)(puVar21 + -0x10) = puVar11 + 1;\n                    /* try { // try from 002bfdf7 to 002bfdfb has its CatchHandler @ 002c0ee9 */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2bfdfc;\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>();\n        *(undefined4 *)(puVar21 + -0xc) = 1;\n        *(undefined4 **)(puVar21 + -0x10) = puVar11;\n        *(uint *)(puVar21 + -0x14) = uVar31;\n        *(Dir_list **)(puVar21 + -0x18) = local_1d8;\n        *(string **)(puVar21 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar21 + -0x20) = local_1e4;\n                    /* try { // try from 002bfe14 to 002bfe18 has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x24) = 0x2bfe19;\n        std::\n        _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::_M_insert_unique_node\n                  (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                     **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                   *(__hash_code *)(puVar21 + -0x18),*(__node_type **)(puVar21 + -0x14),\n                   *(size_type *)(puVar21 + -0x10));\n        puVar21 = puVar21 + -4;\n      }" { (expression_statement "*(undefined4 *)(puVar21 + -0x10) = 0x20;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = 0x20" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = number_literal) ;) comment (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x2bfdd0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x2bfdd0" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar11 = (undefined4 *)operator_new(*(uint *)(puVar21 + -0x10));" (assignment_expression "puVar11 = (undefined4 *)operator_new(*(uint *)(puVar21 + -0x10))" identifier = (cast_expression "(undefined4 *)operator_new(*(uint *)(puVar21 + -0x10))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(*(uint *)(puVar21 + -0x10))" identifier (argument_list "(*(uint *)(puVar21 + -0x10))" ( (pointer_expression "*(uint *)(puVar21 + -0x10)" * (cast_expression "(uint *)(puVar21 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))))) ;) (expression_statement "*puVar11 = 0;" (assignment_expression "*puVar11 = 0" (pointer_expression "*puVar11" * identifier) = number_literal) ;) (expression_statement "puVar11[1] = puVar11 + 3;" (assignment_expression "puVar11[1] = puVar11 + 3" (subscript_expression "puVar11[1]" identifier [ number_literal ]) = (binary_expression "puVar11 + 3" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -4)" * (cast_expression "(undefined4 *)(puVar21 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(pointer *)(puVar21 + -8) = line._M_dataplus._M_p + line._M_string_length;" (assignment_expression "*(pointer *)(puVar21 + -8) = line._M_dataplus._M_p + line._M_string_length" (pointer_expression "*(pointer *)(puVar21 + -8)" * (cast_expression "(pointer *)(puVar21 + -8)" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = (binary_expression "line._M_dataplus._M_p + line._M_string_length" (field_expression "line._M_dataplus._M_p" (field_expression "line._M_dataplus" identifier . field_identifier) . field_identifier) + (field_expression "line._M_string_length" identifier . field_identifier))) ;) (expression_statement "*(pointer *)(puVar21 + -0xc) = line._M_dataplus._M_p;" (assignment_expression "*(pointer *)(puVar21 + -0xc) = line._M_dataplus._M_p" (pointer_expression "*(pointer *)(puVar21 + -0xc)" * (cast_expression "(pointer *)(puVar21 + -0xc)" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (field_expression "line._M_dataplus._M_p" (field_expression "line._M_dataplus" identifier . field_identifier) . field_identifier)) ;) (expression_statement "*(undefined4 **)(puVar21 + -0x10) = puVar11 + 1;" (assignment_expression "*(undefined4 **)(puVar21 + -0x10) = puVar11 + 1" (pointer_expression "*(undefined4 **)(puVar21 + -0x10)" * (cast_expression "(undefined4 **)(puVar21 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = (binary_expression "puVar11 + 1" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x2bfdfc;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x2bfdfc" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>();" 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*>();" (binary_expression "_M_construct<char" identifier < identifier) (ERROR "*>()" * > ( )) ;)) (expression_statement "*(undefined4 *)(puVar21 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar21 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar21 + -0xc)" * (cast_expression "(undefined4 *)(puVar21 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 **)(puVar21 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)(puVar21 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)(puVar21 + -0x10)" * (cast_expression "(undefined4 **)(puVar21 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar21 + -0x14) = uVar31;" (assignment_expression "*(uint *)(puVar21 + -0x14) = uVar31" (pointer_expression "*(uint *)(puVar21 + -0x14)" * (cast_expression "(uint *)(puVar21 + -0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(Dir_list **)(puVar21 + -0x18) = local_1d8;" (assignment_expression "*(Dir_list **)(puVar21 + -0x18) = local_1d8" (pointer_expression "*(Dir_list **)(puVar21 + -0x18)" * (cast_expression "(Dir_list **)(puVar21 + -0x18)" ( (type_descriptor "Dir_list **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x18)" ( (binary_expression "puVar21 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(string **)(puVar21 + -0x1c) = local_1d4;" (assignment_expression "*(string **)(puVar21 + -0x1c) = local_1d4" (pointer_expression "*(string **)(puVar21 + -0x1c)" * (cast_expression "(string **)(puVar21 + -0x1c)" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x1c)" ( (binary_expression "puVar21 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar21 + -0x20) = local_1e4;" (assignment_expression "*(undefined1 **)(puVar21 + -0x20) = local_1e4" (pointer_expression "*(undefined1 **)(puVar21 + -0x20)" * (cast_expression "(undefined1 **)(puVar21 + -0x20)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x20)" ( (binary_expression "puVar21 + -0x20" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar21 + -0x24) = 0x2bfe19;" (assignment_expression "*(undefined4 *)(puVar21 + -0x24) = 0x2bfe19" (pointer_expression "*(undefined4 *)(puVar21 + -0x24)" * (cast_expression "(undefined4 *)(puVar21 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x24)" ( (binary_expression "puVar21 + -0x24" identifier + number_literal) )))) = number_literal) ;) (ERROR "std::\n        _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::" (comma_expression "std::\n        _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std" identifier (ERROR "::\n        _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) >) , identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std" identifier (ERROR "::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>" : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) >) , identifier) : : (binary_expression "hash<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::_M_insert_unique_node\n                  (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                     **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                   *(__hash_code *)(puVar21 + -0x18),*(__node_type **)(puVar21 + -0x14),\n                   *(size_type *)(puVar21 + -0x10));" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::_M_insert_unique_node\n                  (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                     **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                   *(__hash_code *)(puVar21 + -0x18),*(__node_type **)(puVar21 + -0x14),\n                   *(size_type *)(puVar21 + -0x10));" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::_M_insert_unique_node\n                  (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                     **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                   *(__hash_code *)(puVar21 + -0x18),*(__node_type **)(puVar21 + -0x14),\n                   *(size_type *)(puVar21 + -0x10));" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_true,_true>_>\n        ::_M_insert_unique_node\n                  (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                     **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                   *(__hash_code *)(puVar21 + -0x18),*(__node_type **)(puVar21 + -0x14),\n                   *(size_type *)(puVar21 + -0x10));" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_true,_true>_>\n        ::_M_insert_unique_node\n                  (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                     **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                   *(__hash_code *)(puVar21 + -0x18),*(__node_type **)(puVar21 + -0x14),\n                   *(size_type *)(puVar21 + -0x10));" (comma_expression "_Hashtable_traits<true,_true,_true>_>\n        ::_M_insert_unique_node\n                  (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                     **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                   *(__hash_code *)(puVar21 + -0x18),*(__node_type **)(puVar21 + -0x14),\n                   *(size_type *)(puVar21 + -0x10))" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n        ::_M_insert_unique_node\n                  (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                     **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                   *(__hash_code *)(puVar21 + -0x18),*(__node_type **)(puVar21 + -0x14),\n                   *(size_type *)(puVar21 + -0x10))" identifier , (binary_expression "_true>_>\n        ::_M_insert_unique_node\n                  (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                     **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                   *(__hash_code *)(puVar21 + -0x18),*(__node_type **)(puVar21 + -0x14),\n                   *(size_type *)(puVar21 + -0x10))" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "_M_insert_unique_node\n                  (*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                     **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                   *(__hash_code *)(puVar21 + -0x18),*(__node_type **)(puVar21 + -0x14),\n                   *(size_type *)(puVar21 + -0x10))" identifier (argument_list "(*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                     **)(puVar21 + -0x20),*(size_type *)(puVar21 + -0x1c),\n                   *(__hash_code *)(puVar21 + -0x18),*(__node_type **)(puVar21 + -0x14),\n                   *(size_type *)(puVar21 + -0x10))" ( (pointer_expression "*(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                     **)(puVar21 + -0x20)" * (call_expression "(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                     **)(puVar21 + -0x20)" (parenthesized_expression "(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                     **)" ( (ERROR "_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<std::__cxx11::basic_string<char,_std" (binary_expression "_Hashtable<std::__cxx11::basic_string<char" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "hash<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<true,_true,_true>_>\n                     **" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n                     **" identifier , (binary_expression "_true>_>\n                     **" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "**" * (pointer_expression "*" * identifier))))) )) (argument_list "(puVar21 + -0x20)" ( (binary_expression "puVar21 + -0x20" identifier + number_literal) )))) , (pointer_expression "*(size_type *)(puVar21 + -0x1c)" * (cast_expression "(size_type *)(puVar21 + -0x1c)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x1c)" ( (binary_expression "puVar21 + -0x1c" identifier + number_literal) )))) , (pointer_expression "*(__hash_code *)(puVar21 + -0x18)" * (cast_expression "(__hash_code *)(puVar21 + -0x18)" ( (type_descriptor "__hash_code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x18)" ( (binary_expression "puVar21 + -0x18" identifier + number_literal) )))) , (pointer_expression "*(__node_type **)(puVar21 + -0x14)" * (cast_expression "(__node_type **)(puVar21 + -0x14)" ( (type_descriptor "__node_type **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) , (pointer_expression "*(size_type *)(puVar21 + -0x10)" * (cast_expression "(size_type *)(puVar21 + -0x10)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) )))))) ;))))) (expression_statement "puVar21 = puVar21 + -4;" (assignment_expression "puVar21 = puVar21 + -4" identifier = (binary_expression "puVar21 + -4" identifier + number_literal)) ;) })) (expression_statement "ppuVar7 = local_1c4;" (assignment_expression "ppuVar7 = local_1c4" identifier = identifier) ;) (expression_statement "piVar16 = *(int **)((int)aiStack_b8 + (int)*(undefined **)(_in + -0xc));" (assignment_expression "piVar16 = *(int **)((int)aiStack_b8 + (int)*(undefined **)(_in + -0xc))" identifier = (pointer_expression "*(int **)((int)aiStack_b8 + (int)*(undefined **)(_in + -0xc))" * (cast_expression "(int **)((int)aiStack_b8 + (int)*(undefined **)(_in + -0xc))" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)aiStack_b8 + (int)*(undefined **)(_in + -0xc))" ( (binary_expression "(int)aiStack_b8 + (int)*(undefined **)(_in + -0xc)" (cast_expression "(int)aiStack_b8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)*(undefined **)(_in + -0xc)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(undefined **)(_in + -0xc)" * (cast_expression "(undefined **)(_in + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(_in + -0xc)" ( (binary_expression "_in + -0xc" identifier + number_literal) )))))) ))))) ;) (if_statement "if (piVar16 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0bfa to 002c0bfe has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -4) = 0x2c0bff;\n        std::__throw_bad_cast();\n      }" if (parenthesized_expression "(piVar16 == (int *)0x0)" ( (binary_expression "piVar16 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0bfa to 002c0bfe has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -4) = 0x2c0bff;\n        std::__throw_bad_cast();\n      }" { comment comment (expression_statement "*(undefined4 *)(puVar21 + -4) = 0x2c0bff;" (assignment_expression "*(undefined4 *)(puVar21 + -4) = 0x2c0bff" (pointer_expression "*(undefined4 *)(puVar21 + -4)" * (cast_expression "(undefined4 *)(puVar21 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "std::__throw_bad_cast();" statement_identifier : (ERROR ":" :) (expression_statement "__throw_bad_cast();" (call_expression "__throw_bad_cast()" identifier (argument_list "()" ( ))) ;)) })) (if_statement "if ((char)piVar16[7] == '\0') {\n        *(int **)(puVar21 + -0x10) = piVar16;\n                    /* try { // try from 002bfcf3 to 002bfd1a has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2bfcf8;\n        std::ctype<char>::_M_widen_init(*(ctype<char> **)(puVar21 + -0x10));\n        ppuVar4 = *(undefined ***)(*piVar16 + 0x18);\n        iVar18 = 10;\n        if (ppuVar4 != ppuVar7 + -0xdabd4) {\n          *(undefined4 *)(puVar21 + -0xc) = 10;\n          *(int **)(puVar21 + -0x10) = piVar16;\n          *(undefined4 *)(puVar21 + -0x14) = 0x2bfd1b;\n          cVar8 = (*(code *)ppuVar4)();\n          iVar18 = (int)cVar8;\n        }\n      }\n      else {\n        iVar18 = (int)*(char *)((int)piVar16 + 0x27);\n      }" if (parenthesized_expression "((char)piVar16[7] == '\0')" ( (binary_expression "(char)piVar16[7] == '\0'" (cast_expression "(char)piVar16[7]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar16[7]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(int **)(puVar21 + -0x10) = piVar16;\n                    /* try { // try from 002bfcf3 to 002bfd1a has its CatchHandler @ 002c0edb */\n        *(undefined4 *)(puVar21 + -0x14) = 0x2bfcf8;\n        std::ctype<char>::_M_widen_init(*(ctype<char> **)(puVar21 + -0x10));\n        ppuVar4 = *(undefined ***)(*piVar16 + 0x18);\n        iVar18 = 10;\n        if (ppuVar4 != ppuVar7 + -0xdabd4) {\n          *(undefined4 *)(puVar21 + -0xc) = 10;\n          *(int **)(puVar21 + -0x10) = piVar16;\n          *(undefined4 *)(puVar21 + -0x14) = 0x2bfd1b;\n          cVar8 = (*(code *)ppuVar4)();\n          iVar18 = (int)cVar8;\n        }\n      }" { (expression_statement "*(int **)(puVar21 + -0x10) = piVar16;" (assignment_expression "*(int **)(puVar21 + -0x10) = piVar16" (pointer_expression "*(int **)(puVar21 + -0x10)" * (cast_expression "(int **)(puVar21 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x2bfcf8;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x2bfcf8" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "std::ctype<char>::_M_widen_init(*(ctype<char> **)(puVar21 + -0x10));" statement_identifier (ERROR "::ctype<char>:" : : (binary_expression "ctype<char" identifier < identifier) > :) : (expression_statement "_M_widen_init(*(ctype<char> **)(puVar21 + -0x10));" (call_expression "_M_widen_init(*(ctype<char> **)(puVar21 + -0x10))" identifier (argument_list "(*(ctype<char> **)(puVar21 + -0x10))" ( (pointer_expression "*(ctype<char> **)(puVar21 + -0x10)" * (call_expression "(ctype<char> **)(puVar21 + -0x10)" (parenthesized_expression "(ctype<char> **)" ( (binary_expression "ctype<char> **" (binary_expression "ctype<char" identifier < identifier) > (pointer_expression "**" * (pointer_expression "*" * identifier))) )) (argument_list "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;)) (expression_statement "ppuVar4 = *(undefined ***)(*piVar16 + 0x18);" (assignment_expression "ppuVar4 = *(undefined ***)(*piVar16 + 0x18)" identifier = (pointer_expression "*(undefined ***)(*piVar16 + 0x18)" * (cast_expression "(undefined ***)(*piVar16 + 0x18)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar16 + 0x18)" ( (binary_expression "*piVar16 + 0x18" (pointer_expression "*piVar16" * identifier) + number_literal) ))))) ;) (expression_statement "iVar18 = 10;" (assignment_expression "iVar18 = 10" identifier = number_literal) ;) (if_statement "if (ppuVar4 != ppuVar7 + -0xdabd4) {\n          *(undefined4 *)(puVar21 + -0xc) = 10;\n          *(int **)(puVar21 + -0x10) = piVar16;\n          *(undefined4 *)(puVar21 + -0x14) = 0x2bfd1b;\n          cVar8 = (*(code *)ppuVar4)();\n          iVar18 = (int)cVar8;\n        }" if (parenthesized_expression "(ppuVar4 != ppuVar7 + -0xdabd4)" ( (binary_expression "ppuVar4 != ppuVar7 + -0xdabd4" identifier != (binary_expression "ppuVar7 + -0xdabd4" identifier + number_literal)) )) (compound_statement "{\n          *(undefined4 *)(puVar21 + -0xc) = 10;\n          *(int **)(puVar21 + -0x10) = piVar16;\n          *(undefined4 *)(puVar21 + -0x14) = 0x2bfd1b;\n          cVar8 = (*(code *)ppuVar4)();\n          iVar18 = (int)cVar8;\n        }" { (expression_statement "*(undefined4 *)(puVar21 + -0xc) = 10;" (assignment_expression "*(undefined4 *)(puVar21 + -0xc) = 10" (pointer_expression "*(undefined4 *)(puVar21 + -0xc)" * (cast_expression "(undefined4 *)(puVar21 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int **)(puVar21 + -0x10) = piVar16;" (assignment_expression "*(int **)(puVar21 + -0x10) = piVar16" (pointer_expression "*(int **)(puVar21 + -0x10)" * (cast_expression "(int **)(puVar21 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x2bfd1b;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x2bfd1b" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar8 = (*(code *)ppuVar4)();" (assignment_expression "cVar8 = (*(code *)ppuVar4)()" identifier = (call_expression "(*(code *)ppuVar4)()" (parenthesized_expression "(*(code *)ppuVar4)" ( (pointer_expression "*(code *)ppuVar4" * (cast_expression "(code *)ppuVar4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "iVar18 = (int)cVar8;" (assignment_expression "iVar18 = (int)cVar8" identifier = (cast_expression "(int)cVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) }) (else_clause "else {\n        iVar18 = (int)*(char *)((int)piVar16 + 0x27);\n      }" else (compound_statement "{\n        iVar18 = (int)*(char *)((int)piVar16 + 0x27);\n      }" { (expression_statement "iVar18 = (int)*(char *)((int)piVar16 + 0x27);" (assignment_expression "iVar18 = (int)*(char *)((int)piVar16 + 0x27)" identifier = (cast_expression "(int)*(char *)((int)piVar16 + 0x27)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)((int)piVar16 + 0x27)" * (cast_expression "(char *)((int)piVar16 + 0x27)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar16 + 0x27)" ( (binary_expression "(int)piVar16 + 0x27" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) ;) }))) (expression_statement "*(int *)(puVar21 + -8) = iVar18;" (assignment_expression "*(int *)(puVar21 + -8) = iVar18" (pointer_expression "*(int *)(puVar21 + -8)" * (cast_expression "(int *)(puVar21 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(Search_directory **)(puVar21 + -0xc) = local_1cc._0_4_;" (assignment_expression "*(Search_directory **)(puVar21 + -0xc) = local_1cc._0_4_" (pointer_expression "*(Search_directory **)(puVar21 + -0xc)" * (cast_expression "(Search_directory **)(puVar21 + -0xc)" ( (type_descriptor "Search_directory **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (field_expression "local_1cc._0_4_" identifier . field_identifier)) ;) (expression_statement "*(Search_directory **)(puVar21 + -0x10) = local_1d0;" (assignment_expression "*(Search_directory **)(puVar21 + -0x10) = local_1d0" (pointer_expression "*(Search_directory **)(puVar21 + -0x10)" * (cast_expression "(Search_directory **)(puVar21 + -0x10)" ( (type_descriptor "Search_directory **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x2bfc47;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x2bfc47" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (ERROR "std::getline<char,std::char_traits<char>,std::" (comma_expression "std::getline<char,std::char_traits<char>,std" identifier (ERROR "::getline<char,std::char_traits<char>" : : (comma_expression "getline<char,std" (binary_expression "getline<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>>\n                (*(istream **)(puVar21 + -0x10),*(string **)(puVar21 + -0xc),puVar21[-8]);" (binary_expression "allocator<char>>\n                (*(istream **)(puVar21 + -0x10),*(string **)(puVar21 + -0xc),puVar21[-8])" identifier < (binary_expression "char>>\n                (*(istream **)(puVar21 + -0x10),*(string **)(puVar21 + -0xc),puVar21[-8])" identifier >> (parenthesized_expression "(*(istream **)(puVar21 + -0x10),*(string **)(puVar21 + -0xc),puVar21[-8])" ( (comma_expression "*(istream **)(puVar21 + -0x10),*(string **)(puVar21 + -0xc),puVar21[-8]" (pointer_expression "*(istream **)(puVar21 + -0x10)" * (cast_expression "(istream **)(puVar21 + -0x10)" ( (type_descriptor "istream **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) , (comma_expression "*(string **)(puVar21 + -0xc),puVar21[-8]" (pointer_expression "*(string **)(puVar21 + -0xc)" * (cast_expression "(string **)(puVar21 + -0xc)" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) , (subscript_expression "puVar21[-8]" identifier [ number_literal ]))) )))) ;) })) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)line._M_dataplus._M_p != local_1e0) {\n      *(pointer *)(puVar21 + -0x10) = line._M_dataplus._M_p;\n      *(undefined4 *)(puVar21 + -0x14) = 0x2bfe3f;\n      operator_delete(*(void **)(puVar21 + -0x10));\n    }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)line._M_dataplus._M_p != local_1e0)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)line._M_dataplus._M_p != local_1e0)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n         *)line._M_dataplus._M_p != local_1e0" (binary_expression "allocator<char>_>_9\n         *)line._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n         *)line._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "line._M_dataplus._M_p" (field_expression "line._M_dataplus" identifier . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n      *(pointer *)(puVar21 + -0x10) = line._M_dataplus._M_p;\n      *(undefined4 *)(puVar21 + -0x14) = 0x2bfe3f;\n      operator_delete(*(void **)(puVar21 + -0x10));\n    }" { (expression_statement "*(pointer *)(puVar21 + -0x10) = line._M_dataplus._M_p;" (assignment_expression "*(pointer *)(puVar21 + -0x10) = line._M_dataplus._M_p" (pointer_expression "*(pointer *)(puVar21 + -0x10)" * (cast_expression "(pointer *)(puVar21 + -0x10)" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = (field_expression "line._M_dataplus._M_p" (field_expression "line._M_dataplus" identifier . field_identifier) . field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x2bfe3f;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x2bfe3f" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "operator_delete(*(void **)(puVar21 + -0x10));" (call_expression "operator_delete(*(void **)(puVar21 + -0x10))" identifier (argument_list "(*(void **)(puVar21 + -0x10))" ( (pointer_expression "*(void **)(puVar21 + -0x10)" * (cast_expression "(void **)(puVar21 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;) })) (expression_statement "ppuVar7 = local_1c4;" (assignment_expression "ppuVar7 = local_1c4" identifier = identifier) ;) (expression_statement "*(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n      **)(puVar21 + -0x10) = local_1dc;" (assignment_expression "*(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n      **)(puVar21 + -0x10) = local_1dc" (pointer_expression "*(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n      **)(puVar21 + -0x10)" * (call_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n      **)(puVar21 + -0x10)" (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n      **)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n      **" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n      **" identifier * (pointer_expression "*" * identifier))) )) (argument_list "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "_in = (pointer)(local_200 + 3);" (assignment_expression "_in = (pointer)(local_200 + 3)" identifier = (call_expression "(pointer)(local_200 + 3)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "(local_200 + 3)" ( (binary_expression "local_200 + 3" identifier + number_literal) )))) ;) (expression_statement "local_a4[0] = local_200 + 8;" (assignment_expression "local_a4[0] = local_200 + 8" (subscript_expression "local_a4[0]" identifier [ number_literal ]) = (binary_expression "local_200 + 8" identifier + number_literal)) ;) (expression_statement "local_12c._M_allocated_capacity = (size_type)(local_1c4 + -0x9ec);" (assignment_expression "local_12c._M_allocated_capacity = (size_type)(local_1c4 + -0x9ec)" (field_expression "local_12c._M_allocated_capacity" identifier . field_identifier) = (call_expression "(size_type)(local_1c4 + -0x9ec)" (parenthesized_expression "(size_type)" ( identifier )) (argument_list "(local_1c4 + -0x9ec)" ( (binary_expression "local_1c4 + -0x9ec" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x2bfe7f;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x2bfe7f" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "std::filebuf::close(*(filebuf **)(puVar21 + -0x10));" statement_identifier : (ERROR ":" :) (labeled_statement "filebuf::close(*(filebuf **)(puVar21 + -0x10));" statement_identifier : (ERROR ":" :) (expression_statement "close(*(filebuf **)(puVar21 + -0x10));" (call_expression "close(*(filebuf **)(puVar21 + -0x10))" identifier (argument_list "(*(filebuf **)(puVar21 + -0x10))" ( (pointer_expression "*(filebuf **)(puVar21 + -0x10)" * (cast_expression "(filebuf **)(puVar21 + -0x10)" ( (type_descriptor "filebuf **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;))) (expression_statement "*(undefined1 **)(puVar21 + -0x10) = local_f4;" (assignment_expression "*(undefined1 **)(puVar21 + -0x10) = local_f4" (pointer_expression "*(undefined1 **)(puVar21 + -0x10)" * (cast_expression "(undefined1 **)(puVar21 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x2bfe8d;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x2bfe8d" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "std::__basic_file<char>::~__basic_file(*(__basic_file<char> **)(puVar21 + -0x10));" statement_identifier (ERROR "::__basic_file<char>:" : : (binary_expression "__basic_file<char" identifier < identifier) > :) : (expression_statement "~__basic_file(*(__basic_file<char> **)(puVar21 + -0x10));" (unary_expression "~__basic_file(*(__basic_file<char> **)(puVar21 + -0x10))" ~ (call_expression "__basic_file(*(__basic_file<char> **)(puVar21 + -0x10))" identifier (argument_list "(*(__basic_file<char> **)(puVar21 + -0x10))" ( (pointer_expression "*(__basic_file<char> **)(puVar21 + -0x10)" * (call_expression "(__basic_file<char> **)(puVar21 + -0x10)" (parenthesized_expression "(__basic_file<char> **)" ( (binary_expression "__basic_file<char> **" (binary_expression "__basic_file<char" identifier < identifier) > (pointer_expression "**" * (pointer_expression "*" * identifier))) )) (argument_list "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) )))) ;)) (expression_statement "local_12c._M_allocated_capacity = (size_type)(ppuVar7 + -0xbd1);" (assignment_expression "local_12c._M_allocated_capacity = (size_type)(ppuVar7 + -0xbd1)" (field_expression "local_12c._M_allocated_capacity" identifier . field_identifier) = (call_expression "(size_type)(ppuVar7 + -0xbd1)" (parenthesized_expression "(size_type)" ( identifier )) (argument_list "(ppuVar7 + -0xbd1)" ( (binary_expression "ppuVar7 + -0xbd1" identifier + number_literal) )))) ;) (expression_statement "*(undefined1 **)(puVar21 + -0x10) = local_110;" (assignment_expression "*(undefined1 **)(puVar21 + -0x10) = local_110" (pointer_expression "*(undefined1 **)(puVar21 + -0x10)" * (cast_expression "(undefined1 **)(puVar21 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x2bfeaa;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x2bfeaa" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "std::locale::~locale(*(locale **)(puVar21 + -0x10));" statement_identifier : (ERROR ":" :) (labeled_statement "locale::~locale(*(locale **)(puVar21 + -0x10));" statement_identifier : (ERROR ":" :) (expression_statement "~locale(*(locale **)(puVar21 + -0x10));" (unary_expression "~locale(*(locale **)(puVar21 + -0x10))" ~ (call_expression "locale(*(locale **)(puVar21 + -0x10))" identifier (argument_list "(*(locale **)(puVar21 + -0x10))" ( (pointer_expression "*(locale **)(puVar21 + -0x10)" * (cast_expression "(locale **)(puVar21 + -0x10)" ( (type_descriptor "locale **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) )))) ;))) (expression_statement "_in = (pointer)local_1f4;" (assignment_expression "_in = (pointer)local_1f4" identifier = (cast_expression "(pointer)local_1f4" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "*(undefined **)(&in + *(int *)(local_1f4->_M_local_buf + -0xc)) = local_1f8;" (assignment_expression "*(undefined **)(&in + *(int *)(local_1f4->_M_local_buf + -0xc)) = local_1f8" (pointer_expression "*(undefined **)(&in + *(int *)(local_1f4->_M_local_buf + -0xc))" * (cast_expression "(undefined **)(&in + *(int *)(local_1f4->_M_local_buf + -0xc))" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&in + *(int *)(local_1f4->_M_local_buf + -0xc))" ( (binary_expression "&in + *(int *)(local_1f4->_M_local_buf + -0xc)" (pointer_expression "&in" & identifier) + (pointer_expression "*(int *)(local_1f4->_M_local_buf + -0xc)" * (cast_expression "(int *)(local_1f4->_M_local_buf + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_1f4->_M_local_buf + -0xc)" ( (binary_expression "local_1f4->_M_local_buf + -0xc" (field_expression "local_1f4->_M_local_buf" identifier -> field_identifier) + number_literal) ))))) )))) = identifier) ;) (expression_statement "local_a4[0] = local_1fc + 2;" (assignment_expression "local_a4[0] = local_1fc + 2" (subscript_expression "local_a4[0]" identifier [ number_literal ]) = (binary_expression "local_1fc + 2" identifier + number_literal)) ;) (expression_statement "*(ios_base **)(puVar21 + -0x10) = local_1e8;" (assignment_expression "*(ios_base **)(puVar21 + -0x10) = local_1e8" (pointer_expression "*(ios_base **)(puVar21 + -0x10)" * (cast_expression "(ios_base **)(puVar21 + -0x10)" ( (type_descriptor "ios_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x2bfeeb;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x2bfeeb" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "std::ios_base::~ios_base(*(ios_base **)(puVar21 + -0x10));" statement_identifier : (ERROR ":" :) (labeled_statement "ios_base::~ios_base(*(ios_base **)(puVar21 + -0x10));" statement_identifier : (ERROR ":" :) (expression_statement "~ios_base(*(ios_base **)(puVar21 + -0x10));" (unary_expression "~ios_base(*(ios_base **)(puVar21 + -0x10))" ~ (call_expression "ios_base(*(ios_base **)(puVar21 + -0x10))" identifier (argument_list "(*(ios_base **)(puVar21 + -0x10))" ( (pointer_expression "*(ios_base **)(puVar21 + -0x10)" * (cast_expression "(ios_base **)(puVar21 + -0x10)" ( (type_descriptor "ios_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) )))) ;))) (expression_statement "puVar22 = puVar21;" (assignment_expression "puVar22 = puVar21" identifier = identifier) ;) })) (if_statement "if (((this->Bgroup_).value != false) && ((this->unresolved_symbols_).user_set_via_option == false)\n     ) {\n    (this->unresolved_symbols_).value = (char *)((int)local_1c4 + -0x1a1f9b);\n  }" if (parenthesized_expression "(((this->Bgroup_).value != false) && ((this->unresolved_symbols_).user_set_via_option == false)\n     )" ( (binary_expression "((this->Bgroup_).value != false) && ((this->unresolved_symbols_).user_set_via_option == false)" (parenthesized_expression "((this->Bgroup_).value != false)" ( (binary_expression "(this->Bgroup_).value != false" (field_expression "(this->Bgroup_).value" (parenthesized_expression "(this->Bgroup_)" ( (field_expression "this->Bgroup_" identifier -> field_identifier) )) . field_identifier) != false) )) && (parenthesized_expression "((this->unresolved_symbols_).user_set_via_option == false)" ( (binary_expression "(this->unresolved_symbols_).user_set_via_option == false" (field_expression "(this->unresolved_symbols_).user_set_via_option" (parenthesized_expression "(this->unresolved_symbols_)" ( (field_expression "this->unresolved_symbols_" identifier -> field_identifier) )) . field_identifier) == false) ))) )) (compound_statement "{\n    (this->unresolved_symbols_).value = (char *)((int)local_1c4 + -0x1a1f9b);\n  }" { (expression_statement "(this->unresolved_symbols_).value = (char *)((int)local_1c4 + -0x1a1f9b);" (assignment_expression "(this->unresolved_symbols_).value = (char *)((int)local_1c4 + -0x1a1f9b)" (field_expression "(this->unresolved_symbols_).value" (parenthesized_expression "(this->unresolved_symbols_)" ( (field_expression "this->unresolved_symbols_" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(char *)((int)local_1c4 + -0x1a1f9b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_1c4 + -0x1a1f9b)" ( (binary_expression "(int)local_1c4 + -0x1a1f9b" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (if_statement "if (((this->shared_).value != false) &&\n     ((this->allow_shlib_undefined_).user_set_via_option == false)) {\n    (this->allow_shlib_undefined_).value = true;\n  }" if (parenthesized_expression "(((this->shared_).value != false) &&\n     ((this->allow_shlib_undefined_).user_set_via_option == false))" ( (binary_expression "((this->shared_).value != false) &&\n     ((this->allow_shlib_undefined_).user_set_via_option == false)" (parenthesized_expression "((this->shared_).value != false)" ( (binary_expression "(this->shared_).value != false" (field_expression "(this->shared_).value" (parenthesized_expression "(this->shared_)" ( (field_expression "this->shared_" identifier -> field_identifier) )) . field_identifier) != false) )) && (parenthesized_expression "((this->allow_shlib_undefined_).user_set_via_option == false)" ( (binary_expression "(this->allow_shlib_undefined_).user_set_via_option == false" (field_expression "(this->allow_shlib_undefined_).user_set_via_option" (parenthesized_expression "(this->allow_shlib_undefined_)" ( (field_expression "this->allow_shlib_undefined_" identifier -> field_identifier) )) . field_identifier) == false) ))) )) (compound_statement "{\n    (this->allow_shlib_undefined_).value = true;\n  }" { (expression_statement "(this->allow_shlib_undefined_).value = true;" (assignment_expression "(this->allow_shlib_undefined_).value = true" (field_expression "(this->allow_shlib_undefined_).value" (parenthesized_expression "(this->allow_shlib_undefined_)" ( (field_expression "this->allow_shlib_undefined_" identifier -> field_identifier) )) . field_identifier) = true) ;) })) (expression_statement "*(General_options **)(puVar22 + -0x10) = this;" (assignment_expression "*(General_options **)(puVar22 + -0x10) = this" (pointer_expression "*(General_options **)(puVar22 + -0x10)" * (cast_expression "(General_options **)(puVar22 + -0x10)" ( (type_descriptor "General_options **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2bff3f;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2bff3f" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "add_sysroot(*(General_options **)(puVar22 + -0x10));" (call_expression "add_sysroot(*(General_options **)(puVar22 + -0x10))" identifier (argument_list "(*(General_options **)(puVar22 + -0x10))" ( (pointer_expression "*(General_options **)(puVar22 + -0x10)" * (cast_expression "(General_options **)(puVar22 + -0x10)" ( (type_descriptor "General_options **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ))) ;) (if_statement "if ((this->shared_).value == false) {\n    if ((this->pie_).value != false) {\n      if (this->static_ != false) {\n        *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar22 + -0x14) = 0x2c0e5c;\n        uVar32 = gettext();\n        *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e5f to 002c0e63 has its CatchHandler @ 002c0e87 */\n        *(undefined1 **)(puVar22 + -0x14) = &LAB_002c0e64;\n        gold_fatal(*(char **)(puVar22 + -0x10));\n      }\n      if ((this->relocatable_).value != false) {\n        *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar22 + -0x14) = 0x2c0cbd;\n        uVar32 = gettext();\n        *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar22 + -0x14) = 0x2c0cc5;\n        gold_fatal(*(char **)(puVar22 + -0x10));\n      }\n    }\n    if ((this->filter_).value != (char *)0x0) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5642f;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0cdc;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0ce4;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n    if ((this->auxiliary_).value._M_h._M_element_count != 0) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56424;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0d10;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d13 to 002c0d17 has its CatchHandler @ 002c0e87 */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0d18;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n    if (((this->relocatable_).value != false) && ((this->retain_symbols_file_).value != (char *)0x0)\n       ) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56418;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0163;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined **)(puVar22 + -0x14) = &UNK_002c016b;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n  }\n  else {\n    if (this->static_ != false) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0e32;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0e3a;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n    if ((this->pie_).value != false) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0c7f;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0c87;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n    if ((this->relocatable_).value != false) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0c9e;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0ca6;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n  }" if (parenthesized_expression "((this->shared_).value == false)" ( (binary_expression "(this->shared_).value == false" (field_expression "(this->shared_).value" (parenthesized_expression "(this->shared_)" ( (field_expression "this->shared_" identifier -> field_identifier) )) . field_identifier) == false) )) (compound_statement "{\n    if ((this->pie_).value != false) {\n      if (this->static_ != false) {\n        *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar22 + -0x14) = 0x2c0e5c;\n        uVar32 = gettext();\n        *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e5f to 002c0e63 has its CatchHandler @ 002c0e87 */\n        *(undefined1 **)(puVar22 + -0x14) = &LAB_002c0e64;\n        gold_fatal(*(char **)(puVar22 + -0x10));\n      }\n      if ((this->relocatable_).value != false) {\n        *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar22 + -0x14) = 0x2c0cbd;\n        uVar32 = gettext();\n        *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar22 + -0x14) = 0x2c0cc5;\n        gold_fatal(*(char **)(puVar22 + -0x10));\n      }\n    }\n    if ((this->filter_).value != (char *)0x0) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5642f;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0cdc;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0ce4;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n    if ((this->auxiliary_).value._M_h._M_element_count != 0) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56424;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0d10;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d13 to 002c0d17 has its CatchHandler @ 002c0e87 */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0d18;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n    if (((this->relocatable_).value != false) && ((this->retain_symbols_file_).value != (char *)0x0)\n       ) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56418;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0163;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined **)(puVar22 + -0x14) = &UNK_002c016b;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n  }" { (if_statement "if ((this->pie_).value != false) {\n      if (this->static_ != false) {\n        *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar22 + -0x14) = 0x2c0e5c;\n        uVar32 = gettext();\n        *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e5f to 002c0e63 has its CatchHandler @ 002c0e87 */\n        *(undefined1 **)(puVar22 + -0x14) = &LAB_002c0e64;\n        gold_fatal(*(char **)(puVar22 + -0x10));\n      }\n      if ((this->relocatable_).value != false) {\n        *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar22 + -0x14) = 0x2c0cbd;\n        uVar32 = gettext();\n        *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar22 + -0x14) = 0x2c0cc5;\n        gold_fatal(*(char **)(puVar22 + -0x10));\n      }\n    }" if (parenthesized_expression "((this->pie_).value != false)" ( (binary_expression "(this->pie_).value != false" (field_expression "(this->pie_).value" (parenthesized_expression "(this->pie_)" ( (field_expression "this->pie_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n      if (this->static_ != false) {\n        *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar22 + -0x14) = 0x2c0e5c;\n        uVar32 = gettext();\n        *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e5f to 002c0e63 has its CatchHandler @ 002c0e87 */\n        *(undefined1 **)(puVar22 + -0x14) = &LAB_002c0e64;\n        gold_fatal(*(char **)(puVar22 + -0x10));\n      }\n      if ((this->relocatable_).value != false) {\n        *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar22 + -0x14) = 0x2c0cbd;\n        uVar32 = gettext();\n        *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar22 + -0x14) = 0x2c0cc5;\n        gold_fatal(*(char **)(puVar22 + -0x10));\n      }\n    }" { (if_statement "if (this->static_ != false) {\n        *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar22 + -0x14) = 0x2c0e5c;\n        uVar32 = gettext();\n        *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e5f to 002c0e63 has its CatchHandler @ 002c0e87 */\n        *(undefined1 **)(puVar22 + -0x14) = &LAB_002c0e64;\n        gold_fatal(*(char **)(puVar22 + -0x10));\n      }" if (parenthesized_expression "(this->static_ != false)" ( (binary_expression "this->static_ != false" (field_expression "this->static_" identifier -> field_identifier) != false) )) (compound_statement "{\n        *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar22 + -0x14) = 0x2c0e5c;\n        uVar32 = gettext();\n        *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0e5f to 002c0e63 has its CatchHandler @ 002c0e87 */\n        *(undefined1 **)(puVar22 + -0x14) = &LAB_002c0e64;\n        gold_fatal(*(char **)(puVar22 + -0x10));\n      }" { (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56440;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56440" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x56440" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0e5c;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0e5c" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar32 = gettext();" (assignment_expression "uVar32 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar32;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar32" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) comment comment (expression_statement "*(undefined1 **)(puVar22 + -0x14) = &LAB_002c0e64;" (assignment_expression "*(undefined1 **)(puVar22 + -0x14) = &LAB_002c0e64" (pointer_expression "*(undefined1 **)(puVar22 + -0x14)" * (cast_expression "(undefined1 **)(puVar22 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_002c0e64" & identifier)) ;) (expression_statement "gold_fatal(*(char **)(puVar22 + -0x10));" (call_expression "gold_fatal(*(char **)(puVar22 + -0x10))" identifier (argument_list "(*(char **)(puVar22 + -0x10))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ))) ;) })) (if_statement "if ((this->relocatable_).value != false) {\n        *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar22 + -0x14) = 0x2c0cbd;\n        uVar32 = gettext();\n        *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar22 + -0x14) = 0x2c0cc5;\n        gold_fatal(*(char **)(puVar22 + -0x10));\n      }" if (parenthesized_expression "((this->relocatable_).value != false)" ( (binary_expression "(this->relocatable_).value != false" (field_expression "(this->relocatable_).value" (parenthesized_expression "(this->relocatable_)" ( (field_expression "this->relocatable_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n        *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar22 + -0x14) = 0x2c0cbd;\n        uVar32 = gettext();\n        *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar22 + -0x14) = 0x2c0cc5;\n        gold_fatal(*(char **)(puVar22 + -0x10));\n      }" { (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56e83;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56e83" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x56e83" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0cbd;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0cbd" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar32 = gettext();" (assignment_expression "uVar32 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar32;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar32" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0cc5;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0cc5" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gold_fatal(*(char **)(puVar22 + -0x10));" (call_expression "gold_fatal(*(char **)(puVar22 + -0x10))" identifier (argument_list "(*(char **)(puVar22 + -0x10))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ))) ;) })) })) (if_statement "if ((this->filter_).value != (char *)0x0) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5642f;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0cdc;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0ce4;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }" if (parenthesized_expression "((this->filter_).value != (char *)0x0)" ( (binary_expression "(this->filter_).value != (char *)0x0" (field_expression "(this->filter_).value" (parenthesized_expression "(this->filter_)" ( (field_expression "this->filter_" identifier -> field_identifier) )) . field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5642f;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0cdc;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0ce4;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }" { (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5642f;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5642f" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x5642f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0cdc;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0cdc" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar32 = gettext();" (assignment_expression "uVar32 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar32;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar32" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0ce4;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0ce4" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gold_fatal(*(char **)(puVar22 + -0x10));" (call_expression "gold_fatal(*(char **)(puVar22 + -0x10))" identifier (argument_list "(*(char **)(puVar22 + -0x10))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ))) ;) })) (if_statement "if ((this->auxiliary_).value._M_h._M_element_count != 0) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56424;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0d10;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d13 to 002c0d17 has its CatchHandler @ 002c0e87 */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0d18;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }" if (parenthesized_expression "((this->auxiliary_).value._M_h._M_element_count != 0)" ( (binary_expression "(this->auxiliary_).value._M_h._M_element_count != 0" (field_expression "(this->auxiliary_).value._M_h._M_element_count" (field_expression "(this->auxiliary_).value._M_h" (field_expression "(this->auxiliary_).value" (parenthesized_expression "(this->auxiliary_)" ( (field_expression "this->auxiliary_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) != number_literal) )) (compound_statement "{\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56424;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0d10;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d13 to 002c0d17 has its CatchHandler @ 002c0e87 */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0d18;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }" { (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56424;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56424" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x56424" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0d10;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0d10" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar32 = gettext();" (assignment_expression "uVar32 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar32;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar32" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) comment comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0d18;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0d18" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gold_fatal(*(char **)(puVar22 + -0x10));" (call_expression "gold_fatal(*(char **)(puVar22 + -0x10))" identifier (argument_list "(*(char **)(puVar22 + -0x10))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ))) ;) })) (if_statement "if (((this->relocatable_).value != false) && ((this->retain_symbols_file_).value != (char *)0x0)\n       ) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56418;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0163;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined **)(puVar22 + -0x14) = &UNK_002c016b;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }" if (parenthesized_expression "(((this->relocatable_).value != false) && ((this->retain_symbols_file_).value != (char *)0x0)\n       )" ( (binary_expression "((this->relocatable_).value != false) && ((this->retain_symbols_file_).value != (char *)0x0)" (parenthesized_expression "((this->relocatable_).value != false)" ( (binary_expression "(this->relocatable_).value != false" (field_expression "(this->relocatable_).value" (parenthesized_expression "(this->relocatable_)" ( (field_expression "this->relocatable_" identifier -> field_identifier) )) . field_identifier) != false) )) && (parenthesized_expression "((this->retain_symbols_file_).value != (char *)0x0)" ( (binary_expression "(this->retain_symbols_file_).value != (char *)0x0" (field_expression "(this->retain_symbols_file_).value" (parenthesized_expression "(this->retain_symbols_file_)" ( (field_expression "this->retain_symbols_file_" identifier -> field_identifier) )) . field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56418;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0163;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined **)(puVar22 + -0x14) = &UNK_002c016b;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }" { (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56418;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56418" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x56418" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0163;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0163" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar32 = gettext();" (assignment_expression "uVar32 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar32;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar32" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined **)(puVar22 + -0x14) = &UNK_002c016b;" (assignment_expression "*(undefined **)(puVar22 + -0x14) = &UNK_002c016b" (pointer_expression "*(undefined **)(puVar22 + -0x14)" * (cast_expression "(undefined **)(puVar22 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_002c016b" & identifier)) ;) (expression_statement "gold_fatal(*(char **)(puVar22 + -0x10));" (call_expression "gold_fatal(*(char **)(puVar22 + -0x10))" identifier (argument_list "(*(char **)(puVar22 + -0x10))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ))) ;) })) }) (else_clause "else {\n    if (this->static_ != false) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0e32;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0e3a;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n    if ((this->pie_).value != false) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0c7f;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0c87;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n    if ((this->relocatable_).value != false) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0c9e;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0ca6;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n  }" else (compound_statement "{\n    if (this->static_ != false) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0e32;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0e3a;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n    if ((this->pie_).value != false) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0c7f;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0c87;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n    if ((this->relocatable_).value != false) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0c9e;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0ca6;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }\n  }" { (if_statement "if (this->static_ != false) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0e32;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0e3a;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }" if (parenthesized_expression "(this->static_ != false)" ( (binary_expression "this->static_ != false" (field_expression "this->static_" identifier -> field_identifier) != false) )) (compound_statement "{\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0e32;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0e3a;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }" { (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56453;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56453" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x56453" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0e32;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0e32" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar32 = gettext();" (assignment_expression "uVar32 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar32;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar32" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0e3a;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0e3a" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gold_fatal(*(char **)(puVar22 + -0x10));" (call_expression "gold_fatal(*(char **)(puVar22 + -0x10))" identifier (argument_list "(*(char **)(puVar22 + -0x10))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ))) ;) })) (if_statement "if ((this->pie_).value != false) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0c7f;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0c87;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }" if (parenthesized_expression "((this->pie_).value != false)" ( (binary_expression "(this->pie_).value != false" (field_expression "(this->pie_).value" (parenthesized_expression "(this->pie_)" ( (field_expression "this->pie_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0c7f;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0c87;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }" { (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56449;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56449" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x56449" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0c7f;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0c7f" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar32 = gettext();" (assignment_expression "uVar32 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar32;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar32" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0c87;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0c87" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gold_fatal(*(char **)(puVar22 + -0x10));" (call_expression "gold_fatal(*(char **)(puVar22 + -0x10))" identifier (argument_list "(*(char **)(puVar22 + -0x10))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ))) ;) })) (if_statement "if ((this->relocatable_).value != false) {\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0c9e;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0ca6;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }" if (parenthesized_expression "((this->relocatable_).value != false)" ( (binary_expression "(this->relocatable_).value != false" (field_expression "(this->relocatable_).value" (parenthesized_expression "(this->relocatable_)" ( (field_expression "this->relocatable_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n      *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0c9e;\n      uVar32 = gettext();\n      *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar22 + -0x14) = 0x2c0ca6;\n      gold_fatal(*(char **)(puVar22 + -0x10));\n    }" { (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56437;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56437" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x56437" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0c9e;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0c9e" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar32 = gettext();" (assignment_expression "uVar32 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar32;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar32" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0ca6;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0ca6" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gold_fatal(*(char **)(puVar22 + -0x10));" (call_expression "gold_fatal(*(char **)(puVar22 + -0x10))" identifier (argument_list "(*(char **)(puVar22 + -0x10))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ))) ;) })) }))) (expression_statement "*(char **)(puVar22 + -0x10) = (this->oformat_).value;" (assignment_expression "*(char **)(puVar22 + -0x10) = (this->oformat_).value" (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (field_expression "(this->oformat_).value" (parenthesized_expression "(this->oformat_)" ( (field_expression "this->oformat_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2bff90;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2bff90" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "OVar12 = string_to_object_format(*(char **)(puVar22 + -0x10));" (assignment_expression "OVar12 = string_to_object_format(*(char **)(puVar22 + -0x10))" identifier = (call_expression "string_to_object_format(*(char **)(puVar22 + -0x10))" identifier (argument_list "(*(char **)(puVar22 + -0x10))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if ((OVar12 != OBJECT_FORMAT_ELF) &&\n     ((((this->shared_).value != false || ((this->pie_).value != false)) ||\n      ((this->relocatable_).value != false)))) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5640c;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0c60;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0c68;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }" if (parenthesized_expression "((OVar12 != OBJECT_FORMAT_ELF) &&\n     ((((this->shared_).value != false || ((this->pie_).value != false)) ||\n      ((this->relocatable_).value != false))))" ( (binary_expression "(OVar12 != OBJECT_FORMAT_ELF) &&\n     ((((this->shared_).value != false || ((this->pie_).value != false)) ||\n      ((this->relocatable_).value != false)))" (parenthesized_expression "(OVar12 != OBJECT_FORMAT_ELF)" ( (binary_expression "OVar12 != OBJECT_FORMAT_ELF" identifier != identifier) )) && (parenthesized_expression "((((this->shared_).value != false || ((this->pie_).value != false)) ||\n      ((this->relocatable_).value != false)))" ( (parenthesized_expression "(((this->shared_).value != false || ((this->pie_).value != false)) ||\n      ((this->relocatable_).value != false))" ( (binary_expression "((this->shared_).value != false || ((this->pie_).value != false)) ||\n      ((this->relocatable_).value != false)" (parenthesized_expression "((this->shared_).value != false || ((this->pie_).value != false))" ( (binary_expression "(this->shared_).value != false || ((this->pie_).value != false)" (binary_expression "(this->shared_).value != false" (field_expression "(this->shared_).value" (parenthesized_expression "(this->shared_)" ( (field_expression "this->shared_" identifier -> field_identifier) )) . field_identifier) != false) || (parenthesized_expression "((this->pie_).value != false)" ( (binary_expression "(this->pie_).value != false" (field_expression "(this->pie_).value" (parenthesized_expression "(this->pie_)" ( (field_expression "this->pie_" identifier -> field_identifier) )) . field_identifier) != false) ))) )) || (parenthesized_expression "((this->relocatable_).value != false)" ( (binary_expression "(this->relocatable_).value != false" (field_expression "(this->relocatable_).value" (parenthesized_expression "(this->relocatable_)" ( (field_expression "this->relocatable_" identifier -> field_identifier) )) . field_identifier) != false) ))) )) ))) )) (compound_statement "{\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5640c;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0c60;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0c68;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }" { (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5640c;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5640c" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x5640c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0c60;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0c60" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar32 = gettext();" (assignment_expression "uVar32 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar32;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar32" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0c68;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0c68" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gold_fatal(*(char **)(puVar22 + -0x10));" (call_expression "gold_fatal(*(char **)(puVar22 + -0x10))" identifier (argument_list "(*(char **)(puVar22 + -0x10))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ))) ;) })) (if_statement "if (((this->hash_bucket_empty_fraction_).user_set_via_option != false) &&\n     ((dVar3 = (this->hash_bucket_empty_fraction_).value, dVar3 < 0.0 || (1.0 <= dVar3)))) {\n    local_1cc = dVar3;\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563fc;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0c1c;\n    uVar32 = gettext();\n    dVar3 = local_1cc;\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n    *(double *)(puVar22 + -0xc) = dVar3;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0c29 to 002c0ce3 has its CatchHandler @ 002c0e87 */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0c2e;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }" if (parenthesized_expression "(((this->hash_bucket_empty_fraction_).user_set_via_option != false) &&\n     ((dVar3 = (this->hash_bucket_empty_fraction_).value, dVar3 < 0.0 || (1.0 <= dVar3))))" ( (binary_expression "((this->hash_bucket_empty_fraction_).user_set_via_option != false) &&\n     ((dVar3 = (this->hash_bucket_empty_fraction_).value, dVar3 < 0.0 || (1.0 <= dVar3)))" (parenthesized_expression "((this->hash_bucket_empty_fraction_).user_set_via_option != false)" ( (binary_expression "(this->hash_bucket_empty_fraction_).user_set_via_option != false" (field_expression "(this->hash_bucket_empty_fraction_).user_set_via_option" (parenthesized_expression "(this->hash_bucket_empty_fraction_)" ( (field_expression "this->hash_bucket_empty_fraction_" identifier -> field_identifier) )) . field_identifier) != false) )) && (parenthesized_expression "((dVar3 = (this->hash_bucket_empty_fraction_).value, dVar3 < 0.0 || (1.0 <= dVar3)))" ( (parenthesized_expression "(dVar3 = (this->hash_bucket_empty_fraction_).value, dVar3 < 0.0 || (1.0 <= dVar3))" ( (comma_expression "dVar3 = (this->hash_bucket_empty_fraction_).value, dVar3 < 0.0 || (1.0 <= dVar3)" (assignment_expression "dVar3 = (this->hash_bucket_empty_fraction_).value" identifier = (field_expression "(this->hash_bucket_empty_fraction_).value" (parenthesized_expression "(this->hash_bucket_empty_fraction_)" ( (field_expression "this->hash_bucket_empty_fraction_" identifier -> field_identifier) )) . field_identifier)) , (binary_expression "dVar3 < 0.0 || (1.0 <= dVar3)" (binary_expression "dVar3 < 0.0" identifier < number_literal) || (parenthesized_expression "(1.0 <= dVar3)" ( (binary_expression "1.0 <= dVar3" number_literal <= identifier) )))) )) ))) )) (compound_statement "{\n    local_1cc = dVar3;\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563fc;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0c1c;\n    uVar32 = gettext();\n    dVar3 = local_1cc;\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n    *(double *)(puVar22 + -0xc) = dVar3;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0c29 to 002c0ce3 has its CatchHandler @ 002c0e87 */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0c2e;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }" { (expression_statement "local_1cc = dVar3;" (assignment_expression "local_1cc = dVar3" identifier = identifier) ;) (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563fc;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563fc" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x563fc" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0c1c;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0c1c" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar32 = gettext();" (assignment_expression "uVar32 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "dVar3 = local_1cc;" (assignment_expression "dVar3 = local_1cc" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar32;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar32" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(double *)(puVar22 + -0xc) = dVar3;" (assignment_expression "*(double *)(puVar22 + -0xc) = dVar3" (pointer_expression "*(double *)(puVar22 + -0xc)" * (cast_expression "(double *)(puVar22 + -0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = identifier) ;) comment comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0c2e;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0c2e" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gold_fatal(*(char **)(puVar22 + -0x10));" (call_expression "gold_fatal(*(char **)(puVar22 + -0x10))" identifier (argument_list "(*(char **)(puVar22 + -0x10))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ))) ;) })) (if_statement "if (this->implicit_incremental_ == false) {\n    if (this->incremental_mode_ == INCREMENTAL_OFF) goto LAB_002c00a3;\n  }\n  else if (this->incremental_mode_ == INCREMENTAL_OFF) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563ec;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0db6;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0dbe;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }" if (parenthesized_expression "(this->implicit_incremental_ == false)" ( (binary_expression "this->implicit_incremental_ == false" (field_expression "this->implicit_incremental_" identifier -> field_identifier) == false) )) (compound_statement "{\n    if (this->incremental_mode_ == INCREMENTAL_OFF) goto LAB_002c00a3;\n  }" { (if_statement "if (this->incremental_mode_ == INCREMENTAL_OFF) goto LAB_002c00a3;" if (parenthesized_expression "(this->incremental_mode_ == INCREMENTAL_OFF)" ( (binary_expression "this->incremental_mode_ == INCREMENTAL_OFF" (field_expression "this->incremental_mode_" identifier -> field_identifier) == identifier) )) (goto_statement "goto LAB_002c00a3;" goto statement_identifier ;)) }) (else_clause "else if (this->incremental_mode_ == INCREMENTAL_OFF) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563ec;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0db6;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0dbe;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }" else (if_statement "if (this->incremental_mode_ == INCREMENTAL_OFF) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563ec;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0db6;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0dbe;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }" if (parenthesized_expression "(this->incremental_mode_ == INCREMENTAL_OFF)" ( (binary_expression "this->incremental_mode_ == INCREMENTAL_OFF" (field_expression "this->incremental_mode_" identifier -> field_identifier) == identifier) )) (compound_statement "{\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563ec;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0db6;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0dbe;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }" { (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563ec;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563ec" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x563ec" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0db6;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0db6" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar32 = gettext();" (assignment_expression "uVar32 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar32;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar32" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0dbe;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0dbe" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gold_fatal(*(char **)(puVar22 + -0x10));" (call_expression "gold_fatal(*(char **)(puVar22 + -0x10))" identifier (argument_list "(*(char **)(puVar22 + -0x10))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ))) ;) })))) (if_statement "if ((this->relocatable_).value != false) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563d0;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0dd5;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0ddd;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }" if (parenthesized_expression "((this->relocatable_).value != false)" ( (binary_expression "(this->relocatable_).value != false" (field_expression "(this->relocatable_).value" (parenthesized_expression "(this->relocatable_)" ( (field_expression "this->relocatable_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563d0;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0dd5;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0ddd;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }" { (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563d0;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563d0" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x563d0" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0dd5;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0dd5" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar32 = gettext();" (assignment_expression "uVar32 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar32;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar32" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0ddd;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0ddd" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gold_fatal(*(char **)(puVar22 + -0x10));" (call_expression "gold_fatal(*(char **)(puVar22 + -0x10))" identifier (argument_list "(*(char **)(puVar22 + -0x10))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ))) ;) })) (if_statement "if ((this->emit_relocs_).value != false) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563c4;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0df4;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0dfc;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }" if (parenthesized_expression "((this->emit_relocs_).value != false)" ( (binary_expression "(this->emit_relocs_).value != false" (field_expression "(this->emit_relocs_).value" (parenthesized_expression "(this->emit_relocs_)" ( (field_expression "this->emit_relocs_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563c4;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0df4;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0dfc;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }" { (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563c4;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563c4" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x563c4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0df4;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0df4" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar32 = gettext();" (assignment_expression "uVar32 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar32;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar32" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0dfc;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0dfc" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gold_fatal(*(char **)(puVar22 + -0x10));" (call_expression "gold_fatal(*(char **)(puVar22 + -0x10))" identifier (argument_list "(*(char **)(puVar22 + -0x10))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ))) ;) })) (if_statement "if (this->plugins_ != (Plugin_manager *)0x0) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563b5;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0e13;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0e1b;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }" if (parenthesized_expression "(this->plugins_ != (Plugin_manager *)0x0)" ( (binary_expression "this->plugins_ != (Plugin_manager *)0x0" (field_expression "this->plugins_" identifier -> field_identifier) != (cast_expression "(Plugin_manager *)0x0" ( (type_descriptor "Plugin_manager *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563b5;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0e13;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0e1b;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }" { (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563b5;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563b5" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x563b5" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0e13;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0e13" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar32 = gettext();" (assignment_expression "uVar32 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar32;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar32" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0e1b;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0e1b" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gold_fatal(*(char **)(puVar22 + -0x10));" (call_expression "gold_fatal(*(char **)(puVar22 + -0x10))" identifier (argument_list "(*(char **)(puVar22 + -0x10))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ))) ;) })) (if_statement "if ((this->relro_).value != false) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563a8;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0d78;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d7b to 002c0e39 has its CatchHandler @ 002c0e87 */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0d80;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }" if (parenthesized_expression "((this->relro_).value != false)" ( (binary_expression "(this->relro_).value != false" (field_expression "(this->relro_).value" (parenthesized_expression "(this->relro_)" ( (field_expression "this->relro_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563a8;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0d78;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002c0d7b to 002c0e39 has its CatchHandler @ 002c0e87 */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0d80;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }" { (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563a8;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x563a8" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x563a8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0d78;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0d78" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar32 = gettext();" (assignment_expression "uVar32 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar32;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar32" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) comment comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0d80;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0d80" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gold_fatal(*(char **)(puVar22 + -0x10));" (call_expression "gold_fatal(*(char **)(puVar22 + -0x10))" identifier (argument_list "(*(char **)(puVar22 + -0x10))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ))) ;) })) (if_statement "if ((this->pie_).value != false) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5639b;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0d97;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0d9f;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }" if (parenthesized_expression "((this->pie_).value != false)" ( (binary_expression "(this->pie_).value != false" (field_expression "(this->pie_).value" (parenthesized_expression "(this->pie_)" ( (field_expression "this->pie_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5639b;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0d97;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0d9f;\n    gold_fatal(*(char **)(puVar22 + -0x10));\n  }" { (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5639b;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5639b" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x5639b" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0d97;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0d97" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar32 = gettext();" (assignment_expression "uVar32 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar32;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar32" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0d9f;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0d9f" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gold_fatal(*(char **)(puVar22 + -0x10));" (call_expression "gold_fatal(*(char **)(puVar22 + -0x10))" identifier (argument_list "(*(char **)(puVar22 + -0x10))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ))) ;) })) (if_statement "if ((this->gc_sections_).value != false) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5638f;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0a6f;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0a77;\n    gold_warning(*(char **)(puVar22 + -0x10));\n    (this->gc_sections_).value = false;\n  }" if (parenthesized_expression "((this->gc_sections_).value != false)" ( (binary_expression "(this->gc_sections_).value != false" (field_expression "(this->gc_sections_).value" (parenthesized_expression "(this->gc_sections_)" ( (field_expression "this->gc_sections_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5638f;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0a6f;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0a77;\n    gold_warning(*(char **)(puVar22 + -0x10));\n    (this->gc_sections_).value = false;\n  }" { (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5638f;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x5638f" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x5638f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0a6f;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0a6f" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar32 = gettext();" (assignment_expression "uVar32 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar32;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar32" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0a77;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0a77" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gold_warning(*(char **)(puVar22 + -0x10));" (call_expression "gold_warning(*(char **)(puVar22 + -0x10))" identifier (argument_list "(*(char **)(puVar22 + -0x10))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "(this->gc_sections_).value = false;" (assignment_expression "(this->gc_sections_).value = false" (field_expression "(this->gc_sections_).value" (parenthesized_expression "(this->gc_sections_)" ( (field_expression "this->gc_sections_" identifier -> field_identifier) )) . field_identifier) = false) ;) })) (expression_statement "bVar27 = this->icf_status_ == ICF_NONE;" (assignment_expression "bVar27 = this->icf_status_ == ICF_NONE" identifier = (binary_expression "this->icf_status_ == ICF_NONE" (field_expression "this->icf_status_" identifier -> field_identifier) == identifier)) ;) (expression_statement "bVar29 = !bVar27;" (assignment_expression "bVar29 = !bVar27" identifier = (unary_expression "!bVar27" ! identifier)) ;) (if_statement "if (bVar29) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56383;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0a37;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0a3f;\n    gold_warning(*(char **)(puVar22 + -0x10));\n    this->icf_status_ = ICF_NONE;\n  }" if (parenthesized_expression "(bVar29)" ( identifier )) (compound_statement "{\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56383;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0a37;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0a3f;\n    gold_warning(*(char **)(puVar22 + -0x10));\n    this->icf_status_ = ICF_NONE;\n  }" { (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56383;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56383" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x56383" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0a37;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0a37" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar32 = gettext();" (assignment_expression "uVar32 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar32;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar32" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0a3f;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0a3f" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gold_warning(*(char **)(puVar22 + -0x10));" (call_expression "gold_warning(*(char **)(puVar22 + -0x10))" identifier (argument_list "(*(char **)(puVar22 + -0x10))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "this->icf_status_ = ICF_NONE;" (assignment_expression "this->icf_status_ = ICF_NONE" (field_expression "this->icf_status_" identifier -> field_identifier) = identifier) ;) })) (expression_statement "bVar29 = bVar29 && (undefined1 *)0xffffffef < puVar22 + -0x10;" (assignment_expression "bVar29 = bVar29 && (undefined1 *)0xffffffef < puVar22 + -0x10" identifier = (binary_expression "bVar29 && (undefined1 *)0xffffffef < puVar22 + -0x10" identifier && (binary_expression "(undefined1 *)0xffffffef < puVar22 + -0x10" (cast_expression "(undefined1 *)0xffffffef" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (binary_expression "puVar22 + -0x10" identifier + number_literal)))) ;) (expression_statement "bVar27 = bVar27 || puVar22 == (undefined1 *)0x0;" (assignment_expression "bVar27 = bVar27 || puVar22 == (undefined1 *)0x0" identifier = (binary_expression "bVar27 || puVar22 == (undefined1 *)0x0" identifier || (binary_expression "puVar22 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) ;) (expression_statement "iVar18 = 5;" (assignment_expression "iVar18 = 5" identifier = number_literal) ;) (expression_statement "pbVar23 = (byte *)(this->compress_debug_sections_).value;" (assignment_expression "pbVar23 = (byte *)(this->compress_debug_sections_).value" identifier = (cast_expression "(byte *)(this->compress_debug_sections_).value" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(this->compress_debug_sections_).value" (parenthesized_expression "(this->compress_debug_sections_)" ( (field_expression "this->compress_debug_sections_" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "pbVar24 = local_1f0;" (assignment_expression "pbVar24 = local_1f0" identifier = identifier) ;) (do_statement "do {\n    if (iVar18 == 0) break;\n    iVar18 = iVar18 + -1;\n    bVar29 = *pbVar23 < *pbVar24;\n    bVar27 = *pbVar23 == *pbVar24;\n    pbVar23 = pbVar23 + (uint)bVar30 * -2 + 1;\n    pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n  } while (bVar27);" do (compound_statement "{\n    if (iVar18 == 0) break;\n    iVar18 = iVar18 + -1;\n    bVar29 = *pbVar23 < *pbVar24;\n    bVar27 = *pbVar23 == *pbVar24;\n    pbVar23 = pbVar23 + (uint)bVar30 * -2 + 1;\n    pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n  }" { (if_statement "if (iVar18 == 0) break;" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar18 = iVar18 + -1;" (assignment_expression "iVar18 = iVar18 + -1" identifier = (binary_expression "iVar18 + -1" identifier + number_literal)) ;) (expression_statement "bVar29 = *pbVar23 < *pbVar24;" (assignment_expression "bVar29 = *pbVar23 < *pbVar24" identifier = (binary_expression "*pbVar23 < *pbVar24" (pointer_expression "*pbVar23" * identifier) < (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "bVar27 = *pbVar23 == *pbVar24;" (assignment_expression "bVar27 = *pbVar23 == *pbVar24" identifier = (binary_expression "*pbVar23 == *pbVar24" (pointer_expression "*pbVar23" * identifier) == (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar24 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar24 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar27)" ( identifier )) ;) (if_statement "if ((!bVar29 && !bVar27) != bVar29) {\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56379;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c09ff;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* try { // try from 002c0a02 to 002c0a76 has its CatchHandler @ 002c0e87 */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0a07;\n    gold_warning(*(char **)(puVar22 + -0x10));\n    (this->compress_debug_sections_).value = (char *)local_1f0;\n  }" if (parenthesized_expression "((!bVar29 && !bVar27) != bVar29)" ( (binary_expression "(!bVar29 && !bVar27) != bVar29" (parenthesized_expression "(!bVar29 && !bVar27)" ( (binary_expression "!bVar29 && !bVar27" (unary_expression "!bVar29" ! identifier) && (unary_expression "!bVar27" ! identifier)) )) != identifier) )) (compound_statement "{\n    *(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56379;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c09ff;\n    uVar32 = gettext();\n    *(undefined4 *)(puVar22 + -0x10) = uVar32;\n                    /* try { // try from 002c0a02 to 002c0a76 has its CatchHandler @ 002c0e87 */\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c0a07;\n    gold_warning(*(char **)(puVar22 + -0x10));\n    (this->compress_debug_sections_).value = (char *)local_1f0;\n  }" { (expression_statement "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56379;" (assignment_expression "*(undefined ***)(puVar22 + -0x10) = local_1c4 + -0x56379" (pointer_expression "*(undefined ***)(puVar22 + -0x10)" * (cast_expression "(undefined ***)(puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x56379" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c09ff;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c09ff" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar32 = gettext();" (assignment_expression "uVar32 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar32;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar32" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c0a07;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c0a07" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gold_warning(*(char **)(puVar22 + -0x10));" (call_expression "gold_warning(*(char **)(puVar22 + -0x10))" identifier (argument_list "(*(char **)(puVar22 + -0x10))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "(this->compress_debug_sections_).value = (char *)local_1f0;" (assignment_expression "(this->compress_debug_sections_).value = (char *)local_1f0" (field_expression "(this->compress_debug_sections_).value" (parenthesized_expression "(this->compress_debug_sections_)" ( (field_expression "this->compress_debug_sections_" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(char *)local_1f0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (labeled_statement "LAB_002c00a3:\n  if ((this->rosegment_gap_).user_set_via_option != false) {\n    (this->rosegment_).value = true;\n  }" statement_identifier : (if_statement "if ((this->rosegment_gap_).user_set_via_option != false) {\n    (this->rosegment_).value = true;\n  }" if (parenthesized_expression "((this->rosegment_gap_).user_set_via_option != false)" ( (binary_expression "(this->rosegment_gap_).user_set_via_option != false" (field_expression "(this->rosegment_gap_).user_set_via_option" (parenthesized_expression "(this->rosegment_gap_)" ( (field_expression "this->rosegment_gap_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n    (this->rosegment_).value = true;\n  }" { (expression_statement "(this->rosegment_).value = true;" (assignment_expression "(this->rosegment_).value = true" (field_expression "(this->rosegment_).value" (parenthesized_expression "(this->rosegment_)" ( (field_expression "this->rosegment_" identifier -> field_identifier) )) . field_identifier) = true) ;) }))) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)libpath._M_dataplus._M_p != local_1ec) {\n    *(pointer *)(puVar22 + -0x10) = libpath._M_dataplus._M_p;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c00d3;\n    operator_delete(*(void **)(puVar22 + -0x10));\n  }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)libpath._M_dataplus._M_p != local_1ec)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)libpath._M_dataplus._M_p != local_1ec)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n       *)libpath._M_dataplus._M_p != local_1ec" (binary_expression "allocator<char>_>_9\n       *)libpath._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n       *)libpath._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "libpath._M_dataplus._M_p" (field_expression "libpath._M_dataplus" identifier . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n    *(pointer *)(puVar22 + -0x10) = libpath._M_dataplus._M_p;\n    *(undefined4 *)(puVar22 + -0x14) = 0x2c00d3;\n    operator_delete(*(void **)(puVar22 + -0x10));\n  }" { (expression_statement "*(pointer *)(puVar22 + -0x10) = libpath._M_dataplus._M_p;" (assignment_expression "*(pointer *)(puVar22 + -0x10) = libpath._M_dataplus._M_p" (pointer_expression "*(pointer *)(puVar22 + -0x10)" * (cast_expression "(pointer *)(puVar22 + -0x10)" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (field_expression "libpath._M_dataplus._M_p" (field_expression "libpath._M_dataplus" identifier . field_identifier) . field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x2c00d3;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x2c00d3" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "operator_delete(*(void **)(puVar22 + -0x10));" (call_expression "operator_delete(*(void **)(puVar22 + -0x10))" identifier (argument_list "(*(void **)(puVar22 + -0x10))" ( (pointer_expression "*(void **)(puVar22 + -0x10)" * (cast_expression "(void **)(puVar22 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_002bf7f0(int param_1)\n\n{\n  double dVar1;\n  undefined **ppuVar2;\n  undefined1 **ppuVar3;\n  undefined **ppuVar4;\n  char cVar5;\n  uint uVar6;\n  int *piVar7;\n  undefined4 *puVar8;\n  size_t sVar9;\n  uint uVar10;\n  undefined4 uVar11;\n  char *pcVar12;\n  undefined4 uVar13;\n  int iVar14;\n  undefined *puVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  bool bVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  undefined4 uStackY_230;\n  undefined1 auStack_20c [12];\n  undefined **local_200;\n  undefined **local_1fc;\n  undefined *local_1f8;\n  undefined ***local_1f4;\n  byte *local_1f0;\n  undefined1 *local_1ec;\n  undefined ***local_1e8;\n  undefined1 *local_1e4;\n  undefined1 *local_1e0;\n  undefined ***local_1dc;\n  uint local_1d8;\n  undefined1 **local_1d4;\n  undefined ***local_1d0;\n  double local_1cc;\n  undefined **local_1c4;\n  undefined1 local_1c0 [4];\n  undefined1 *local_1bc;\n  uint local_1b8;\n  undefined1 local_1b4 [16];\n  undefined1 *local_1a4;\n  int local_1a0;\n  undefined1 local_19c [16];\n  undefined2 local_18c;\n  undefined1 *local_188;\n  int local_184;\n  undefined1 local_180 [16];\n  undefined2 local_170;\n  undefined1 *local_16c;\n  int local_168;\n  undefined1 local_164 [16];\n  undefined2 local_154;\n  undefined1 *local_150;\n  int local_14c;\n  undefined1 local_148 [16];\n  undefined2 local_138;\n  undefined ***local_134;\n  int local_130;\n  undefined **local_12c [4];\n  undefined2 local_11c;\n  undefined1 local_110 [28];\n  undefined1 local_f4 [60];\n  int aiStack_b8 [5];\n  undefined **local_a4 [5];\n  byte local_90;\n  undefined4 local_34;\n  undefined2 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  bVar25 = 0;\n  local_1c4 = &__DT_PLTGOT;\n  if (*(char *)(param_1 + 0x3469) == '\0') {\n    if (*(char *)(param_1 + 0x34e5) != '\0') goto LAB_002bfd3a;\n    if (*(char *)(param_1 + 0x3561) != '\0') {\n      bVar24 = false;\n      goto LAB_002bfd49;\n    }\n    bVar24 = false;\n    if (*(char *)(param_1 + 0x7a9) != '\0') goto LAB_002bfd5c;\n  }\n  else {\n    *(undefined1 *)(param_1 + 0x34e5) = 1;\nLAB_002bfd3a:\n    bVar24 = true;\n    *(undefined1 *)(param_1 + 0x3561) = 1;\nLAB_002bfd49:\n    *(undefined1 *)(param_1 + 0x35dd) = 1;\n    if (*(char *)(param_1 + 0x7a9) != '\0') {\nLAB_002bfd5c:\n      *(undefined1 *)(param_1 + 0x1a25) = 1;\n    }\n    if (((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')) &&\n       (*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24)) {\n      local_1c4 = &__DT_PLTGOT;\n                    \n      FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1);\n    }\n  }\n  if (*(char *)(param_1 + 0xbcd) != '\0') {\n    *(undefined1 *)(param_1 + 0xb51) = 1;\n  }\n  if (*(char *)(param_1 + 0xc49) != '\0') {\n    *(undefined1 *)(param_1 + 0xb51) = 1;\n  }\n  if (*(char *)(param_1 + 0xb50) == '\0') {\n    local_1cc = (double)CONCAT71(local_1cc._1_7_,*(byte *)(param_1 + 0x318d));\n    *(byte *)(param_1 + 0xb51) = *(byte *)(param_1 + 0x318d) ^ 1;\n  }\n  bVar24 = *(char *)(param_1 + 0x4f31) == '\0';\n  if (bVar24) {\n    bVar24 = *(char *)(param_1 + 0x5545) == '\0';\n    if (!bVar24) {\n      *(undefined4 *)(param_1 + 0x5930) = 2;\n    }\n  }\n  else {\n    *(undefined4 *)(param_1 + 0x5930) = 1;\n  }\n  bVar22 = false;\n  iVar14 = 5;\n  local_1f0 = (byte *)0x48e342;\n  pbVar19 = *(byte **)(param_1 + 0x1bec);\n  pbVar20 = local_1f0;\n  do {\n    pbVar21 = pbVar20;\n    if (iVar14 == 0) break;\n    iVar14 = iVar14 + -1;\n    pbVar21 = pbVar20 + 1;\n    bVar22 = *pbVar19 < *pbVar20;\n    bVar24 = *pbVar19 == *pbVar20;\n    pbVar19 = pbVar19 + 1;\n    pbVar20 = pbVar21;\n  } while (bVar24);\n  bVar23 = false;\n  bVar24 = (!bVar22 && !bVar24) == bVar22;\n  if (bVar24) {\n    *(undefined4 *)(param_1 + 0x5934) = 0;\n  }\n  else {\n    iVar14 = 5;\n    pbVar19 = *(byte **)(param_1 + 0x1bec);\n    pbVar20 = (byte *)0x48dc94;\n    do {\n      pbVar21 = pbVar20;\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      pbVar21 = pbVar20 + 1;\n      bVar23 = *pbVar19 < *pbVar20;\n      bVar24 = *pbVar19 == *pbVar20;\n      pbVar19 = pbVar19 + 1;\n      pbVar20 = pbVar21;\n    } while (bVar24);\n    *(uint *)(param_1 + 0x5934) = ((!bVar23 && !bVar24) == bVar23) + 1;\n  }\n  if (*(char *)(param_1 + 0xd4c) == '\0') {\n    if (*(char *)(param_1 + 0xd90) == '\0') {\n      local_1c4 = &__DT_PLTGOT;\n      pcVar12 = getenv("COLLECT_NO_DEMANGLE");\n      *(bool *)(param_1 + 0x5939) = pcVar12 == (char *)0x0;\n    }\n    else {\n      *(undefined1 *)(param_1 + 0x5939) = 0;\n    }\n  }\n  else {\n    pcVar12 = *(char **)(param_1 + 0xd50);\n    *(undefined1 *)(param_1 + 0x5939) = 1;\n    local_1c4 = &__DT_PLTGOT;\n    if (*pcVar12 != '\0') {\n      iVar14 = FUN_00395b70(pcVar12);\n      if (iVar14 == 0) {\n                    \n        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);\n      }\n      FUN_00395b20(iVar14);\n    }\n  }\n  ppuVar4 = local_1c4;\n  bVar24 = false;\n  bVar22 = *(char *)(param_1 + 0x2870) == '\0';\n  if (!bVar22) {\n    pbVar19 = *(byte **)(param_1 + 0x2874);\n    iVar14 = 6;\n    pbVar20 = pbVar19;\n    pbVar21 = (byte *)((int)local_1c4 + -0x1477fe);\n    do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      bVar24 = *pbVar20 < *pbVar21;\n      bVar22 = *pbVar20 == *pbVar21;\n      pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n      pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar24 = (!bVar24 && !bVar22) == bVar24;\n    if (bVar24) {\n      *(undefined4 *)(param_1 + 0x5a88) = 0;\n    }\n    else {\n      iVar14 = 8;\n      pbVar20 = pbVar19;\n      pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar23 = *pbVar20 < *pbVar21;\n        bVar24 = *pbVar20 == *pbVar21;\n        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      bVar22 = false;\n      bVar24 = (!bVar23 && !bVar24) == bVar23;\n      if (bVar24) {\n        *(undefined4 *)(param_1 + 0x5a88) = 1;\n      }\n      else {\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }\n    }\n  }\n  if ((*(char *)(param_1 + 0x2401) != '\0') && (*(char *)(param_1 + 0x247c) == '\0')) {\n    *(undefined1 *)(param_1 + 0x247c) = 1;\n    *(undefined ***)(param_1 + 0x2480) = local_1c4 + -0x573ca;\n  }\n  if ((*(char *)(param_1 + 0x24c1) != '\0') || (*(char *)(param_1 + 0x253d) != '\0')) {\n    *(undefined1 *)(param_1 + 0x5938) = 1;\n  }\n  iVar14 = *(int *)(param_1 + 0x3de8);\n  if (0 < iVar14) {\n    if (*(int *)(param_1 + 0x3e2c) == 0) {\n      *(int *)(param_1 + 0x3e2c) = iVar14;\n    }\n    if (*(int *)(param_1 + 0x3e70) == 0) {\n      *(int *)(param_1 + 0x3e70) = iVar14;\n    }\n    if (*(int *)(param_1 + 0x3eb4) == 0) {\n      *(int *)(param_1 + 0x3eb4) = iVar14;\n    }\n  }\n  local_1d4 = &local_1bc;\n  local_1b4[0] = 0;\n  local_1ec = local_1b4;\n  local_1b8 = 0;\n  local_1bc = local_1ec;\n  if (*(char *)(param_1 + 0x4ca8) == '\0') {\n    if (*(char *)(param_1 + 0x2729) == '\0') {\n      local_1dc = local_12c;\n      local_1d0 = (undefined ***)&local_134;\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);\n      local_1a4 = local_19c;\n                    \n      FUN_0014fca0(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_18c = 1;\n      if (local_1a0 == 0) {\n                    \n        FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      local_1d8 = param_1 + 0x2184;\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_1a4);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_1a4 != local_19c) {\n        FUN_003ae080(local_1a4);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);\n      local_188 = local_180;\n                    \n      FUN_0014fca0(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_170 = 1;\n      if (local_184 == 0) {\n                    \n        FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_188);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_188 != local_180) {\n        FUN_003ae080(local_188);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);\n      local_16c = local_164;\n                    \n      FUN_0014fca0(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_154 = 1;\n      if (local_168 == 0) {\n                    \n        FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_16c);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_16c != local_164) {\n        FUN_003ae080(local_16c);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);\n      local_1e0 = local_148;\n      local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n      local_150 = local_1e0;\n                    \n      FUN_0014fca0(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_138 = 1;\n      if (local_14c == 0) {\n                    \n        FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_150 != local_1e0) {\n        FUN_003ae080(local_150);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      goto LAB_002c0258;\n    }\n  }\n  else {\n    pcVar12 = *(char **)(param_1 + 0x4cac);\n    sVar9 = strlen(pcVar12);\n    ppuVar3 = local_1d4;\n                    \n    FUN_003b6cc0(local_1d4,0,0,pcVar12,sVar9);\n    iVar14 = FUN_003b86a0(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36);\n    if (iVar14 == 0) {\n      uVar6 = local_1b8;\n      if (2 < local_1b8) {\n        uVar6 = 2;\n      }\n                    \n      FUN_003b5ec0(local_1d4,0,uVar6);\n    }\nLAB_002c0258:\n    uVar6 = 0;\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n    if (local_1b8 != 0) {\n      do {\n        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);\n        uVar16 = 0xffffffff;\n        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    \n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    \n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    \n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    \n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }\n        uVar6 = iVar14 + 1;\n      } while( true );\n    }\n  }\n  ppuVar4 = local_1c4;\n  puVar17 = auStack_20c;\n  puVar18 = auStack_20c;\n  if (*(int *)(param_1 + 0x3288) != 0) {\n    local_1e8 = local_a4;\n    local_1d0 = (undefined ***)&local_134;\n    FUN_003f2f70(local_1e8);\n    local_1fc = ppuVar4 + -0xa0e;\n    local_34 = 0;\n    local_2c = 0;\n    local_a4[0] = ppuVar4 + -0xa0c;\n    local_30 = 0;\n    local_28 = 0;\n    local_1f4 = (undefined ***)ppuVar4[-0x9d3];\n    local_1f8 = ppuVar4[-0x9d2];\n    local_24 = 0;\n    local_20 = 0;\n    local_134 = local_1f4;\n    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;\n    local_130 = 0;\n                    \n    FUN_003d8720((int)local_1f4[-3] + (int)&local_134,0);\n    local_200 = ppuVar4 + -0x9d0;\n    local_134 = (undefined ***)(ppuVar4 + -0x9cd);\n    local_a4[0] = ppuVar4 + -0x9c8;\n    local_1dc = local_12c;\n                    \n    FUN_003da940(local_12c);\n                    \n    FUN_003d8720(local_1e8,local_12c);\n                    \n    iVar14 = FUN_003dec20(local_12c,*(undefined4 *)(param_1 + 0x3288),8);\n    puVar15 = (undefined *)((int)local_1d0 + (int)local_134[-3]);\n    if (iVar14 == 0) {\n                    \n      FUN_003d7ed0(puVar15,*(uint *)(puVar15 + 0x14) | 4);\n    }\n    else {\n      FUN_003d7ed0(puVar15,0);\n    }\n    ppuVar4 = local_1c4;\n    if ((local_90 & 5) != 0) {\n      piVar7 = __errno_location();\n      pcVar12 = strerror(*piVar7);\n      uVar11 = *(undefined4 *)(param_1 + 0x3288);\n      uVar13 = gettext(local_1c4 + -0x5645f);\n                    \n                    \n      FUN_0023b7b0(uVar13,uVar11,pcVar12);\n    }\n    local_1e0 = local_148;\n    local_148[0] = 0;\n    local_14c = 0;\n    piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n    local_150 = local_1e0;\n    if (piVar7 == (int *)0x0) {\n                    \n                    \n      FUN_003f3900();\n    }\n    if ((char)piVar7[7] == '\0') {\n                    \n      FUN_003f3f90(piVar7);\n      iVar14 = 10;\n      if (*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4) {\n        cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);\n        iVar14 = (int)cVar5;\n      }\n    }\n    else {\n      iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n    }\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n                    \n    FUN_003aef80(local_1d0,&local_150,iVar14);\n    local_1d4 = (undefined1 **)(param_1 + 0x5a3c);\n    local_1e4 = local_1c0;\n    while ((local_90 & 5) == 0) {\n      if ((local_14c != 0) && (local_150[local_14c + -1] == '\r')) {\n        *(undefined4 *)(puVar17 + -8) = 0;\n        *(int *)(puVar17 + -0xc) = local_14c + -1;\n        *(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2c0187;\n        FUN_003b6a50();\n      }\n      *(undefined4 *)(puVar17 + -8) = 0xc70f6907;\n      *(int *)(puVar17 + -0xc) = local_14c;\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc8a;\n      uVar6 = FUN_003ac580();\n      local_1d8 = uVar6 % *(uint *)(param_1 + 0x5a40);\n      *(uint *)(puVar17 + -0x14) = uVar6;\n      *(undefined4 *)(puVar17 + -0x18) = local_1cc._0_4_;\n      *(uint *)(puVar17 + -0x1c) = local_1d8;\n      *(undefined1 ***)(puVar17 + -0x20) = local_1d4;\n      *(undefined4 *)(puVar17 + -0x24) = 0x2bfcb0;\n      piVar7 = (int *)FUN_0022ed10();\n      if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n        *(undefined4 *)(puVar17 + -0x10) = 0x20;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;\n        puVar8 = (undefined4 *)FUN_003ac4d0();\n        *puVar8 = 0;\n        puVar8[1] = puVar8 + 3;\n        *(undefined4 *)(puVar17 + -4) = 0;\n        *(undefined1 **)(puVar17 + -8) = local_150 + local_14c;\n        *(undefined1 **)(puVar17 + -0xc) = local_150;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;\n        FUN_0014fca0();\n        *(undefined4 *)(puVar17 + -0xc) = 1;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8;\n        *(uint *)(puVar17 + -0x14) = uVar6;\n        *(uint *)(puVar17 + -0x18) = local_1d8;\n        *(undefined1 ***)(puVar17 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar17 + -0x20) = local_1e4;\n                    \n        *(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;\n        FUN_002c4660();\n        puVar17 = puVar17 + -4;\n      }\n      ppuVar4 = local_1c4;\n      piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n      if (piVar7 == (int *)0x0) {\n                    \n                    \n        *(undefined4 *)(puVar17 + -4) = 0x2c0bff;\n        FUN_003f3900();\n      }\n      if ((char)piVar7[7] == '\0') {\n        *(int **)(puVar17 + -0x10) = piVar7;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;\n        FUN_003f3f90();\n        ppuVar2 = *(undefined ***)(*piVar7 + 0x18);\n        iVar14 = 10;\n        if (ppuVar2 != ppuVar4 + -0xdabd4) {\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }\n      }\n      else {\n        iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n      }\n      *(int *)(puVar17 + -8) = iVar14;\n      *(undefined4 *)(puVar17 + -0xc) = local_1cc._0_4_;\n      *(undefined ****)(puVar17 + -0x10) = local_1d0;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc47;\n      FUN_003aef80();\n    }\n    if (local_150 != local_1e0) {\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfe3f;\n      FUN_003ae080();\n    }\n    ppuVar4 = local_1c4;\n    *(undefined ****)(puVar17 + -0x10) = local_1dc;\n    local_134 = (undefined ***)(local_200 + 3);\n    local_a4[0] = local_200 + 8;\n    local_12c[0] = local_1c4 + -0x9ec;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe7f;\n    FUN_003de160();\n    *(undefined1 **)(puVar17 + -0x10) = local_f4;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe8d;\n    FUN_003ae8c0();\n    local_12c[0] = ppuVar4 + -0xbd1;\n    *(undefined1 **)(puVar17 + -0x10) = local_110;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeaa;\n    FUN_003b07e0();\n    local_134 = local_1f4;\n    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;\n    local_130 = 0;\n    local_a4[0] = local_1fc + 2;\n    *(undefined ****)(puVar17 + -0x10) = local_1e8;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeeb;\n    FUN_003f3310();\n    puVar18 = puVar17;\n  }\n  if ((*(char *)(param_1 + 0x72d) != '\0') && (*(char *)(param_1 + 0x42e0) == '\0')) {\n    *(int *)(param_1 + 0x42e4) = (int)local_1c4 + -0x1a1f9b;\n  }\n  if ((*(char *)(param_1 + 0x1a25) != '\0') && (*(char *)(param_1 + 0x1fc) == '\0')) {\n    *(undefined1 *)(param_1 + 0x1fd) = 1;\n  }\n  *(int *)(puVar18 + -0x10) = param_1;\n                    \n  *(undefined4 *)(puVar18 + -0x14) = 0x2bff3f;\n  FUN_002b6130();\n  if (*(char *)(param_1 + 0x1a25) == '\0') {\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      if (*(char *)(param_1 + 0x5938) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n        *(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;\n        FUN_0023b7b0();\n      }\n      if (*(char *)(param_1 + 0x318d) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;\n        FUN_0023b7b0();\n      }\n    }\n    if (*(int *)(param_1 + 0x1478) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5642f;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0cdc;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ce4;\n      FUN_0023b7b0();\n    }\n    if (*(int *)(param_1 + 0x1428) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56424;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d10;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d18;\n      FUN_0023b7b0();\n    }\n    if ((*(char *)(param_1 + 0x318d) != '\0') && (*(int *)(param_1 + 0x3288) != 0)) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56418;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0163;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined **)(puVar18 + -0x14) = &UNK_002c016b;\n      FUN_0023b7b0();\n    }\n  }\n  else {\n    if (*(char *)(param_1 + 0x5938) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e32;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c87;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x318d) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6;\n      FUN_0023b7b0();\n    }\n  }\n  *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(param_1 + 0x27ec);\n  *(undefined4 *)(puVar18 + -0x14) = 0x2bff90;\n  iVar14 = FUN_002b5ab0();\n  if ((iVar14 != 0) &&\n     (((*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')) ||\n      (*(char *)(param_1 + 0x318d) != '\0')))) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5640c;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c60;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c68;\n    FUN_0023b7b0();\n  }\n  if ((*(char *)(param_1 + 0x1ae4) != '\0') &&\n     ((dVar1 = *(double *)(param_1 + 0x1ae8), dVar1 < 0.0 || (1.0 <= dVar1)))) {\n    local_1cc = dVar1;\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563fc;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c1c;\n    uVar11 = gettext();\n    dVar1 = local_1cc;\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(double *)(puVar18 + -0xc) = dVar1;\n                    \n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c2e;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x5a1c) == '\0') {\n    if (*(int *)(param_1 + 0x5a10) == 0) goto LAB_002c00a3;\n  }\n  else if (*(int *)(param_1 + 0x5a10) == 0) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563ec;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0db6;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dbe;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x318d) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563d0;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dd5;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0ddd;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x3095) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563c4;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0df4;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dfc;\n    FUN_0023b7b0();\n  }\n  if (*(int *)(param_1 + 0x593c) != 0) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563b5;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e13;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e1b;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x56b9) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563a8;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d78;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d80;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x2931) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5639b;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d97;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d9f;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x18b1) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5638f;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a6f;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a77;\n    FUN_0023b840();\n    *(undefined1 *)(param_1 + 0x18b1) = 0;\n  }\n  bVar22 = *(int *)(param_1 + 0x5934) == 0;\n  bVar24 = !bVar22;\n  if (bVar24) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56383;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a37;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a3f;\n    FUN_0023b840();\n    *(undefined4 *)(param_1 + 0x5934) = 0;\n  }\n  bVar24 = bVar24 && (undefined1 *)0xffffffef < puVar18 + -0x10;\n  bVar22 = bVar22 || puVar18 == (undefined1 *)0x0;\n  iVar14 = 5;\n  pbVar19 = *(byte **)(param_1 + 0x99c);\n  pbVar20 = local_1f0;\n  do {\n    if (iVar14 == 0) break;\n    iVar14 = iVar14 + -1;\n    bVar24 = *pbVar19 < *pbVar20;\n    bVar22 = *pbVar19 == *pbVar20;\n    pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n  } while (bVar22);\n  if ((!bVar24 && !bVar22) != bVar24) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56379;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c09ff;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a07;\n    FUN_0023b840();\n    *(byte **)(param_1 + 0x99c) = local_1f0;\n  }\nLAB_002c00a3:\n  if (*(char *)(param_1 + 0x3344) != '\0') {\n    *(undefined1 *)(param_1 + 0x32c9) = 1;\n  }\n  if (local_1bc != local_1ec) {\n    *(undefined1 **)(puVar18 + -0x10) = local_1bc;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c00d3;\n    FUN_003ae080();\n  }\n  return;\n}\n\n" (function_definition "void FUN_002bf7f0(int param_1)\n\n{\n  double dVar1;\n  undefined **ppuVar2;\n  undefined1 **ppuVar3;\n  undefined **ppuVar4;\n  char cVar5;\n  uint uVar6;\n  int *piVar7;\n  undefined4 *puVar8;\n  size_t sVar9;\n  uint uVar10;\n  undefined4 uVar11;\n  char *pcVar12;\n  undefined4 uVar13;\n  int iVar14;\n  undefined *puVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  bool bVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  undefined4 uStackY_230;\n  undefined1 auStack_20c [12];\n  undefined **local_200;\n  undefined **local_1fc;\n  undefined *local_1f8;\n  undefined ***local_1f4;\n  byte *local_1f0;\n  undefined1 *local_1ec;\n  undefined ***local_1e8;\n  undefined1 *local_1e4;\n  undefined1 *local_1e0;\n  undefined ***local_1dc;\n  uint local_1d8;\n  undefined1 **local_1d4;\n  undefined ***local_1d0;\n  double local_1cc;\n  undefined **local_1c4;\n  undefined1 local_1c0 [4];\n  undefined1 *local_1bc;\n  uint local_1b8;\n  undefined1 local_1b4 [16];\n  undefined1 *local_1a4;\n  int local_1a0;\n  undefined1 local_19c [16];\n  undefined2 local_18c;\n  undefined1 *local_188;\n  int local_184;\n  undefined1 local_180 [16];\n  undefined2 local_170;\n  undefined1 *local_16c;\n  int local_168;\n  undefined1 local_164 [16];\n  undefined2 local_154;\n  undefined1 *local_150;\n  int local_14c;\n  undefined1 local_148 [16];\n  undefined2 local_138;\n  undefined ***local_134;\n  int local_130;\n  undefined **local_12c [4];\n  undefined2 local_11c;\n  undefined1 local_110 [28];\n  undefined1 local_f4 [60];\n  int aiStack_b8 [5];\n  undefined **local_a4 [5];\n  byte local_90;\n  undefined4 local_34;\n  undefined2 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  bVar25 = 0;\n  local_1c4 = &__DT_PLTGOT;\n  if (*(char *)(param_1 + 0x3469) == '\0') {\n    if (*(char *)(param_1 + 0x34e5) != '\0') goto LAB_002bfd3a;\n    if (*(char *)(param_1 + 0x3561) != '\0') {\n      bVar24 = false;\n      goto LAB_002bfd49;\n    }\n    bVar24 = false;\n    if (*(char *)(param_1 + 0x7a9) != '\0') goto LAB_002bfd5c;\n  }\n  else {\n    *(undefined1 *)(param_1 + 0x34e5) = 1;\nLAB_002bfd3a:\n    bVar24 = true;\n    *(undefined1 *)(param_1 + 0x3561) = 1;\nLAB_002bfd49:\n    *(undefined1 *)(param_1 + 0x35dd) = 1;\n    if (*(char *)(param_1 + 0x7a9) != '\0') {\nLAB_002bfd5c:\n      *(undefined1 *)(param_1 + 0x1a25) = 1;\n    }\n    if (((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')) &&\n       (*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24)) {\n      local_1c4 = &__DT_PLTGOT;\n                    \n      FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1);\n    }\n  }\n  if (*(char *)(param_1 + 0xbcd) != '\0') {\n    *(undefined1 *)(param_1 + 0xb51) = 1;\n  }\n  if (*(char *)(param_1 + 0xc49) != '\0') {\n    *(undefined1 *)(param_1 + 0xb51) = 1;\n  }\n  if (*(char *)(param_1 + 0xb50) == '\0') {\n    local_1cc = (double)CONCAT71(local_1cc._1_7_,*(byte *)(param_1 + 0x318d));\n    *(byte *)(param_1 + 0xb51) = *(byte *)(param_1 + 0x318d) ^ 1;\n  }\n  bVar24 = *(char *)(param_1 + 0x4f31) == '\0';\n  if (bVar24) {\n    bVar24 = *(char *)(param_1 + 0x5545) == '\0';\n    if (!bVar24) {\n      *(undefined4 *)(param_1 + 0x5930) = 2;\n    }\n  }\n  else {\n    *(undefined4 *)(param_1 + 0x5930) = 1;\n  }\n  bVar22 = false;\n  iVar14 = 5;\n  local_1f0 = (byte *)0x48e342;\n  pbVar19 = *(byte **)(param_1 + 0x1bec);\n  pbVar20 = local_1f0;\n  do {\n    pbVar21 = pbVar20;\n    if (iVar14 == 0) break;\n    iVar14 = iVar14 + -1;\n    pbVar21 = pbVar20 + 1;\n    bVar22 = *pbVar19 < *pbVar20;\n    bVar24 = *pbVar19 == *pbVar20;\n    pbVar19 = pbVar19 + 1;\n    pbVar20 = pbVar21;\n  } while (bVar24);\n  bVar23 = false;\n  bVar24 = (!bVar22 && !bVar24) == bVar22;\n  if (bVar24) {\n    *(undefined4 *)(param_1 + 0x5934) = 0;\n  }\n  else {\n    iVar14 = 5;\n    pbVar19 = *(byte **)(param_1 + 0x1bec);\n    pbVar20 = (byte *)0x48dc94;\n    do {\n      pbVar21 = pbVar20;\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      pbVar21 = pbVar20 + 1;\n      bVar23 = *pbVar19 < *pbVar20;\n      bVar24 = *pbVar19 == *pbVar20;\n      pbVar19 = pbVar19 + 1;\n      pbVar20 = pbVar21;\n    } while (bVar24);\n    *(uint *)(param_1 + 0x5934) = ((!bVar23 && !bVar24) == bVar23) + 1;\n  }\n  if (*(char *)(param_1 + 0xd4c) == '\0') {\n    if (*(char *)(param_1 + 0xd90) == '\0') {\n      local_1c4 = &__DT_PLTGOT;\n      pcVar12 = getenv("COLLECT_NO_DEMANGLE");\n      *(bool *)(param_1 + 0x5939) = pcVar12 == (char *)0x0;\n    }\n    else {\n      *(undefined1 *)(param_1 + 0x5939) = 0;\n    }\n  }\n  else {\n    pcVar12 = *(char **)(param_1 + 0xd50);\n    *(undefined1 *)(param_1 + 0x5939) = 1;\n    local_1c4 = &__DT_PLTGOT;\n    if (*pcVar12 != '\0') {\n      iVar14 = FUN_00395b70(pcVar12);\n      if (iVar14 == 0) {\n                    \n        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);\n      }\n      FUN_00395b20(iVar14);\n    }\n  }\n  ppuVar4 = local_1c4;\n  bVar24 = false;\n  bVar22 = *(char *)(param_1 + 0x2870) == '\0';\n  if (!bVar22) {\n    pbVar19 = *(byte **)(param_1 + 0x2874);\n    iVar14 = 6;\n    pbVar20 = pbVar19;\n    pbVar21 = (byte *)((int)local_1c4 + -0x1477fe);\n    do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      bVar24 = *pbVar20 < *pbVar21;\n      bVar22 = *pbVar20 == *pbVar21;\n      pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n      pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar24 = (!bVar24 && !bVar22) == bVar24;\n    if (bVar24) {\n      *(undefined4 *)(param_1 + 0x5a88) = 0;\n    }\n    else {\n      iVar14 = 8;\n      pbVar20 = pbVar19;\n      pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar23 = *pbVar20 < *pbVar21;\n        bVar24 = *pbVar20 == *pbVar21;\n        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      bVar22 = false;\n      bVar24 = (!bVar23 && !bVar24) == bVar23;\n      if (bVar24) {\n        *(undefined4 *)(param_1 + 0x5a88) = 1;\n      }\n      else {\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }\n    }\n  }\n  if ((*(char *)(param_1 + 0x2401) != '\0') && (*(char *)(param_1 + 0x247c) == '\0')) {\n    *(undefined1 *)(param_1 + 0x247c) = 1;\n    *(undefined ***)(param_1 + 0x2480) = local_1c4 + -0x573ca;\n  }\n  if ((*(char *)(param_1 + 0x24c1) != '\0') || (*(char *)(param_1 + 0x253d) != '\0')) {\n    *(undefined1 *)(param_1 + 0x5938) = 1;\n  }\n  iVar14 = *(int *)(param_1 + 0x3de8);\n  if (0 < iVar14) {\n    if (*(int *)(param_1 + 0x3e2c) == 0) {\n      *(int *)(param_1 + 0x3e2c) = iVar14;\n    }\n    if (*(int *)(param_1 + 0x3e70) == 0) {\n      *(int *)(param_1 + 0x3e70) = iVar14;\n    }\n    if (*(int *)(param_1 + 0x3eb4) == 0) {\n      *(int *)(param_1 + 0x3eb4) = iVar14;\n    }\n  }\n  local_1d4 = &local_1bc;\n  local_1b4[0] = 0;\n  local_1ec = local_1b4;\n  local_1b8 = 0;\n  local_1bc = local_1ec;\n  if (*(char *)(param_1 + 0x4ca8) == '\0') {\n    if (*(char *)(param_1 + 0x2729) == '\0') {\n      local_1dc = local_12c;\n      local_1d0 = (undefined ***)&local_134;\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);\n      local_1a4 = local_19c;\n                    \n      FUN_0014fca0(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_18c = 1;\n      if (local_1a0 == 0) {\n                    \n        FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      local_1d8 = param_1 + 0x2184;\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_1a4);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_1a4 != local_19c) {\n        FUN_003ae080(local_1a4);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);\n      local_188 = local_180;\n                    \n      FUN_0014fca0(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_170 = 1;\n      if (local_184 == 0) {\n                    \n        FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_188);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_188 != local_180) {\n        FUN_003ae080(local_188);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);\n      local_16c = local_164;\n                    \n      FUN_0014fca0(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_154 = 1;\n      if (local_168 == 0) {\n                    \n        FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_16c);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_16c != local_164) {\n        FUN_003ae080(local_16c);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);\n      local_1e0 = local_148;\n      local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n      local_150 = local_1e0;\n                    \n      FUN_0014fca0(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_138 = 1;\n      if (local_14c == 0) {\n                    \n        FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_150 != local_1e0) {\n        FUN_003ae080(local_150);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      goto LAB_002c0258;\n    }\n  }\n  else {\n    pcVar12 = *(char **)(param_1 + 0x4cac);\n    sVar9 = strlen(pcVar12);\n    ppuVar3 = local_1d4;\n                    \n    FUN_003b6cc0(local_1d4,0,0,pcVar12,sVar9);\n    iVar14 = FUN_003b86a0(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36);\n    if (iVar14 == 0) {\n      uVar6 = local_1b8;\n      if (2 < local_1b8) {\n        uVar6 = 2;\n      }\n                    \n      FUN_003b5ec0(local_1d4,0,uVar6);\n    }\nLAB_002c0258:\n    uVar6 = 0;\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n    if (local_1b8 != 0) {\n      do {\n        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);\n        uVar16 = 0xffffffff;\n        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    \n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    \n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    \n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    \n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }\n        uVar6 = iVar14 + 1;\n      } while( true );\n    }\n  }\n  ppuVar4 = local_1c4;\n  puVar17 = auStack_20c;\n  puVar18 = auStack_20c;\n  if (*(int *)(param_1 + 0x3288) != 0) {\n    local_1e8 = local_a4;\n    local_1d0 = (undefined ***)&local_134;\n    FUN_003f2f70(local_1e8);\n    local_1fc = ppuVar4 + -0xa0e;\n    local_34 = 0;\n    local_2c = 0;\n    local_a4[0] = ppuVar4 + -0xa0c;\n    local_30 = 0;\n    local_28 = 0;\n    local_1f4 = (undefined ***)ppuVar4[-0x9d3];\n    local_1f8 = ppuVar4[-0x9d2];\n    local_24 = 0;\n    local_20 = 0;\n    local_134 = local_1f4;\n    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;\n    local_130 = 0;\n                    \n    FUN_003d8720((int)local_1f4[-3] + (int)&local_134,0);\n    local_200 = ppuVar4 + -0x9d0;\n    local_134 = (undefined ***)(ppuVar4 + -0x9cd);\n    local_a4[0] = ppuVar4 + -0x9c8;\n    local_1dc = local_12c;\n                    \n    FUN_003da940(local_12c);\n                    \n    FUN_003d8720(local_1e8,local_12c);\n                    \n    iVar14 = FUN_003dec20(local_12c,*(undefined4 *)(param_1 + 0x3288),8);\n    puVar15 = (undefined *)((int)local_1d0 + (int)local_134[-3]);\n    if (iVar14 == 0) {\n                    \n      FUN_003d7ed0(puVar15,*(uint *)(puVar15 + 0x14) | 4);\n    }\n    else {\n      FUN_003d7ed0(puVar15,0);\n    }\n    ppuVar4 = local_1c4;\n    if ((local_90 & 5) != 0) {\n      piVar7 = __errno_location();\n      pcVar12 = strerror(*piVar7);\n      uVar11 = *(undefined4 *)(param_1 + 0x3288);\n      uVar13 = gettext(local_1c4 + -0x5645f);\n                    \n                    \n      FUN_0023b7b0(uVar13,uVar11,pcVar12);\n    }\n    local_1e0 = local_148;\n    local_148[0] = 0;\n    local_14c = 0;\n    piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n    local_150 = local_1e0;\n    if (piVar7 == (int *)0x0) {\n                    \n                    \n      FUN_003f3900();\n    }\n    if ((char)piVar7[7] == '\0') {\n                    \n      FUN_003f3f90(piVar7);\n      iVar14 = 10;\n      if (*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4) {\n        cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);\n        iVar14 = (int)cVar5;\n      }\n    }\n    else {\n      iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n    }\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n                    \n    FUN_003aef80(local_1d0,&local_150,iVar14);\n    local_1d4 = (undefined1 **)(param_1 + 0x5a3c);\n    local_1e4 = local_1c0;\n    while ((local_90 & 5) == 0) {\n      if ((local_14c != 0) && (local_150[local_14c + -1] == '\r')) {\n        *(undefined4 *)(puVar17 + -8) = 0;\n        *(int *)(puVar17 + -0xc) = local_14c + -1;\n        *(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2c0187;\n        FUN_003b6a50();\n      }\n      *(undefined4 *)(puVar17 + -8) = 0xc70f6907;\n      *(int *)(puVar17 + -0xc) = local_14c;\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc8a;\n      uVar6 = FUN_003ac580();\n      local_1d8 = uVar6 % *(uint *)(param_1 + 0x5a40);\n      *(uint *)(puVar17 + -0x14) = uVar6;\n      *(undefined4 *)(puVar17 + -0x18) = local_1cc._0_4_;\n      *(uint *)(puVar17 + -0x1c) = local_1d8;\n      *(undefined1 ***)(puVar17 + -0x20) = local_1d4;\n      *(undefined4 *)(puVar17 + -0x24) = 0x2bfcb0;\n      piVar7 = (int *)FUN_0022ed10();\n      if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n        *(undefined4 *)(puVar17 + -0x10) = 0x20;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;\n        puVar8 = (undefined4 *)FUN_003ac4d0();\n        *puVar8 = 0;\n        puVar8[1] = puVar8 + 3;\n        *(undefined4 *)(puVar17 + -4) = 0;\n        *(undefined1 **)(puVar17 + -8) = local_150 + local_14c;\n        *(undefined1 **)(puVar17 + -0xc) = local_150;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;\n        FUN_0014fca0();\n        *(undefined4 *)(puVar17 + -0xc) = 1;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8;\n        *(uint *)(puVar17 + -0x14) = uVar6;\n        *(uint *)(puVar17 + -0x18) = local_1d8;\n        *(undefined1 ***)(puVar17 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar17 + -0x20) = local_1e4;\n                    \n        *(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;\n        FUN_002c4660();\n        puVar17 = puVar17 + -4;\n      }\n      ppuVar4 = local_1c4;\n      piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n      if (piVar7 == (int *)0x0) {\n                    \n                    \n        *(undefined4 *)(puVar17 + -4) = 0x2c0bff;\n        FUN_003f3900();\n      }\n      if ((char)piVar7[7] == '\0') {\n        *(int **)(puVar17 + -0x10) = piVar7;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;\n        FUN_003f3f90();\n        ppuVar2 = *(undefined ***)(*piVar7 + 0x18);\n        iVar14 = 10;\n        if (ppuVar2 != ppuVar4 + -0xdabd4) {\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }\n      }\n      else {\n        iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n      }\n      *(int *)(puVar17 + -8) = iVar14;\n      *(undefined4 *)(puVar17 + -0xc) = local_1cc._0_4_;\n      *(undefined ****)(puVar17 + -0x10) = local_1d0;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc47;\n      FUN_003aef80();\n    }\n    if (local_150 != local_1e0) {\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfe3f;\n      FUN_003ae080();\n    }\n    ppuVar4 = local_1c4;\n    *(undefined ****)(puVar17 + -0x10) = local_1dc;\n    local_134 = (undefined ***)(local_200 + 3);\n    local_a4[0] = local_200 + 8;\n    local_12c[0] = local_1c4 + -0x9ec;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe7f;\n    FUN_003de160();\n    *(undefined1 **)(puVar17 + -0x10) = local_f4;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe8d;\n    FUN_003ae8c0();\n    local_12c[0] = ppuVar4 + -0xbd1;\n    *(undefined1 **)(puVar17 + -0x10) = local_110;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeaa;\n    FUN_003b07e0();\n    local_134 = local_1f4;\n    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;\n    local_130 = 0;\n    local_a4[0] = local_1fc + 2;\n    *(undefined ****)(puVar17 + -0x10) = local_1e8;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeeb;\n    FUN_003f3310();\n    puVar18 = puVar17;\n  }\n  if ((*(char *)(param_1 + 0x72d) != '\0') && (*(char *)(param_1 + 0x42e0) == '\0')) {\n    *(int *)(param_1 + 0x42e4) = (int)local_1c4 + -0x1a1f9b;\n  }\n  if ((*(char *)(param_1 + 0x1a25) != '\0') && (*(char *)(param_1 + 0x1fc) == '\0')) {\n    *(undefined1 *)(param_1 + 0x1fd) = 1;\n  }\n  *(int *)(puVar18 + -0x10) = param_1;\n                    \n  *(undefined4 *)(puVar18 + -0x14) = 0x2bff3f;\n  FUN_002b6130();\n  if (*(char *)(param_1 + 0x1a25) == '\0') {\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      if (*(char *)(param_1 + 0x5938) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n        *(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;\n        FUN_0023b7b0();\n      }\n      if (*(char *)(param_1 + 0x318d) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;\n        FUN_0023b7b0();\n      }\n    }\n    if (*(int *)(param_1 + 0x1478) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5642f;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0cdc;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ce4;\n      FUN_0023b7b0();\n    }\n    if (*(int *)(param_1 + 0x1428) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56424;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d10;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d18;\n      FUN_0023b7b0();\n    }\n    if ((*(char *)(param_1 + 0x318d) != '\0') && (*(int *)(param_1 + 0x3288) != 0)) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56418;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0163;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined **)(puVar18 + -0x14) = &UNK_002c016b;\n      FUN_0023b7b0();\n    }\n  }\n  else {\n    if (*(char *)(param_1 + 0x5938) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e32;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c87;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x318d) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6;\n      FUN_0023b7b0();\n    }\n  }\n  *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(param_1 + 0x27ec);\n  *(undefined4 *)(puVar18 + -0x14) = 0x2bff90;\n  iVar14 = FUN_002b5ab0();\n  if ((iVar14 != 0) &&\n     (((*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')) ||\n      (*(char *)(param_1 + 0x318d) != '\0')))) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5640c;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c60;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c68;\n    FUN_0023b7b0();\n  }\n  if ((*(char *)(param_1 + 0x1ae4) != '\0') &&\n     ((dVar1 = *(double *)(param_1 + 0x1ae8), dVar1 < 0.0 || (1.0 <= dVar1)))) {\n    local_1cc = dVar1;\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563fc;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c1c;\n    uVar11 = gettext();\n    dVar1 = local_1cc;\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(double *)(puVar18 + -0xc) = dVar1;\n                    \n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c2e;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x5a1c) == '\0') {\n    if (*(int *)(param_1 + 0x5a10) == 0) goto LAB_002c00a3;\n  }\n  else if (*(int *)(param_1 + 0x5a10) == 0) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563ec;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0db6;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dbe;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x318d) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563d0;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dd5;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0ddd;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x3095) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563c4;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0df4;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dfc;\n    FUN_0023b7b0();\n  }\n  if (*(int *)(param_1 + 0x593c) != 0) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563b5;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e13;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e1b;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x56b9) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563a8;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d78;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d80;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x2931) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5639b;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d97;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d9f;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x18b1) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5638f;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a6f;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a77;\n    FUN_0023b840();\n    *(undefined1 *)(param_1 + 0x18b1) = 0;\n  }\n  bVar22 = *(int *)(param_1 + 0x5934) == 0;\n  bVar24 = !bVar22;\n  if (bVar24) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56383;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a37;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a3f;\n    FUN_0023b840();\n    *(undefined4 *)(param_1 + 0x5934) = 0;\n  }\n  bVar24 = bVar24 && (undefined1 *)0xffffffef < puVar18 + -0x10;\n  bVar22 = bVar22 || puVar18 == (undefined1 *)0x0;\n  iVar14 = 5;\n  pbVar19 = *(byte **)(param_1 + 0x99c);\n  pbVar20 = local_1f0;\n  do {\n    if (iVar14 == 0) break;\n    iVar14 = iVar14 + -1;\n    bVar24 = *pbVar19 < *pbVar20;\n    bVar22 = *pbVar19 == *pbVar20;\n    pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n  } while (bVar22);\n  if ((!bVar24 && !bVar22) != bVar24) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56379;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c09ff;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a07;\n    FUN_0023b840();\n    *(byte **)(param_1 + 0x99c) = local_1f0;\n  }\nLAB_002c00a3:\n  if (*(char *)(param_1 + 0x3344) != '\0') {\n    *(undefined1 *)(param_1 + 0x32c9) = 1;\n  }\n  if (local_1bc != local_1ec) {\n    *(undefined1 **)(puVar18 + -0x10) = local_1bc;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c00d3;\n    FUN_003ae080();\n  }\n  return;\n}" primitive_type (function_declarator "FUN_002bf7f0(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  double dVar1;\n  undefined **ppuVar2;\n  undefined1 **ppuVar3;\n  undefined **ppuVar4;\n  char cVar5;\n  uint uVar6;\n  int *piVar7;\n  undefined4 *puVar8;\n  size_t sVar9;\n  uint uVar10;\n  undefined4 uVar11;\n  char *pcVar12;\n  undefined4 uVar13;\n  int iVar14;\n  undefined *puVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  bool bVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  undefined4 uStackY_230;\n  undefined1 auStack_20c [12];\n  undefined **local_200;\n  undefined **local_1fc;\n  undefined *local_1f8;\n  undefined ***local_1f4;\n  byte *local_1f0;\n  undefined1 *local_1ec;\n  undefined ***local_1e8;\n  undefined1 *local_1e4;\n  undefined1 *local_1e0;\n  undefined ***local_1dc;\n  uint local_1d8;\n  undefined1 **local_1d4;\n  undefined ***local_1d0;\n  double local_1cc;\n  undefined **local_1c4;\n  undefined1 local_1c0 [4];\n  undefined1 *local_1bc;\n  uint local_1b8;\n  undefined1 local_1b4 [16];\n  undefined1 *local_1a4;\n  int local_1a0;\n  undefined1 local_19c [16];\n  undefined2 local_18c;\n  undefined1 *local_188;\n  int local_184;\n  undefined1 local_180 [16];\n  undefined2 local_170;\n  undefined1 *local_16c;\n  int local_168;\n  undefined1 local_164 [16];\n  undefined2 local_154;\n  undefined1 *local_150;\n  int local_14c;\n  undefined1 local_148 [16];\n  undefined2 local_138;\n  undefined ***local_134;\n  int local_130;\n  undefined **local_12c [4];\n  undefined2 local_11c;\n  undefined1 local_110 [28];\n  undefined1 local_f4 [60];\n  int aiStack_b8 [5];\n  undefined **local_a4 [5];\n  byte local_90;\n  undefined4 local_34;\n  undefined2 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  bVar25 = 0;\n  local_1c4 = &__DT_PLTGOT;\n  if (*(char *)(param_1 + 0x3469) == '\0') {\n    if (*(char *)(param_1 + 0x34e5) != '\0') goto LAB_002bfd3a;\n    if (*(char *)(param_1 + 0x3561) != '\0') {\n      bVar24 = false;\n      goto LAB_002bfd49;\n    }\n    bVar24 = false;\n    if (*(char *)(param_1 + 0x7a9) != '\0') goto LAB_002bfd5c;\n  }\n  else {\n    *(undefined1 *)(param_1 + 0x34e5) = 1;\nLAB_002bfd3a:\n    bVar24 = true;\n    *(undefined1 *)(param_1 + 0x3561) = 1;\nLAB_002bfd49:\n    *(undefined1 *)(param_1 + 0x35dd) = 1;\n    if (*(char *)(param_1 + 0x7a9) != '\0') {\nLAB_002bfd5c:\n      *(undefined1 *)(param_1 + 0x1a25) = 1;\n    }\n    if (((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')) &&\n       (*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24)) {\n      local_1c4 = &__DT_PLTGOT;\n                    \n      FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1);\n    }\n  }\n  if (*(char *)(param_1 + 0xbcd) != '\0') {\n    *(undefined1 *)(param_1 + 0xb51) = 1;\n  }\n  if (*(char *)(param_1 + 0xc49) != '\0') {\n    *(undefined1 *)(param_1 + 0xb51) = 1;\n  }\n  if (*(char *)(param_1 + 0xb50) == '\0') {\n    local_1cc = (double)CONCAT71(local_1cc._1_7_,*(byte *)(param_1 + 0x318d));\n    *(byte *)(param_1 + 0xb51) = *(byte *)(param_1 + 0x318d) ^ 1;\n  }\n  bVar24 = *(char *)(param_1 + 0x4f31) == '\0';\n  if (bVar24) {\n    bVar24 = *(char *)(param_1 + 0x5545) == '\0';\n    if (!bVar24) {\n      *(undefined4 *)(param_1 + 0x5930) = 2;\n    }\n  }\n  else {\n    *(undefined4 *)(param_1 + 0x5930) = 1;\n  }\n  bVar22 = false;\n  iVar14 = 5;\n  local_1f0 = (byte *)0x48e342;\n  pbVar19 = *(byte **)(param_1 + 0x1bec);\n  pbVar20 = local_1f0;\n  do {\n    pbVar21 = pbVar20;\n    if (iVar14 == 0) break;\n    iVar14 = iVar14 + -1;\n    pbVar21 = pbVar20 + 1;\n    bVar22 = *pbVar19 < *pbVar20;\n    bVar24 = *pbVar19 == *pbVar20;\n    pbVar19 = pbVar19 + 1;\n    pbVar20 = pbVar21;\n  } while (bVar24);\n  bVar23 = false;\n  bVar24 = (!bVar22 && !bVar24) == bVar22;\n  if (bVar24) {\n    *(undefined4 *)(param_1 + 0x5934) = 0;\n  }\n  else {\n    iVar14 = 5;\n    pbVar19 = *(byte **)(param_1 + 0x1bec);\n    pbVar20 = (byte *)0x48dc94;\n    do {\n      pbVar21 = pbVar20;\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      pbVar21 = pbVar20 + 1;\n      bVar23 = *pbVar19 < *pbVar20;\n      bVar24 = *pbVar19 == *pbVar20;\n      pbVar19 = pbVar19 + 1;\n      pbVar20 = pbVar21;\n    } while (bVar24);\n    *(uint *)(param_1 + 0x5934) = ((!bVar23 && !bVar24) == bVar23) + 1;\n  }\n  if (*(char *)(param_1 + 0xd4c) == '\0') {\n    if (*(char *)(param_1 + 0xd90) == '\0') {\n      local_1c4 = &__DT_PLTGOT;\n      pcVar12 = getenv("COLLECT_NO_DEMANGLE");\n      *(bool *)(param_1 + 0x5939) = pcVar12 == (char *)0x0;\n    }\n    else {\n      *(undefined1 *)(param_1 + 0x5939) = 0;\n    }\n  }\n  else {\n    pcVar12 = *(char **)(param_1 + 0xd50);\n    *(undefined1 *)(param_1 + 0x5939) = 1;\n    local_1c4 = &__DT_PLTGOT;\n    if (*pcVar12 != '\0') {\n      iVar14 = FUN_00395b70(pcVar12);\n      if (iVar14 == 0) {\n                    \n        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);\n      }\n      FUN_00395b20(iVar14);\n    }\n  }\n  ppuVar4 = local_1c4;\n  bVar24 = false;\n  bVar22 = *(char *)(param_1 + 0x2870) == '\0';\n  if (!bVar22) {\n    pbVar19 = *(byte **)(param_1 + 0x2874);\n    iVar14 = 6;\n    pbVar20 = pbVar19;\n    pbVar21 = (byte *)((int)local_1c4 + -0x1477fe);\n    do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      bVar24 = *pbVar20 < *pbVar21;\n      bVar22 = *pbVar20 == *pbVar21;\n      pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n      pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar24 = (!bVar24 && !bVar22) == bVar24;\n    if (bVar24) {\n      *(undefined4 *)(param_1 + 0x5a88) = 0;\n    }\n    else {\n      iVar14 = 8;\n      pbVar20 = pbVar19;\n      pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar23 = *pbVar20 < *pbVar21;\n        bVar24 = *pbVar20 == *pbVar21;\n        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      bVar22 = false;\n      bVar24 = (!bVar23 && !bVar24) == bVar23;\n      if (bVar24) {\n        *(undefined4 *)(param_1 + 0x5a88) = 1;\n      }\n      else {\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }\n    }\n  }\n  if ((*(char *)(param_1 + 0x2401) != '\0') && (*(char *)(param_1 + 0x247c) == '\0')) {\n    *(undefined1 *)(param_1 + 0x247c) = 1;\n    *(undefined ***)(param_1 + 0x2480) = local_1c4 + -0x573ca;\n  }\n  if ((*(char *)(param_1 + 0x24c1) != '\0') || (*(char *)(param_1 + 0x253d) != '\0')) {\n    *(undefined1 *)(param_1 + 0x5938) = 1;\n  }\n  iVar14 = *(int *)(param_1 + 0x3de8);\n  if (0 < iVar14) {\n    if (*(int *)(param_1 + 0x3e2c) == 0) {\n      *(int *)(param_1 + 0x3e2c) = iVar14;\n    }\n    if (*(int *)(param_1 + 0x3e70) == 0) {\n      *(int *)(param_1 + 0x3e70) = iVar14;\n    }\n    if (*(int *)(param_1 + 0x3eb4) == 0) {\n      *(int *)(param_1 + 0x3eb4) = iVar14;\n    }\n  }\n  local_1d4 = &local_1bc;\n  local_1b4[0] = 0;\n  local_1ec = local_1b4;\n  local_1b8 = 0;\n  local_1bc = local_1ec;\n  if (*(char *)(param_1 + 0x4ca8) == '\0') {\n    if (*(char *)(param_1 + 0x2729) == '\0') {\n      local_1dc = local_12c;\n      local_1d0 = (undefined ***)&local_134;\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);\n      local_1a4 = local_19c;\n                    \n      FUN_0014fca0(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_18c = 1;\n      if (local_1a0 == 0) {\n                    \n        FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      local_1d8 = param_1 + 0x2184;\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_1a4);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_1a4 != local_19c) {\n        FUN_003ae080(local_1a4);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);\n      local_188 = local_180;\n                    \n      FUN_0014fca0(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_170 = 1;\n      if (local_184 == 0) {\n                    \n        FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_188);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_188 != local_180) {\n        FUN_003ae080(local_188);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);\n      local_16c = local_164;\n                    \n      FUN_0014fca0(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_154 = 1;\n      if (local_168 == 0) {\n                    \n        FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_16c);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_16c != local_164) {\n        FUN_003ae080(local_16c);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);\n      local_1e0 = local_148;\n      local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n      local_150 = local_1e0;\n                    \n      FUN_0014fca0(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_138 = 1;\n      if (local_14c == 0) {\n                    \n        FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_150 != local_1e0) {\n        FUN_003ae080(local_150);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      goto LAB_002c0258;\n    }\n  }\n  else {\n    pcVar12 = *(char **)(param_1 + 0x4cac);\n    sVar9 = strlen(pcVar12);\n    ppuVar3 = local_1d4;\n                    \n    FUN_003b6cc0(local_1d4,0,0,pcVar12,sVar9);\n    iVar14 = FUN_003b86a0(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36);\n    if (iVar14 == 0) {\n      uVar6 = local_1b8;\n      if (2 < local_1b8) {\n        uVar6 = 2;\n      }\n                    \n      FUN_003b5ec0(local_1d4,0,uVar6);\n    }\nLAB_002c0258:\n    uVar6 = 0;\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n    if (local_1b8 != 0) {\n      do {\n        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);\n        uVar16 = 0xffffffff;\n        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    \n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    \n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    \n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    \n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }\n        uVar6 = iVar14 + 1;\n      } while( true );\n    }\n  }\n  ppuVar4 = local_1c4;\n  puVar17 = auStack_20c;\n  puVar18 = auStack_20c;\n  if (*(int *)(param_1 + 0x3288) != 0) {\n    local_1e8 = local_a4;\n    local_1d0 = (undefined ***)&local_134;\n    FUN_003f2f70(local_1e8);\n    local_1fc = ppuVar4 + -0xa0e;\n    local_34 = 0;\n    local_2c = 0;\n    local_a4[0] = ppuVar4 + -0xa0c;\n    local_30 = 0;\n    local_28 = 0;\n    local_1f4 = (undefined ***)ppuVar4[-0x9d3];\n    local_1f8 = ppuVar4[-0x9d2];\n    local_24 = 0;\n    local_20 = 0;\n    local_134 = local_1f4;\n    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;\n    local_130 = 0;\n                    \n    FUN_003d8720((int)local_1f4[-3] + (int)&local_134,0);\n    local_200 = ppuVar4 + -0x9d0;\n    local_134 = (undefined ***)(ppuVar4 + -0x9cd);\n    local_a4[0] = ppuVar4 + -0x9c8;\n    local_1dc = local_12c;\n                    \n    FUN_003da940(local_12c);\n                    \n    FUN_003d8720(local_1e8,local_12c);\n                    \n    iVar14 = FUN_003dec20(local_12c,*(undefined4 *)(param_1 + 0x3288),8);\n    puVar15 = (undefined *)((int)local_1d0 + (int)local_134[-3]);\n    if (iVar14 == 0) {\n                    \n      FUN_003d7ed0(puVar15,*(uint *)(puVar15 + 0x14) | 4);\n    }\n    else {\n      FUN_003d7ed0(puVar15,0);\n    }\n    ppuVar4 = local_1c4;\n    if ((local_90 & 5) != 0) {\n      piVar7 = __errno_location();\n      pcVar12 = strerror(*piVar7);\n      uVar11 = *(undefined4 *)(param_1 + 0x3288);\n      uVar13 = gettext(local_1c4 + -0x5645f);\n                    \n                    \n      FUN_0023b7b0(uVar13,uVar11,pcVar12);\n    }\n    local_1e0 = local_148;\n    local_148[0] = 0;\n    local_14c = 0;\n    piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n    local_150 = local_1e0;\n    if (piVar7 == (int *)0x0) {\n                    \n                    \n      FUN_003f3900();\n    }\n    if ((char)piVar7[7] == '\0') {\n                    \n      FUN_003f3f90(piVar7);\n      iVar14 = 10;\n      if (*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4) {\n        cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);\n        iVar14 = (int)cVar5;\n      }\n    }\n    else {\n      iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n    }\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n                    \n    FUN_003aef80(local_1d0,&local_150,iVar14);\n    local_1d4 = (undefined1 **)(param_1 + 0x5a3c);\n    local_1e4 = local_1c0;\n    while ((local_90 & 5) == 0) {\n      if ((local_14c != 0) && (local_150[local_14c + -1] == '\r')) {\n        *(undefined4 *)(puVar17 + -8) = 0;\n        *(int *)(puVar17 + -0xc) = local_14c + -1;\n        *(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2c0187;\n        FUN_003b6a50();\n      }\n      *(undefined4 *)(puVar17 + -8) = 0xc70f6907;\n      *(int *)(puVar17 + -0xc) = local_14c;\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc8a;\n      uVar6 = FUN_003ac580();\n      local_1d8 = uVar6 % *(uint *)(param_1 + 0x5a40);\n      *(uint *)(puVar17 + -0x14) = uVar6;\n      *(undefined4 *)(puVar17 + -0x18) = local_1cc._0_4_;\n      *(uint *)(puVar17 + -0x1c) = local_1d8;\n      *(undefined1 ***)(puVar17 + -0x20) = local_1d4;\n      *(undefined4 *)(puVar17 + -0x24) = 0x2bfcb0;\n      piVar7 = (int *)FUN_0022ed10();\n      if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n        *(undefined4 *)(puVar17 + -0x10) = 0x20;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;\n        puVar8 = (undefined4 *)FUN_003ac4d0();\n        *puVar8 = 0;\n        puVar8[1] = puVar8 + 3;\n        *(undefined4 *)(puVar17 + -4) = 0;\n        *(undefined1 **)(puVar17 + -8) = local_150 + local_14c;\n        *(undefined1 **)(puVar17 + -0xc) = local_150;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;\n        FUN_0014fca0();\n        *(undefined4 *)(puVar17 + -0xc) = 1;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8;\n        *(uint *)(puVar17 + -0x14) = uVar6;\n        *(uint *)(puVar17 + -0x18) = local_1d8;\n        *(undefined1 ***)(puVar17 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar17 + -0x20) = local_1e4;\n                    \n        *(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;\n        FUN_002c4660();\n        puVar17 = puVar17 + -4;\n      }\n      ppuVar4 = local_1c4;\n      piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n      if (piVar7 == (int *)0x0) {\n                    \n                    \n        *(undefined4 *)(puVar17 + -4) = 0x2c0bff;\n        FUN_003f3900();\n      }\n      if ((char)piVar7[7] == '\0') {\n        *(int **)(puVar17 + -0x10) = piVar7;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;\n        FUN_003f3f90();\n        ppuVar2 = *(undefined ***)(*piVar7 + 0x18);\n        iVar14 = 10;\n        if (ppuVar2 != ppuVar4 + -0xdabd4) {\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }\n      }\n      else {\n        iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n      }\n      *(int *)(puVar17 + -8) = iVar14;\n      *(undefined4 *)(puVar17 + -0xc) = local_1cc._0_4_;\n      *(undefined ****)(puVar17 + -0x10) = local_1d0;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc47;\n      FUN_003aef80();\n    }\n    if (local_150 != local_1e0) {\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfe3f;\n      FUN_003ae080();\n    }\n    ppuVar4 = local_1c4;\n    *(undefined ****)(puVar17 + -0x10) = local_1dc;\n    local_134 = (undefined ***)(local_200 + 3);\n    local_a4[0] = local_200 + 8;\n    local_12c[0] = local_1c4 + -0x9ec;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe7f;\n    FUN_003de160();\n    *(undefined1 **)(puVar17 + -0x10) = local_f4;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe8d;\n    FUN_003ae8c0();\n    local_12c[0] = ppuVar4 + -0xbd1;\n    *(undefined1 **)(puVar17 + -0x10) = local_110;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeaa;\n    FUN_003b07e0();\n    local_134 = local_1f4;\n    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;\n    local_130 = 0;\n    local_a4[0] = local_1fc + 2;\n    *(undefined ****)(puVar17 + -0x10) = local_1e8;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeeb;\n    FUN_003f3310();\n    puVar18 = puVar17;\n  }\n  if ((*(char *)(param_1 + 0x72d) != '\0') && (*(char *)(param_1 + 0x42e0) == '\0')) {\n    *(int *)(param_1 + 0x42e4) = (int)local_1c4 + -0x1a1f9b;\n  }\n  if ((*(char *)(param_1 + 0x1a25) != '\0') && (*(char *)(param_1 + 0x1fc) == '\0')) {\n    *(undefined1 *)(param_1 + 0x1fd) = 1;\n  }\n  *(int *)(puVar18 + -0x10) = param_1;\n                    \n  *(undefined4 *)(puVar18 + -0x14) = 0x2bff3f;\n  FUN_002b6130();\n  if (*(char *)(param_1 + 0x1a25) == '\0') {\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      if (*(char *)(param_1 + 0x5938) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n        *(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;\n        FUN_0023b7b0();\n      }\n      if (*(char *)(param_1 + 0x318d) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;\n        FUN_0023b7b0();\n      }\n    }\n    if (*(int *)(param_1 + 0x1478) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5642f;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0cdc;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ce4;\n      FUN_0023b7b0();\n    }\n    if (*(int *)(param_1 + 0x1428) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56424;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d10;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d18;\n      FUN_0023b7b0();\n    }\n    if ((*(char *)(param_1 + 0x318d) != '\0') && (*(int *)(param_1 + 0x3288) != 0)) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56418;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0163;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined **)(puVar18 + -0x14) = &UNK_002c016b;\n      FUN_0023b7b0();\n    }\n  }\n  else {\n    if (*(char *)(param_1 + 0x5938) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e32;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c87;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x318d) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6;\n      FUN_0023b7b0();\n    }\n  }\n  *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(param_1 + 0x27ec);\n  *(undefined4 *)(puVar18 + -0x14) = 0x2bff90;\n  iVar14 = FUN_002b5ab0();\n  if ((iVar14 != 0) &&\n     (((*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')) ||\n      (*(char *)(param_1 + 0x318d) != '\0')))) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5640c;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c60;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c68;\n    FUN_0023b7b0();\n  }\n  if ((*(char *)(param_1 + 0x1ae4) != '\0') &&\n     ((dVar1 = *(double *)(param_1 + 0x1ae8), dVar1 < 0.0 || (1.0 <= dVar1)))) {\n    local_1cc = dVar1;\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563fc;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c1c;\n    uVar11 = gettext();\n    dVar1 = local_1cc;\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(double *)(puVar18 + -0xc) = dVar1;\n                    \n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c2e;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x5a1c) == '\0') {\n    if (*(int *)(param_1 + 0x5a10) == 0) goto LAB_002c00a3;\n  }\n  else if (*(int *)(param_1 + 0x5a10) == 0) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563ec;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0db6;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dbe;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x318d) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563d0;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dd5;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0ddd;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x3095) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563c4;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0df4;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dfc;\n    FUN_0023b7b0();\n  }\n  if (*(int *)(param_1 + 0x593c) != 0) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563b5;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e13;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e1b;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x56b9) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563a8;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d78;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d80;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x2931) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5639b;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d97;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d9f;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x18b1) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5638f;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a6f;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a77;\n    FUN_0023b840();\n    *(undefined1 *)(param_1 + 0x18b1) = 0;\n  }\n  bVar22 = *(int *)(param_1 + 0x5934) == 0;\n  bVar24 = !bVar22;\n  if (bVar24) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56383;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a37;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a3f;\n    FUN_0023b840();\n    *(undefined4 *)(param_1 + 0x5934) = 0;\n  }\n  bVar24 = bVar24 && (undefined1 *)0xffffffef < puVar18 + -0x10;\n  bVar22 = bVar22 || puVar18 == (undefined1 *)0x0;\n  iVar14 = 5;\n  pbVar19 = *(byte **)(param_1 + 0x99c);\n  pbVar20 = local_1f0;\n  do {\n    if (iVar14 == 0) break;\n    iVar14 = iVar14 + -1;\n    bVar24 = *pbVar19 < *pbVar20;\n    bVar22 = *pbVar19 == *pbVar20;\n    pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n  } while (bVar22);\n  if ((!bVar24 && !bVar22) != bVar24) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56379;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c09ff;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a07;\n    FUN_0023b840();\n    *(byte **)(param_1 + 0x99c) = local_1f0;\n  }\nLAB_002c00a3:\n  if (*(char *)(param_1 + 0x3344) != '\0') {\n    *(undefined1 *)(param_1 + 0x32c9) = 1;\n  }\n  if (local_1bc != local_1ec) {\n    *(undefined1 **)(puVar18 + -0x10) = local_1bc;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c00d3;\n    FUN_003ae080();\n  }\n  return;\n}" { (declaration "double dVar1;" primitive_type identifier ;) (declaration "undefined **ppuVar2;" type_identifier (pointer_declarator "**ppuVar2" * (pointer_declarator "*ppuVar2" * identifier)) ;) (declaration "undefined1 **ppuVar3;" type_identifier (pointer_declarator "**ppuVar3" * (pointer_declarator "*ppuVar3" * identifier)) ;) (declaration "undefined **ppuVar4;" type_identifier (pointer_declarator "**ppuVar4" * (pointer_declarator "*ppuVar4" * identifier)) ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "size_t sVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "undefined1 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "undefined1 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "byte *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "byte *pbVar21;" type_identifier (pointer_declarator "*pbVar21" * identifier) ;) (declaration "bool bVar22;" primitive_type identifier ;) (declaration "bool bVar23;" primitive_type identifier ;) (declaration "bool bVar24;" primitive_type identifier ;) (declaration "byte bVar25;" type_identifier identifier ;) (declaration "undefined4 uStackY_230;" type_identifier identifier ;) (declaration "undefined1 auStack_20c [12];" type_identifier (array_declarator "auStack_20c [12]" identifier [ number_literal ]) ;) (declaration "undefined **local_200;" type_identifier (pointer_declarator "**local_200" * (pointer_declarator "*local_200" * identifier)) ;) (declaration "undefined **local_1fc;" type_identifier (pointer_declarator "**local_1fc" * (pointer_declarator "*local_1fc" * identifier)) ;) (declaration "undefined *local_1f8;" type_identifier (pointer_declarator "*local_1f8" * identifier) ;) (declaration "undefined ***local_1f4;" type_identifier (pointer_declarator "***local_1f4" * (pointer_declarator "**local_1f4" * (pointer_declarator "*local_1f4" * identifier))) ;) (declaration "byte *local_1f0;" type_identifier (pointer_declarator "*local_1f0" * identifier) ;) (declaration "undefined1 *local_1ec;" type_identifier (pointer_declarator "*local_1ec" * identifier) ;) (declaration "undefined ***local_1e8;" type_identifier (pointer_declarator "***local_1e8" * (pointer_declarator "**local_1e8" * (pointer_declarator "*local_1e8" * identifier))) ;) (declaration "undefined1 *local_1e4;" type_identifier (pointer_declarator "*local_1e4" * identifier) ;) (declaration "undefined1 *local_1e0;" type_identifier (pointer_declarator "*local_1e0" * identifier) ;) (declaration "undefined ***local_1dc;" type_identifier (pointer_declarator "***local_1dc" * (pointer_declarator "**local_1dc" * (pointer_declarator "*local_1dc" * identifier))) ;) (declaration "uint local_1d8;" type_identifier identifier ;) (declaration "undefined1 **local_1d4;" type_identifier (pointer_declarator "**local_1d4" * (pointer_declarator "*local_1d4" * identifier)) ;) (declaration "undefined ***local_1d0;" type_identifier (pointer_declarator "***local_1d0" * (pointer_declarator "**local_1d0" * (pointer_declarator "*local_1d0" * identifier))) ;) (declaration "double local_1cc;" primitive_type identifier ;) (declaration "undefined **local_1c4;" type_identifier (pointer_declarator "**local_1c4" * (pointer_declarator "*local_1c4" * identifier)) ;) (declaration "undefined1 local_1c0 [4];" type_identifier (array_declarator "local_1c0 [4]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_1bc;" type_identifier (pointer_declarator "*local_1bc" * identifier) ;) (declaration "uint local_1b8;" type_identifier identifier ;) (declaration "undefined1 local_1b4 [16];" type_identifier (array_declarator "local_1b4 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_1a4;" type_identifier (pointer_declarator "*local_1a4" * identifier) ;) (declaration "int local_1a0;" primitive_type identifier ;) (declaration "undefined1 local_19c [16];" type_identifier (array_declarator "local_19c [16]" identifier [ number_literal ]) ;) (declaration "undefined2 local_18c;" type_identifier identifier ;) (declaration "undefined1 *local_188;" type_identifier (pointer_declarator "*local_188" * identifier) ;) (declaration "int local_184;" primitive_type identifier ;) (declaration "undefined1 local_180 [16];" type_identifier (array_declarator "local_180 [16]" identifier [ number_literal ]) ;) (declaration "undefined2 local_170;" type_identifier identifier ;) (declaration "undefined1 *local_16c;" type_identifier (pointer_declarator "*local_16c" * identifier) ;) (declaration "int local_168;" primitive_type identifier ;) (declaration "undefined1 local_164 [16];" type_identifier (array_declarator "local_164 [16]" identifier [ number_literal ]) ;) (declaration "undefined2 local_154;" type_identifier identifier ;) (declaration "undefined1 *local_150;" type_identifier (pointer_declarator "*local_150" * identifier) ;) (declaration "int local_14c;" primitive_type identifier ;) (declaration "undefined1 local_148 [16];" type_identifier (array_declarator "local_148 [16]" identifier [ number_literal ]) ;) (declaration "undefined2 local_138;" type_identifier identifier ;) (declaration "undefined ***local_134;" type_identifier (pointer_declarator "***local_134" * (pointer_declarator "**local_134" * (pointer_declarator "*local_134" * identifier))) ;) (declaration "int local_130;" primitive_type identifier ;) (declaration "undefined **local_12c [4];" type_identifier (pointer_declarator "**local_12c [4]" * (pointer_declarator "*local_12c [4]" * (array_declarator "local_12c [4]" identifier [ number_literal ]))) ;) (declaration "undefined2 local_11c;" type_identifier identifier ;) (declaration "undefined1 local_110 [28];" type_identifier (array_declarator "local_110 [28]" identifier [ number_literal ]) ;) (declaration "undefined1 local_f4 [60];" type_identifier (array_declarator "local_f4 [60]" identifier [ number_literal ]) ;) (declaration "int aiStack_b8 [5];" primitive_type (array_declarator "aiStack_b8 [5]" identifier [ number_literal ]) ;) (declaration "undefined **local_a4 [5];" type_identifier (pointer_declarator "**local_a4 [5]" * (pointer_declarator "*local_a4 [5]" * (array_declarator "local_a4 [5]" identifier [ number_literal ]))) ;) (declaration "byte local_90;" type_identifier identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined2 local_30;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (expression_statement "bVar25 = 0;" (assignment_expression "bVar25 = 0" identifier = number_literal) ;) (expression_statement "local_1c4 = &__DT_PLTGOT;" (assignment_expression "local_1c4 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (if_statement "if (*(char *)(param_1 + 0x3469) == '\0') {\n    if (*(char *)(param_1 + 0x34e5) != '\0') goto LAB_002bfd3a;\n    if (*(char *)(param_1 + 0x3561) != '\0') {\n      bVar24 = false;\n      goto LAB_002bfd49;\n    }\n    bVar24 = false;\n    if (*(char *)(param_1 + 0x7a9) != '\0') goto LAB_002bfd5c;\n  }\n  else {\n    *(undefined1 *)(param_1 + 0x34e5) = 1;\nLAB_002bfd3a:\n    bVar24 = true;\n    *(undefined1 *)(param_1 + 0x3561) = 1;\nLAB_002bfd49:\n    *(undefined1 *)(param_1 + 0x35dd) = 1;\n    if (*(char *)(param_1 + 0x7a9) != '\0') {\nLAB_002bfd5c:\n      *(undefined1 *)(param_1 + 0x1a25) = 1;\n    }\n    if (((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')) &&\n       (*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24)) {\n      local_1c4 = &__DT_PLTGOT;\n                    \n      FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1);\n    }\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0x3469) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x3469) == '\0'" (pointer_expression "*(char *)(param_1 + 0x3469)" * (cast_expression "(char *)(param_1 + 0x3469)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3469)" ( (binary_expression "param_1 + 0x3469" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (*(char *)(param_1 + 0x34e5) != '\0') goto LAB_002bfd3a;\n    if (*(char *)(param_1 + 0x3561) != '\0') {\n      bVar24 = false;\n      goto LAB_002bfd49;\n    }\n    bVar24 = false;\n    if (*(char *)(param_1 + 0x7a9) != '\0') goto LAB_002bfd5c;\n  }" { (if_statement "if (*(char *)(param_1 + 0x34e5) != '\0') goto LAB_002bfd3a;" if (parenthesized_expression "(*(char *)(param_1 + 0x34e5) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x34e5) != '\0'" (pointer_expression "*(char *)(param_1 + 0x34e5)" * (cast_expression "(char *)(param_1 + 0x34e5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34e5)" ( (binary_expression "param_1 + 0x34e5" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002bfd3a;" goto statement_identifier ;)) (if_statement "if (*(char *)(param_1 + 0x3561) != '\0') {\n      bVar24 = false;\n      goto LAB_002bfd49;\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x3561) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x3561) != '\0'" (pointer_expression "*(char *)(param_1 + 0x3561)" * (cast_expression "(char *)(param_1 + 0x3561)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3561)" ( (binary_expression "param_1 + 0x3561" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      bVar24 = false;\n      goto LAB_002bfd49;\n    }" { (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (goto_statement "goto LAB_002bfd49;" goto statement_identifier ;) })) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (if_statement "if (*(char *)(param_1 + 0x7a9) != '\0') goto LAB_002bfd5c;" if (parenthesized_expression "(*(char *)(param_1 + 0x7a9) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x7a9) != '\0'" (pointer_expression "*(char *)(param_1 + 0x7a9)" * (cast_expression "(char *)(param_1 + 0x7a9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x7a9)" ( (binary_expression "param_1 + 0x7a9" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002bfd5c;" goto statement_identifier ;)) }) (else_clause "else {\n    *(undefined1 *)(param_1 + 0x34e5) = 1;\nLAB_002bfd3a:\n    bVar24 = true;\n    *(undefined1 *)(param_1 + 0x3561) = 1;\nLAB_002bfd49:\n    *(undefined1 *)(param_1 + 0x35dd) = 1;\n    if (*(char *)(param_1 + 0x7a9) != '\0') {\nLAB_002bfd5c:\n      *(undefined1 *)(param_1 + 0x1a25) = 1;\n    }\n    if (((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')) &&\n       (*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24)) {\n      local_1c4 = &__DT_PLTGOT;\n                    \n      FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1);\n    }\n  }" else (compound_statement "{\n    *(undefined1 *)(param_1 + 0x34e5) = 1;\nLAB_002bfd3a:\n    bVar24 = true;\n    *(undefined1 *)(param_1 + 0x3561) = 1;\nLAB_002bfd49:\n    *(undefined1 *)(param_1 + 0x35dd) = 1;\n    if (*(char *)(param_1 + 0x7a9) != '\0') {\nLAB_002bfd5c:\n      *(undefined1 *)(param_1 + 0x1a25) = 1;\n    }\n    if (((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')) &&\n       (*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24)) {\n      local_1c4 = &__DT_PLTGOT;\n                    \n      FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1);\n    }\n  }" { (expression_statement "*(undefined1 *)(param_1 + 0x34e5) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x34e5) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x34e5)" * (cast_expression "(undefined1 *)(param_1 + 0x34e5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34e5)" ( (binary_expression "param_1 + 0x34e5" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_002bfd3a:\n    bVar24 = true;" statement_identifier : (expression_statement "bVar24 = true;" (assignment_expression "bVar24 = true" identifier = true) ;)) (expression_statement "*(undefined1 *)(param_1 + 0x3561) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x3561) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x3561)" * (cast_expression "(undefined1 *)(param_1 + 0x3561)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3561)" ( (binary_expression "param_1 + 0x3561" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_002bfd49:\n    *(undefined1 *)(param_1 + 0x35dd) = 1;" statement_identifier : (expression_statement "*(undefined1 *)(param_1 + 0x35dd) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x35dd) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x35dd)" * (cast_expression "(undefined1 *)(param_1 + 0x35dd)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x35dd)" ( (binary_expression "param_1 + 0x35dd" identifier + number_literal) )))) = number_literal) ;)) (if_statement "if (*(char *)(param_1 + 0x7a9) != '\0') {\nLAB_002bfd5c:\n      *(undefined1 *)(param_1 + 0x1a25) = 1;\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x7a9) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x7a9) != '\0'" (pointer_expression "*(char *)(param_1 + 0x7a9)" * (cast_expression "(char *)(param_1 + 0x7a9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x7a9)" ( (binary_expression "param_1 + 0x7a9" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_002bfd5c:\n      *(undefined1 *)(param_1 + 0x1a25) = 1;\n    }" { (labeled_statement "LAB_002bfd5c:\n      *(undefined1 *)(param_1 + 0x1a25) = 1;" statement_identifier : (expression_statement "*(undefined1 *)(param_1 + 0x1a25) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x1a25) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x1a25)" * (cast_expression "(undefined1 *)(param_1 + 0x1a25)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1a25)" ( (binary_expression "param_1 + 0x1a25" identifier + number_literal) )))) = number_literal) ;)) })) (if_statement "if (((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')) &&\n       (*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24)) {\n      local_1c4 = &__DT_PLTGOT;\n                    \n      FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1);\n    }" if (parenthesized_expression "(((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')) &&\n       (*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24))" ( (binary_expression "((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')) &&\n       (*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24)" (parenthesized_expression "((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0'))" ( (binary_expression "(*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')" (parenthesized_expression "(*(char *)(param_1 + 0x3469) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x3469) != '\0'" (pointer_expression "*(char *)(param_1 + 0x3469)" * (cast_expression "(char *)(param_1 + 0x3469)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3469)" ( (binary_expression "param_1 + 0x3469" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(param_1 + 0x318d) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x318d) != '\0'" (pointer_expression "*(char *)(param_1 + 0x318d)" * (cast_expression "(char *)(param_1 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x318d)" ( (binary_expression "param_1 + 0x318d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24)" ( (comma_expression "*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24" (assignment_expression "*(undefined1 *)(param_1 + 0x3469) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x3469)" * (cast_expression "(undefined1 *)(param_1 + 0x3469)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3469)" ( (binary_expression "param_1 + 0x3469" identifier + number_literal) )))) = number_literal) , (unary_expression "!bVar24" ! identifier)) ))) )) (compound_statement "{\n      local_1c4 = &__DT_PLTGOT;\n                    \n      FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1);\n    }" { (expression_statement "local_1c4 = &__DT_PLTGOT;" (assignment_expression "local_1c4 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1);" (call_expression "FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1)" identifier (argument_list "("../../gold/options.cc",0x453,"finalize",param_1)" ( (string_literal ""../../gold/options.cc"" " string_content ") , number_literal , (string_literal ""finalize"" " string_content ") , identifier ))) ;) })) }))) (if_statement "if (*(char *)(param_1 + 0xbcd) != '\0') {\n    *(undefined1 *)(param_1 + 0xb51) = 1;\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0xbcd) != '\0')" ( (binary_expression "*(char *)(param_1 + 0xbcd) != '\0'" (pointer_expression "*(char *)(param_1 + 0xbcd)" * (cast_expression "(char *)(param_1 + 0xbcd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xbcd)" ( (binary_expression "param_1 + 0xbcd" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    *(undefined1 *)(param_1 + 0xb51) = 1;\n  }" { (expression_statement "*(undefined1 *)(param_1 + 0xb51) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0xb51) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0xb51)" * (cast_expression "(undefined1 *)(param_1 + 0xb51)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb51)" ( (binary_expression "param_1 + 0xb51" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if (*(char *)(param_1 + 0xc49) != '\0') {\n    *(undefined1 *)(param_1 + 0xb51) = 1;\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0xc49) != '\0')" ( (binary_expression "*(char *)(param_1 + 0xc49) != '\0'" (pointer_expression "*(char *)(param_1 + 0xc49)" * (cast_expression "(char *)(param_1 + 0xc49)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc49)" ( (binary_expression "param_1 + 0xc49" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    *(undefined1 *)(param_1 + 0xb51) = 1;\n  }" { (expression_statement "*(undefined1 *)(param_1 + 0xb51) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0xb51) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0xb51)" * (cast_expression "(undefined1 *)(param_1 + 0xb51)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb51)" ( (binary_expression "param_1 + 0xb51" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if (*(char *)(param_1 + 0xb50) == '\0') {\n    local_1cc = (double)CONCAT71(local_1cc._1_7_,*(byte *)(param_1 + 0x318d));\n    *(byte *)(param_1 + 0xb51) = *(byte *)(param_1 + 0x318d) ^ 1;\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0xb50) == '\0')" ( (binary_expression "*(char *)(param_1 + 0xb50) == '\0'" (pointer_expression "*(char *)(param_1 + 0xb50)" * (cast_expression "(char *)(param_1 + 0xb50)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb50)" ( (binary_expression "param_1 + 0xb50" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_1cc = (double)CONCAT71(local_1cc._1_7_,*(byte *)(param_1 + 0x318d));\n    *(byte *)(param_1 + 0xb51) = *(byte *)(param_1 + 0x318d) ^ 1;\n  }" { (expression_statement "local_1cc = (double)CONCAT71(local_1cc._1_7_,*(byte *)(param_1 + 0x318d));" (assignment_expression "local_1cc = (double)CONCAT71(local_1cc._1_7_,*(byte *)(param_1 + 0x318d))" identifier = (cast_expression "(double)CONCAT71(local_1cc._1_7_,*(byte *)(param_1 + 0x318d))" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT71(local_1cc._1_7_,*(byte *)(param_1 + 0x318d))" identifier (argument_list "(local_1cc._1_7_,*(byte *)(param_1 + 0x318d))" ( (field_expression "local_1cc._1_7_" identifier . field_identifier) , (pointer_expression "*(byte *)(param_1 + 0x318d)" * (cast_expression "(byte *)(param_1 + 0x318d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x318d)" ( (binary_expression "param_1 + 0x318d" identifier + number_literal) )))) ))))) ;) (expression_statement "*(byte *)(param_1 + 0xb51) = *(byte *)(param_1 + 0x318d) ^ 1;" (assignment_expression "*(byte *)(param_1 + 0xb51) = *(byte *)(param_1 + 0x318d) ^ 1" (pointer_expression "*(byte *)(param_1 + 0xb51)" * (cast_expression "(byte *)(param_1 + 0xb51)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb51)" ( (binary_expression "param_1 + 0xb51" identifier + number_literal) )))) = (binary_expression "*(byte *)(param_1 + 0x318d) ^ 1" (pointer_expression "*(byte *)(param_1 + 0x318d)" * (cast_expression "(byte *)(param_1 + 0x318d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x318d)" ( (binary_expression "param_1 + 0x318d" identifier + number_literal) )))) ^ number_literal)) ;) })) (expression_statement "bVar24 = *(char *)(param_1 + 0x4f31) == '\0';" (assignment_expression "bVar24 = *(char *)(param_1 + 0x4f31) == '\0'" identifier = (binary_expression "*(char *)(param_1 + 0x4f31) == '\0'" (pointer_expression "*(char *)(param_1 + 0x4f31)" * (cast_expression "(char *)(param_1 + 0x4f31)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x4f31)" ( (binary_expression "param_1 + 0x4f31" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (bVar24) {\n    bVar24 = *(char *)(param_1 + 0x5545) == '\0';\n    if (!bVar24) {\n      *(undefined4 *)(param_1 + 0x5930) = 2;\n    }\n  }\n  else {\n    *(undefined4 *)(param_1 + 0x5930) = 1;\n  }" if (parenthesized_expression "(bVar24)" ( identifier )) (compound_statement "{\n    bVar24 = *(char *)(param_1 + 0x5545) == '\0';\n    if (!bVar24) {\n      *(undefined4 *)(param_1 + 0x5930) = 2;\n    }\n  }" { (expression_statement "bVar24 = *(char *)(param_1 + 0x5545) == '\0';" (assignment_expression "bVar24 = *(char *)(param_1 + 0x5545) == '\0'" identifier = (binary_expression "*(char *)(param_1 + 0x5545) == '\0'" (pointer_expression "*(char *)(param_1 + 0x5545)" * (cast_expression "(char *)(param_1 + 0x5545)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5545)" ( (binary_expression "param_1 + 0x5545" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (!bVar24) {\n      *(undefined4 *)(param_1 + 0x5930) = 2;\n    }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n      *(undefined4 *)(param_1 + 0x5930) = 2;\n    }" { (expression_statement "*(undefined4 *)(param_1 + 0x5930) = 2;" (assignment_expression "*(undefined4 *)(param_1 + 0x5930) = 2" (pointer_expression "*(undefined4 *)(param_1 + 0x5930)" * (cast_expression "(undefined4 *)(param_1 + 0x5930)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5930)" ( (binary_expression "param_1 + 0x5930" identifier + number_literal) )))) = number_literal) ;) })) }) (else_clause "else {\n    *(undefined4 *)(param_1 + 0x5930) = 1;\n  }" else (compound_statement "{\n    *(undefined4 *)(param_1 + 0x5930) = 1;\n  }" { (expression_statement "*(undefined4 *)(param_1 + 0x5930) = 1;" (assignment_expression "*(undefined4 *)(param_1 + 0x5930) = 1" (pointer_expression "*(undefined4 *)(param_1 + 0x5930)" * (cast_expression "(undefined4 *)(param_1 + 0x5930)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5930)" ( (binary_expression "param_1 + 0x5930" identifier + number_literal) )))) = number_literal) ;) }))) (expression_statement "bVar22 = false;" (assignment_expression "bVar22 = false" identifier = false) ;) (expression_statement "iVar14 = 5;" (assignment_expression "iVar14 = 5" identifier = number_literal) ;) (expression_statement "local_1f0 = (byte *)0x48e342;" (assignment_expression "local_1f0 = (byte *)0x48e342" identifier = (cast_expression "(byte *)0x48e342" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar19 = *(byte **)(param_1 + 0x1bec);" (assignment_expression "pbVar19 = *(byte **)(param_1 + 0x1bec)" identifier = (pointer_expression "*(byte **)(param_1 + 0x1bec)" * (cast_expression "(byte **)(param_1 + 0x1bec)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1bec)" ( (binary_expression "param_1 + 0x1bec" identifier + number_literal) ))))) ;) (expression_statement "pbVar20 = local_1f0;" (assignment_expression "pbVar20 = local_1f0" identifier = identifier) ;) (do_statement "do {\n    pbVar21 = pbVar20;\n    if (iVar14 == 0) break;\n    iVar14 = iVar14 + -1;\n    pbVar21 = pbVar20 + 1;\n    bVar22 = *pbVar19 < *pbVar20;\n    bVar24 = *pbVar19 == *pbVar20;\n    pbVar19 = pbVar19 + 1;\n    pbVar20 = pbVar21;\n  } while (bVar24);" do (compound_statement "{\n    pbVar21 = pbVar20;\n    if (iVar14 == 0) break;\n    iVar14 = iVar14 + -1;\n    pbVar21 = pbVar20 + 1;\n    bVar22 = *pbVar19 < *pbVar20;\n    bVar24 = *pbVar19 == *pbVar20;\n    pbVar19 = pbVar19 + 1;\n    pbVar20 = pbVar21;\n  }" { (expression_statement "pbVar21 = pbVar20;" (assignment_expression "pbVar21 = pbVar20" identifier = identifier) ;) (if_statement "if (iVar14 == 0) break;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (expression_statement "pbVar21 = pbVar20 + 1;" (assignment_expression "pbVar21 = pbVar20 + 1" identifier = (binary_expression "pbVar20 + 1" identifier + number_literal)) ;) (expression_statement "bVar22 = *pbVar19 < *pbVar20;" (assignment_expression "bVar22 = *pbVar19 < *pbVar20" identifier = (binary_expression "*pbVar19 < *pbVar20" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar24 = *pbVar19 == *pbVar20;" (assignment_expression "bVar24 = *pbVar19 == *pbVar20" identifier = (binary_expression "*pbVar19 == *pbVar20" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar19 = pbVar19 + 1;" (assignment_expression "pbVar19 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (expression_statement "pbVar20 = pbVar21;" (assignment_expression "pbVar20 = pbVar21" identifier = identifier) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar22 && !bVar24) == bVar22;" (assignment_expression "bVar24 = (!bVar22 && !bVar24) == bVar22" identifier = (binary_expression "(!bVar22 && !bVar24) == bVar22" (parenthesized_expression "(!bVar22 && !bVar24)" ( (binary_expression "!bVar22 && !bVar24" (unary_expression "!bVar22" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar24) {\n    *(undefined4 *)(param_1 + 0x5934) = 0;\n  }\n  else {\n    iVar14 = 5;\n    pbVar19 = *(byte **)(param_1 + 0x1bec);\n    pbVar20 = (byte *)0x48dc94;\n    do {\n      pbVar21 = pbVar20;\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      pbVar21 = pbVar20 + 1;\n      bVar23 = *pbVar19 < *pbVar20;\n      bVar24 = *pbVar19 == *pbVar20;\n      pbVar19 = pbVar19 + 1;\n      pbVar20 = pbVar21;\n    } while (bVar24);\n    *(uint *)(param_1 + 0x5934) = ((!bVar23 && !bVar24) == bVar23) + 1;\n  }" if (parenthesized_expression "(bVar24)" ( identifier )) (compound_statement "{\n    *(undefined4 *)(param_1 + 0x5934) = 0;\n  }" { (expression_statement "*(undefined4 *)(param_1 + 0x5934) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x5934) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x5934)" * (cast_expression "(undefined4 *)(param_1 + 0x5934)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5934)" ( (binary_expression "param_1 + 0x5934" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n    iVar14 = 5;\n    pbVar19 = *(byte **)(param_1 + 0x1bec);\n    pbVar20 = (byte *)0x48dc94;\n    do {\n      pbVar21 = pbVar20;\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      pbVar21 = pbVar20 + 1;\n      bVar23 = *pbVar19 < *pbVar20;\n      bVar24 = *pbVar19 == *pbVar20;\n      pbVar19 = pbVar19 + 1;\n      pbVar20 = pbVar21;\n    } while (bVar24);\n    *(uint *)(param_1 + 0x5934) = ((!bVar23 && !bVar24) == bVar23) + 1;\n  }" else (compound_statement "{\n    iVar14 = 5;\n    pbVar19 = *(byte **)(param_1 + 0x1bec);\n    pbVar20 = (byte *)0x48dc94;\n    do {\n      pbVar21 = pbVar20;\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      pbVar21 = pbVar20 + 1;\n      bVar23 = *pbVar19 < *pbVar20;\n      bVar24 = *pbVar19 == *pbVar20;\n      pbVar19 = pbVar19 + 1;\n      pbVar20 = pbVar21;\n    } while (bVar24);\n    *(uint *)(param_1 + 0x5934) = ((!bVar23 && !bVar24) == bVar23) + 1;\n  }" { (expression_statement "iVar14 = 5;" (assignment_expression "iVar14 = 5" identifier = number_literal) ;) (expression_statement "pbVar19 = *(byte **)(param_1 + 0x1bec);" (assignment_expression "pbVar19 = *(byte **)(param_1 + 0x1bec)" identifier = (pointer_expression "*(byte **)(param_1 + 0x1bec)" * (cast_expression "(byte **)(param_1 + 0x1bec)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1bec)" ( (binary_expression "param_1 + 0x1bec" identifier + number_literal) ))))) ;) (expression_statement "pbVar20 = (byte *)0x48dc94;" (assignment_expression "pbVar20 = (byte *)0x48dc94" identifier = (cast_expression "(byte *)0x48dc94" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      pbVar21 = pbVar20;\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      pbVar21 = pbVar20 + 1;\n      bVar23 = *pbVar19 < *pbVar20;\n      bVar24 = *pbVar19 == *pbVar20;\n      pbVar19 = pbVar19 + 1;\n      pbVar20 = pbVar21;\n    } while (bVar24);" do (compound_statement "{\n      pbVar21 = pbVar20;\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      pbVar21 = pbVar20 + 1;\n      bVar23 = *pbVar19 < *pbVar20;\n      bVar24 = *pbVar19 == *pbVar20;\n      pbVar19 = pbVar19 + 1;\n      pbVar20 = pbVar21;\n    }" { (expression_statement "pbVar21 = pbVar20;" (assignment_expression "pbVar21 = pbVar20" identifier = identifier) ;) (if_statement "if (iVar14 == 0) break;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (expression_statement "pbVar21 = pbVar20 + 1;" (assignment_expression "pbVar21 = pbVar20 + 1" identifier = (binary_expression "pbVar20 + 1" identifier + number_literal)) ;) (expression_statement "bVar23 = *pbVar19 < *pbVar20;" (assignment_expression "bVar23 = *pbVar19 < *pbVar20" identifier = (binary_expression "*pbVar19 < *pbVar20" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar24 = *pbVar19 == *pbVar20;" (assignment_expression "bVar24 = *pbVar19 == *pbVar20" identifier = (binary_expression "*pbVar19 == *pbVar20" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar19 = pbVar19 + 1;" (assignment_expression "pbVar19 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (expression_statement "pbVar20 = pbVar21;" (assignment_expression "pbVar20 = pbVar21" identifier = identifier) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "*(uint *)(param_1 + 0x5934) = ((!bVar23 && !bVar24) == bVar23) + 1;" (assignment_expression "*(uint *)(param_1 + 0x5934) = ((!bVar23 && !bVar24) == bVar23) + 1" (pointer_expression "*(uint *)(param_1 + 0x5934)" * (cast_expression "(uint *)(param_1 + 0x5934)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5934)" ( (binary_expression "param_1 + 0x5934" identifier + number_literal) )))) = (binary_expression "((!bVar23 && !bVar24) == bVar23) + 1" (parenthesized_expression "((!bVar23 && !bVar24) == bVar23)" ( (binary_expression "(!bVar23 && !bVar24) == bVar23" (parenthesized_expression "(!bVar23 && !bVar24)" ( (binary_expression "!bVar23 && !bVar24" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier) )) + number_literal)) ;) }))) (if_statement "if (*(char *)(param_1 + 0xd4c) == '\0') {\n    if (*(char *)(param_1 + 0xd90) == '\0') {\n      local_1c4 = &__DT_PLTGOT;\n      pcVar12 = getenv("COLLECT_NO_DEMANGLE");\n      *(bool *)(param_1 + 0x5939) = pcVar12 == (char *)0x0;\n    }\n    else {\n      *(undefined1 *)(param_1 + 0x5939) = 0;\n    }\n  }\n  else {\n    pcVar12 = *(char **)(param_1 + 0xd50);\n    *(undefined1 *)(param_1 + 0x5939) = 1;\n    local_1c4 = &__DT_PLTGOT;\n    if (*pcVar12 != '\0') {\n      iVar14 = FUN_00395b70(pcVar12);\n      if (iVar14 == 0) {\n                    \n        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);\n      }\n      FUN_00395b20(iVar14);\n    }\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0xd4c) == '\0')" ( (binary_expression "*(char *)(param_1 + 0xd4c) == '\0'" (pointer_expression "*(char *)(param_1 + 0xd4c)" * (cast_expression "(char *)(param_1 + 0xd4c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xd4c)" ( (binary_expression "param_1 + 0xd4c" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (*(char *)(param_1 + 0xd90) == '\0') {\n      local_1c4 = &__DT_PLTGOT;\n      pcVar12 = getenv("COLLECT_NO_DEMANGLE");\n      *(bool *)(param_1 + 0x5939) = pcVar12 == (char *)0x0;\n    }\n    else {\n      *(undefined1 *)(param_1 + 0x5939) = 0;\n    }\n  }" { (if_statement "if (*(char *)(param_1 + 0xd90) == '\0') {\n      local_1c4 = &__DT_PLTGOT;\n      pcVar12 = getenv("COLLECT_NO_DEMANGLE");\n      *(bool *)(param_1 + 0x5939) = pcVar12 == (char *)0x0;\n    }\n    else {\n      *(undefined1 *)(param_1 + 0x5939) = 0;\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0xd90) == '\0')" ( (binary_expression "*(char *)(param_1 + 0xd90) == '\0'" (pointer_expression "*(char *)(param_1 + 0xd90)" * (cast_expression "(char *)(param_1 + 0xd90)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xd90)" ( (binary_expression "param_1 + 0xd90" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      local_1c4 = &__DT_PLTGOT;\n      pcVar12 = getenv("COLLECT_NO_DEMANGLE");\n      *(bool *)(param_1 + 0x5939) = pcVar12 == (char *)0x0;\n    }" { (expression_statement "local_1c4 = &__DT_PLTGOT;" (assignment_expression "local_1c4 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "pcVar12 = getenv("COLLECT_NO_DEMANGLE");" (assignment_expression "pcVar12 = getenv("COLLECT_NO_DEMANGLE")" identifier = (call_expression "getenv("COLLECT_NO_DEMANGLE")" identifier (argument_list "("COLLECT_NO_DEMANGLE")" ( (string_literal ""COLLECT_NO_DEMANGLE"" " string_content ") )))) ;) (expression_statement "*(bool *)(param_1 + 0x5939) = pcVar12 == (char *)0x0;" (assignment_expression "*(bool *)(param_1 + 0x5939) = pcVar12 == (char *)0x0" (pointer_expression "*(bool *)(param_1 + 0x5939)" * (cast_expression "(bool *)(param_1 + 0x5939)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5939)" ( (binary_expression "param_1 + 0x5939" identifier + number_literal) )))) = (binary_expression "pcVar12 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ;) }) (else_clause "else {\n      *(undefined1 *)(param_1 + 0x5939) = 0;\n    }" else (compound_statement "{\n      *(undefined1 *)(param_1 + 0x5939) = 0;\n    }" { (expression_statement "*(undefined1 *)(param_1 + 0x5939) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x5939) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x5939)" * (cast_expression "(undefined1 *)(param_1 + 0x5939)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5939)" ( (binary_expression "param_1 + 0x5939" identifier + number_literal) )))) = number_literal) ;) }))) }) (else_clause "else {\n    pcVar12 = *(char **)(param_1 + 0xd50);\n    *(undefined1 *)(param_1 + 0x5939) = 1;\n    local_1c4 = &__DT_PLTGOT;\n    if (*pcVar12 != '\0') {\n      iVar14 = FUN_00395b70(pcVar12);\n      if (iVar14 == 0) {\n                    \n        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);\n      }\n      FUN_00395b20(iVar14);\n    }\n  }" else (compound_statement "{\n    pcVar12 = *(char **)(param_1 + 0xd50);\n    *(undefined1 *)(param_1 + 0x5939) = 1;\n    local_1c4 = &__DT_PLTGOT;\n    if (*pcVar12 != '\0') {\n      iVar14 = FUN_00395b70(pcVar12);\n      if (iVar14 == 0) {\n                    \n        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);\n      }\n      FUN_00395b20(iVar14);\n    }\n  }" { (expression_statement "pcVar12 = *(char **)(param_1 + 0xd50);" (assignment_expression "pcVar12 = *(char **)(param_1 + 0xd50)" identifier = (pointer_expression "*(char **)(param_1 + 0xd50)" * (cast_expression "(char **)(param_1 + 0xd50)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xd50)" ( (binary_expression "param_1 + 0xd50" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(param_1 + 0x5939) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x5939) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x5939)" * (cast_expression "(undefined1 *)(param_1 + 0x5939)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5939)" ( (binary_expression "param_1 + 0x5939" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_1c4 = &__DT_PLTGOT;" (assignment_expression "local_1c4 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (if_statement "if (*pcVar12 != '\0') {\n      iVar14 = FUN_00395b70(pcVar12);\n      if (iVar14 == 0) {\n                    \n        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);\n      }\n      FUN_00395b20(iVar14);\n    }" if (parenthesized_expression "(*pcVar12 != '\0')" ( (binary_expression "*pcVar12 != '\0'" (pointer_expression "*pcVar12" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      iVar14 = FUN_00395b70(pcVar12);\n      if (iVar14 == 0) {\n                    \n        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);\n      }\n      FUN_00395b20(iVar14);\n    }" { (expression_statement "iVar14 = FUN_00395b70(pcVar12);" (assignment_expression "iVar14 = FUN_00395b70(pcVar12)" identifier = (call_expression "FUN_00395b70(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier )))) ;) (if_statement "if (iVar14 == 0) {\n                    \n        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);\n      }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);\n      }" { (expression_statement "FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);" (call_expression "FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21)" identifier (argument_list "(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21)" ( (binary_expression "local_1c4 + -0x56e9a" identifier + number_literal) , identifier , identifier , identifier ))) ;) })) (expression_statement "FUN_00395b20(iVar14);" (call_expression "FUN_00395b20(iVar14)" identifier (argument_list "(iVar14)" ( identifier ))) ;) })) }))) (expression_statement "ppuVar4 = local_1c4;" (assignment_expression "ppuVar4 = local_1c4" identifier = identifier) ;) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (expression_statement "bVar22 = *(char *)(param_1 + 0x2870) == '\0';" (assignment_expression "bVar22 = *(char *)(param_1 + 0x2870) == '\0'" identifier = (binary_expression "*(char *)(param_1 + 0x2870) == '\0'" (pointer_expression "*(char *)(param_1 + 0x2870)" * (cast_expression "(char *)(param_1 + 0x2870)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2870)" ( (binary_expression "param_1 + 0x2870" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (!bVar22) {\n    pbVar19 = *(byte **)(param_1 + 0x2874);\n    iVar14 = 6;\n    pbVar20 = pbVar19;\n    pbVar21 = (byte *)((int)local_1c4 + -0x1477fe);\n    do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      bVar24 = *pbVar20 < *pbVar21;\n      bVar22 = *pbVar20 == *pbVar21;\n      pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n      pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar24 = (!bVar24 && !bVar22) == bVar24;\n    if (bVar24) {\n      *(undefined4 *)(param_1 + 0x5a88) = 0;\n    }\n    else {\n      iVar14 = 8;\n      pbVar20 = pbVar19;\n      pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar23 = *pbVar20 < *pbVar21;\n        bVar24 = *pbVar20 == *pbVar21;\n        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      bVar22 = false;\n      bVar24 = (!bVar23 && !bVar24) == bVar23;\n      if (bVar24) {\n        *(undefined4 *)(param_1 + 0x5a88) = 1;\n      }\n      else {\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }\n    }\n  }" if (parenthesized_expression "(!bVar22)" ( (unary_expression "!bVar22" ! identifier) )) (compound_statement "{\n    pbVar19 = *(byte **)(param_1 + 0x2874);\n    iVar14 = 6;\n    pbVar20 = pbVar19;\n    pbVar21 = (byte *)((int)local_1c4 + -0x1477fe);\n    do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      bVar24 = *pbVar20 < *pbVar21;\n      bVar22 = *pbVar20 == *pbVar21;\n      pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n      pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar24 = (!bVar24 && !bVar22) == bVar24;\n    if (bVar24) {\n      *(undefined4 *)(param_1 + 0x5a88) = 0;\n    }\n    else {\n      iVar14 = 8;\n      pbVar20 = pbVar19;\n      pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar23 = *pbVar20 < *pbVar21;\n        bVar24 = *pbVar20 == *pbVar21;\n        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      bVar22 = false;\n      bVar24 = (!bVar23 && !bVar24) == bVar23;\n      if (bVar24) {\n        *(undefined4 *)(param_1 + 0x5a88) = 1;\n      }\n      else {\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }\n    }\n  }" { (expression_statement "pbVar19 = *(byte **)(param_1 + 0x2874);" (assignment_expression "pbVar19 = *(byte **)(param_1 + 0x2874)" identifier = (pointer_expression "*(byte **)(param_1 + 0x2874)" * (cast_expression "(byte **)(param_1 + 0x2874)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x2874)" ( (binary_expression "param_1 + 0x2874" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = 6;" (assignment_expression "iVar14 = 6" identifier = number_literal) ;) (expression_statement "pbVar20 = pbVar19;" (assignment_expression "pbVar20 = pbVar19" identifier = identifier) ;) (expression_statement "pbVar21 = (byte *)((int)local_1c4 + -0x1477fe);" (assignment_expression "pbVar21 = (byte *)((int)local_1c4 + -0x1477fe)" identifier = (cast_expression "(byte *)((int)local_1c4 + -0x1477fe)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_1c4 + -0x1477fe)" ( (binary_expression "(int)local_1c4 + -0x1477fe" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      bVar24 = *pbVar20 < *pbVar21;\n      bVar22 = *pbVar20 == *pbVar21;\n      pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n      pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n    } while (bVar22);" do (compound_statement "{\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      bVar24 = *pbVar20 < *pbVar21;\n      bVar22 = *pbVar20 == *pbVar21;\n      pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n      pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n    }" { (if_statement "if (iVar14 == 0) break;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (expression_statement "bVar24 = *pbVar20 < *pbVar21;" (assignment_expression "bVar24 = *pbVar20 < *pbVar21" identifier = (binary_expression "*pbVar20 < *pbVar21" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "bVar22 = *pbVar20 == *pbVar21;" (assignment_expression "bVar22 = *pbVar20 == *pbVar21" identifier = (binary_expression "*pbVar20 == *pbVar21" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar22)" ( identifier )) ;) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar24 && !bVar22) == bVar24;" (assignment_expression "bVar24 = (!bVar24 && !bVar22) == bVar24" identifier = (binary_expression "(!bVar24 && !bVar22) == bVar24" (parenthesized_expression "(!bVar24 && !bVar22)" ( (binary_expression "!bVar24 && !bVar22" (unary_expression "!bVar24" ! identifier) && (unary_expression "!bVar22" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar24) {\n      *(undefined4 *)(param_1 + 0x5a88) = 0;\n    }\n    else {\n      iVar14 = 8;\n      pbVar20 = pbVar19;\n      pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar23 = *pbVar20 < *pbVar21;\n        bVar24 = *pbVar20 == *pbVar21;\n        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      bVar22 = false;\n      bVar24 = (!bVar23 && !bVar24) == bVar23;\n      if (bVar24) {\n        *(undefined4 *)(param_1 + 0x5a88) = 1;\n      }\n      else {\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }\n    }" if (parenthesized_expression "(bVar24)" ( identifier )) (compound_statement "{\n      *(undefined4 *)(param_1 + 0x5a88) = 0;\n    }" { (expression_statement "*(undefined4 *)(param_1 + 0x5a88) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x5a88) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x5a88)" * (cast_expression "(undefined4 *)(param_1 + 0x5a88)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5a88)" ( (binary_expression "param_1 + 0x5a88" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      iVar14 = 8;\n      pbVar20 = pbVar19;\n      pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar23 = *pbVar20 < *pbVar21;\n        bVar24 = *pbVar20 == *pbVar21;\n        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      bVar22 = false;\n      bVar24 = (!bVar23 && !bVar24) == bVar23;\n      if (bVar24) {\n        *(undefined4 *)(param_1 + 0x5a88) = 1;\n      }\n      else {\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }\n    }" else (compound_statement "{\n      iVar14 = 8;\n      pbVar20 = pbVar19;\n      pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar23 = *pbVar20 < *pbVar21;\n        bVar24 = *pbVar20 == *pbVar21;\n        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      bVar22 = false;\n      bVar24 = (!bVar23 && !bVar24) == bVar23;\n      if (bVar24) {\n        *(undefined4 *)(param_1 + 0x5a88) = 1;\n      }\n      else {\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }\n    }" { (expression_statement "iVar14 = 8;" (assignment_expression "iVar14 = 8" identifier = number_literal) ;) (expression_statement "pbVar20 = pbVar19;" (assignment_expression "pbVar20 = pbVar19" identifier = identifier) ;) (expression_statement "pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3);" (assignment_expression "pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3)" identifier = (cast_expression "(byte *)((int)local_1c4 + -0x1a1fb3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_1c4 + -0x1a1fb3)" ( (binary_expression "(int)local_1c4 + -0x1a1fb3" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar23 = *pbVar20 < *pbVar21;\n        bVar24 = *pbVar20 == *pbVar21;\n        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);" do (compound_statement "{\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar23 = *pbVar20 < *pbVar21;\n        bVar24 = *pbVar20 == *pbVar21;\n        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      }" { (if_statement "if (iVar14 == 0) break;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *pbVar20 < *pbVar21;" (assignment_expression "bVar23 = *pbVar20 < *pbVar21" identifier = (binary_expression "*pbVar20 < *pbVar21" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "bVar24 = *pbVar20 == *pbVar21;" (assignment_expression "bVar24 = *pbVar20 == *pbVar21" identifier = (binary_expression "*pbVar20 == *pbVar21" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "bVar22 = false;" (assignment_expression "bVar22 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar23 && !bVar24) == bVar23;" (assignment_expression "bVar24 = (!bVar23 && !bVar24) == bVar23" identifier = (binary_expression "(!bVar23 && !bVar24) == bVar23" (parenthesized_expression "(!bVar23 && !bVar24)" ( (binary_expression "!bVar23 && !bVar24" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar24) {\n        *(undefined4 *)(param_1 + 0x5a88) = 1;\n      }\n      else {\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }" if (parenthesized_expression "(bVar24)" ( identifier )) (compound_statement "{\n        *(undefined4 *)(param_1 + 0x5a88) = 1;\n      }" { (expression_statement "*(undefined4 *)(param_1 + 0x5a88) = 1;" (assignment_expression "*(undefined4 *)(param_1 + 0x5a88) = 1" (pointer_expression "*(undefined4 *)(param_1 + 0x5a88)" * (cast_expression "(undefined4 *)(param_1 + 0x5a88)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5a88)" ( (binary_expression "param_1 + 0x5a88" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }" else (compound_statement "{\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }" { (expression_statement "iVar14 = 5;" (assignment_expression "iVar14 = 5" identifier = number_literal) ;) (expression_statement "pbVar20 = pbVar19;" (assignment_expression "pbVar20 = pbVar19" identifier = identifier) ;) (expression_statement "pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);" (assignment_expression "pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab)" identifier = (cast_expression "(byte *)((int)local_1c4 + -0x1a1fab)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_1c4 + -0x1a1fab)" ( (binary_expression "(int)local_1c4 + -0x1a1fab" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);" do (compound_statement "{\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        }" { (if_statement "if (iVar14 == 0) break;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (expression_statement "bVar22 = *pbVar20 < *pbVar21;" (assignment_expression "bVar22 = *pbVar20 < *pbVar21" identifier = (binary_expression "*pbVar20 < *pbVar21" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "bVar24 = *pbVar20 == *pbVar21;" (assignment_expression "bVar24 = *pbVar20 == *pbVar21" identifier = (binary_expression "*pbVar20 == *pbVar21" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar22 && !bVar24) == bVar22;" (assignment_expression "bVar24 = (!bVar22 && !bVar24) == bVar22" identifier = (binary_expression "(!bVar22 && !bVar24) == bVar22" (parenthesized_expression "(!bVar22 && !bVar24)" ( (binary_expression "!bVar22 && !bVar24" (unary_expression "!bVar22" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }" if (parenthesized_expression "(bVar24)" ( identifier )) (compound_statement "{\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }" { (expression_statement "*(undefined4 *)(param_1 + 0x5a88) = 2;" (assignment_expression "*(undefined4 *)(param_1 + 0x5a88) = 2" (pointer_expression "*(undefined4 *)(param_1 + 0x5a88)" * (cast_expression "(undefined4 *)(param_1 + 0x5a88)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5a88)" ( (binary_expression "param_1 + 0x5a88" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }" else (compound_statement "{\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }" { (expression_statement "iVar14 = 6;" (assignment_expression "iVar14 = 6" identifier = number_literal) ;) (expression_statement "pbVar20 = (byte *)((int)local_1c4 + -0x146582);" (assignment_expression "pbVar20 = (byte *)((int)local_1c4 + -0x146582)" identifier = (cast_expression "(byte *)((int)local_1c4 + -0x146582)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_1c4 + -0x146582)" ( (binary_expression "(int)local_1c4 + -0x146582" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);" do (compound_statement "{\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          }" { (if_statement "if (iVar14 == 0) break;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *pbVar19 < *pbVar20;" (assignment_expression "bVar23 = *pbVar19 < *pbVar20" identifier = (binary_expression "*pbVar19 < *pbVar20" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar24 = *pbVar19 == *pbVar20;" (assignment_expression "bVar24 = *pbVar19 == *pbVar20" identifier = (binary_expression "*pbVar19 == *pbVar20" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar19 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar19 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (if_statement "if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }" if (parenthesized_expression "((!bVar23 && !bVar24) == bVar23)" ( (binary_expression "(!bVar23 && !bVar24) == bVar23" (parenthesized_expression "(!bVar23 && !bVar24)" ( (binary_expression "!bVar23 && !bVar24" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier) )) (compound_statement "{\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }" { (expression_statement "*(undefined4 *)(param_1 + 0x5a88) = 3;" (assignment_expression "*(undefined4 *)(param_1 + 0x5a88) = 3" (pointer_expression "*(undefined4 *)(param_1 + 0x5a88)" * (cast_expression "(undefined4 *)(param_1 + 0x5a88)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5a88)" ( (binary_expression "param_1 + 0x5a88" identifier + number_literal) )))) = number_literal) ;) })) }))) }))) }))) })) (if_statement "if ((*(char *)(param_1 + 0x2401) != '\0') && (*(char *)(param_1 + 0x247c) == '\0')) {\n    *(undefined1 *)(param_1 + 0x247c) = 1;\n    *(undefined ***)(param_1 + 0x2480) = local_1c4 + -0x573ca;\n  }" if (parenthesized_expression "((*(char *)(param_1 + 0x2401) != '\0') && (*(char *)(param_1 + 0x247c) == '\0'))" ( (binary_expression "(*(char *)(param_1 + 0x2401) != '\0') && (*(char *)(param_1 + 0x247c) == '\0')" (parenthesized_expression "(*(char *)(param_1 + 0x2401) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x2401) != '\0'" (pointer_expression "*(char *)(param_1 + 0x2401)" * (cast_expression "(char *)(param_1 + 0x2401)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2401)" ( (binary_expression "param_1 + 0x2401" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(param_1 + 0x247c) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x247c) == '\0'" (pointer_expression "*(char *)(param_1 + 0x247c)" * (cast_expression "(char *)(param_1 + 0x247c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x247c)" ( (binary_expression "param_1 + 0x247c" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    *(undefined1 *)(param_1 + 0x247c) = 1;\n    *(undefined ***)(param_1 + 0x2480) = local_1c4 + -0x573ca;\n  }" { (expression_statement "*(undefined1 *)(param_1 + 0x247c) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x247c) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x247c)" * (cast_expression "(undefined1 *)(param_1 + 0x247c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x247c)" ( (binary_expression "param_1 + 0x247c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(param_1 + 0x2480) = local_1c4 + -0x573ca;" (assignment_expression "*(undefined ***)(param_1 + 0x2480) = local_1c4 + -0x573ca" (pointer_expression "*(undefined ***)(param_1 + 0x2480)" * (cast_expression "(undefined ***)(param_1 + 0x2480)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(param_1 + 0x2480)" ( (binary_expression "param_1 + 0x2480" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x573ca" identifier + number_literal)) ;) })) (if_statement "if ((*(char *)(param_1 + 0x24c1) != '\0') || (*(char *)(param_1 + 0x253d) != '\0')) {\n    *(undefined1 *)(param_1 + 0x5938) = 1;\n  }" if (parenthesized_expression "((*(char *)(param_1 + 0x24c1) != '\0') || (*(char *)(param_1 + 0x253d) != '\0'))" ( (binary_expression "(*(char *)(param_1 + 0x24c1) != '\0') || (*(char *)(param_1 + 0x253d) != '\0')" (parenthesized_expression "(*(char *)(param_1 + 0x24c1) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x24c1) != '\0'" (pointer_expression "*(char *)(param_1 + 0x24c1)" * (cast_expression "(char *)(param_1 + 0x24c1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24c1)" ( (binary_expression "param_1 + 0x24c1" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*(char *)(param_1 + 0x253d) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x253d) != '\0'" (pointer_expression "*(char *)(param_1 + 0x253d)" * (cast_expression "(char *)(param_1 + 0x253d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x253d)" ( (binary_expression "param_1 + 0x253d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    *(undefined1 *)(param_1 + 0x5938) = 1;\n  }" { (expression_statement "*(undefined1 *)(param_1 + 0x5938) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x5938) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x5938)" * (cast_expression "(undefined1 *)(param_1 + 0x5938)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5938)" ( (binary_expression "param_1 + 0x5938" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "iVar14 = *(int *)(param_1 + 0x3de8);" (assignment_expression "iVar14 = *(int *)(param_1 + 0x3de8)" identifier = (pointer_expression "*(int *)(param_1 + 0x3de8)" * (cast_expression "(int *)(param_1 + 0x3de8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3de8)" ( (binary_expression "param_1 + 0x3de8" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar14) {\n    if (*(int *)(param_1 + 0x3e2c) == 0) {\n      *(int *)(param_1 + 0x3e2c) = iVar14;\n    }\n    if (*(int *)(param_1 + 0x3e70) == 0) {\n      *(int *)(param_1 + 0x3e70) = iVar14;\n    }\n    if (*(int *)(param_1 + 0x3eb4) == 0) {\n      *(int *)(param_1 + 0x3eb4) = iVar14;\n    }\n  }" if (parenthesized_expression "(0 < iVar14)" ( (binary_expression "0 < iVar14" number_literal < identifier) )) (compound_statement "{\n    if (*(int *)(param_1 + 0x3e2c) == 0) {\n      *(int *)(param_1 + 0x3e2c) = iVar14;\n    }\n    if (*(int *)(param_1 + 0x3e70) == 0) {\n      *(int *)(param_1 + 0x3e70) = iVar14;\n    }\n    if (*(int *)(param_1 + 0x3eb4) == 0) {\n      *(int *)(param_1 + 0x3eb4) = iVar14;\n    }\n  }" { (if_statement "if (*(int *)(param_1 + 0x3e2c) == 0) {\n      *(int *)(param_1 + 0x3e2c) = iVar14;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x3e2c) == 0)" ( (binary_expression "*(int *)(param_1 + 0x3e2c) == 0" (pointer_expression "*(int *)(param_1 + 0x3e2c)" * (cast_expression "(int *)(param_1 + 0x3e2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3e2c)" ( (binary_expression "param_1 + 0x3e2c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      *(int *)(param_1 + 0x3e2c) = iVar14;\n    }" { (expression_statement "*(int *)(param_1 + 0x3e2c) = iVar14;" (assignment_expression "*(int *)(param_1 + 0x3e2c) = iVar14" (pointer_expression "*(int *)(param_1 + 0x3e2c)" * (cast_expression "(int *)(param_1 + 0x3e2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3e2c)" ( (binary_expression "param_1 + 0x3e2c" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (*(int *)(param_1 + 0x3e70) == 0) {\n      *(int *)(param_1 + 0x3e70) = iVar14;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x3e70) == 0)" ( (binary_expression "*(int *)(param_1 + 0x3e70) == 0" (pointer_expression "*(int *)(param_1 + 0x3e70)" * (cast_expression "(int *)(param_1 + 0x3e70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3e70)" ( (binary_expression "param_1 + 0x3e70" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      *(int *)(param_1 + 0x3e70) = iVar14;\n    }" { (expression_statement "*(int *)(param_1 + 0x3e70) = iVar14;" (assignment_expression "*(int *)(param_1 + 0x3e70) = iVar14" (pointer_expression "*(int *)(param_1 + 0x3e70)" * (cast_expression "(int *)(param_1 + 0x3e70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3e70)" ( (binary_expression "param_1 + 0x3e70" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (*(int *)(param_1 + 0x3eb4) == 0) {\n      *(int *)(param_1 + 0x3eb4) = iVar14;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x3eb4) == 0)" ( (binary_expression "*(int *)(param_1 + 0x3eb4) == 0" (pointer_expression "*(int *)(param_1 + 0x3eb4)" * (cast_expression "(int *)(param_1 + 0x3eb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3eb4)" ( (binary_expression "param_1 + 0x3eb4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      *(int *)(param_1 + 0x3eb4) = iVar14;\n    }" { (expression_statement "*(int *)(param_1 + 0x3eb4) = iVar14;" (assignment_expression "*(int *)(param_1 + 0x3eb4) = iVar14" (pointer_expression "*(int *)(param_1 + 0x3eb4)" * (cast_expression "(int *)(param_1 + 0x3eb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3eb4)" ( (binary_expression "param_1 + 0x3eb4" identifier + number_literal) )))) = identifier) ;) })) })) (expression_statement "local_1d4 = &local_1bc;" (assignment_expression "local_1d4 = &local_1bc" identifier = (pointer_expression "&local_1bc" & identifier)) ;) (expression_statement "local_1b4[0] = 0;" (assignment_expression "local_1b4[0] = 0" (subscript_expression "local_1b4[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_1ec = local_1b4;" (assignment_expression "local_1ec = local_1b4" identifier = identifier) ;) (expression_statement "local_1b8 = 0;" (assignment_expression "local_1b8 = 0" identifier = number_literal) ;) (expression_statement "local_1bc = local_1ec;" (assignment_expression "local_1bc = local_1ec" identifier = identifier) ;) (if_statement "if (*(char *)(param_1 + 0x4ca8) == '\0') {\n    if (*(char *)(param_1 + 0x2729) == '\0') {\n      local_1dc = local_12c;\n      local_1d0 = (undefined ***)&local_134;\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);\n      local_1a4 = local_19c;\n                    \n      FUN_0014fca0(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_18c = 1;\n      if (local_1a0 == 0) {\n                    \n        FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      local_1d8 = param_1 + 0x2184;\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_1a4);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_1a4 != local_19c) {\n        FUN_003ae080(local_1a4);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);\n      local_188 = local_180;\n                    \n      FUN_0014fca0(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_170 = 1;\n      if (local_184 == 0) {\n                    \n        FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_188);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_188 != local_180) {\n        FUN_003ae080(local_188);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);\n      local_16c = local_164;\n                    \n      FUN_0014fca0(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_154 = 1;\n      if (local_168 == 0) {\n                    \n        FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_16c);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_16c != local_164) {\n        FUN_003ae080(local_16c);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);\n      local_1e0 = local_148;\n      local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n      local_150 = local_1e0;\n                    \n      FUN_0014fca0(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_138 = 1;\n      if (local_14c == 0) {\n                    \n        FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_150 != local_1e0) {\n        FUN_003ae080(local_150);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      goto LAB_002c0258;\n    }\n  }\n  else {\n    pcVar12 = *(char **)(param_1 + 0x4cac);\n    sVar9 = strlen(pcVar12);\n    ppuVar3 = local_1d4;\n                    \n    FUN_003b6cc0(local_1d4,0,0,pcVar12,sVar9);\n    iVar14 = FUN_003b86a0(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36);\n    if (iVar14 == 0) {\n      uVar6 = local_1b8;\n      if (2 < local_1b8) {\n        uVar6 = 2;\n      }\n                    \n      FUN_003b5ec0(local_1d4,0,uVar6);\n    }\nLAB_002c0258:\n    uVar6 = 0;\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n    if (local_1b8 != 0) {\n      do {\n        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);\n        uVar16 = 0xffffffff;\n        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    \n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    \n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    \n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    \n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }\n        uVar6 = iVar14 + 1;\n      } while( true );\n    }\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0x4ca8) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x4ca8) == '\0'" (pointer_expression "*(char *)(param_1 + 0x4ca8)" * (cast_expression "(char *)(param_1 + 0x4ca8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x4ca8)" ( (binary_expression "param_1 + 0x4ca8" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (*(char *)(param_1 + 0x2729) == '\0') {\n      local_1dc = local_12c;\n      local_1d0 = (undefined ***)&local_134;\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);\n      local_1a4 = local_19c;\n                    \n      FUN_0014fca0(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_18c = 1;\n      if (local_1a0 == 0) {\n                    \n        FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      local_1d8 = param_1 + 0x2184;\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_1a4);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_1a4 != local_19c) {\n        FUN_003ae080(local_1a4);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);\n      local_188 = local_180;\n                    \n      FUN_0014fca0(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_170 = 1;\n      if (local_184 == 0) {\n                    \n        FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_188);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_188 != local_180) {\n        FUN_003ae080(local_188);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);\n      local_16c = local_164;\n                    \n      FUN_0014fca0(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_154 = 1;\n      if (local_168 == 0) {\n                    \n        FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_16c);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_16c != local_164) {\n        FUN_003ae080(local_16c);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);\n      local_1e0 = local_148;\n      local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n      local_150 = local_1e0;\n                    \n      FUN_0014fca0(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_138 = 1;\n      if (local_14c == 0) {\n                    \n        FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_150 != local_1e0) {\n        FUN_003ae080(local_150);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      goto LAB_002c0258;\n    }\n  }" { (if_statement "if (*(char *)(param_1 + 0x2729) == '\0') {\n      local_1dc = local_12c;\n      local_1d0 = (undefined ***)&local_134;\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);\n      local_1a4 = local_19c;\n                    \n      FUN_0014fca0(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_18c = 1;\n      if (local_1a0 == 0) {\n                    \n        FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      local_1d8 = param_1 + 0x2184;\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_1a4);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_1a4 != local_19c) {\n        FUN_003ae080(local_1a4);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);\n      local_188 = local_180;\n                    \n      FUN_0014fca0(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_170 = 1;\n      if (local_184 == 0) {\n                    \n        FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_188);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_188 != local_180) {\n        FUN_003ae080(local_188);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);\n      local_16c = local_164;\n                    \n      FUN_0014fca0(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_154 = 1;\n      if (local_168 == 0) {\n                    \n        FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_16c);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_16c != local_164) {\n        FUN_003ae080(local_16c);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);\n      local_1e0 = local_148;\n      local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n      local_150 = local_1e0;\n                    \n      FUN_0014fca0(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_138 = 1;\n      if (local_14c == 0) {\n                    \n        FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_150 != local_1e0) {\n        FUN_003ae080(local_150);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      goto LAB_002c0258;\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x2729) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x2729) == '\0'" (pointer_expression "*(char *)(param_1 + 0x2729)" * (cast_expression "(char *)(param_1 + 0x2729)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2729)" ( (binary_expression "param_1 + 0x2729" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      local_1dc = local_12c;\n      local_1d0 = (undefined ***)&local_134;\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);\n      local_1a4 = local_19c;\n                    \n      FUN_0014fca0(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_18c = 1;\n      if (local_1a0 == 0) {\n                    \n        FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      local_1d8 = param_1 + 0x2184;\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_1a4);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_1a4 != local_19c) {\n        FUN_003ae080(local_1a4);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);\n      local_188 = local_180;\n                    \n      FUN_0014fca0(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_170 = 1;\n      if (local_184 == 0) {\n                    \n        FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_188);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_188 != local_180) {\n        FUN_003ae080(local_188);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);\n      local_16c = local_164;\n                    \n      FUN_0014fca0(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_154 = 1;\n      if (local_168 == 0) {\n                    \n        FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_16c);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_16c != local_164) {\n        FUN_003ae080(local_16c);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);\n      local_1e0 = local_148;\n      local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n      local_150 = local_1e0;\n                    \n      FUN_0014fca0(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_138 = 1;\n      if (local_14c == 0) {\n                    \n        FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_150 != local_1e0) {\n        FUN_003ae080(local_150);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      goto LAB_002c0258;\n    }" { (expression_statement "local_1dc = local_12c;" (assignment_expression "local_1dc = local_12c" identifier = identifier) ;) (expression_statement "local_1d0 = (undefined ***)&local_134;" (assignment_expression "local_1d0 = (undefined ***)&local_134" identifier = (cast_expression "(undefined ***)&local_134" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&local_134" & identifier))) ;) (expression_statement "local_134 = local_1dc;" (assignment_expression "local_134 = local_1dc" identifier = identifier) ;) (expression_statement "FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);" (call_expression "FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0)" identifier (argument_list "(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0)" ( identifier , (binary_expression "(int)local_1c4 + -0x15ba2f" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , (binary_expression "(int)local_1c4 + -0x15ba16" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal ))) ;) (expression_statement "local_1a4 = local_19c;" (assignment_expression "local_1a4 = local_19c" identifier = identifier) ;) (expression_statement "FUN_0014fca0(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0);" (call_expression "FUN_0014fca0(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0)" identifier (argument_list "(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0)" ( (pointer_expression "&local_1a4" & identifier) , identifier , (cast_expression "(undefined *)(local_130 + (int)local_134)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_130 + (int)local_134)" ( (binary_expression "local_130 + (int)local_134" identifier + (cast_expression "(int)local_134" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , number_literal ))) ;) (expression_statement "local_18c = 1;" (assignment_expression "local_18c = 1" identifier = number_literal) ;) (if_statement "if (local_1a0 == 0) {\n                    \n        FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);\n      }" if (parenthesized_expression "(local_1a0 == 0)" ( (binary_expression "local_1a0 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n        FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);\n      }" { (expression_statement "FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);" (call_expression "FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1)" identifier (argument_list "(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1)" ( (pointer_expression "&local_1a4" & identifier) , number_literal , number_literal , (binary_expression "(int)local_1c4 + -0x15ca25" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal ))) ;) })) (expression_statement "local_1d8 = param_1 + 0x2184;" (assignment_expression "local_1d8 = param_1 + 0x2184" identifier = (binary_expression "param_1 + 0x2184" identifier + number_literal)) ;) (expression_statement "piVar7 = *(int **)(param_1 + 0x2188);" (assignment_expression "piVar7 = *(int **)(param_1 + 0x2188)" identifier = (pointer_expression "*(int **)(param_1 + 0x2188)" * (cast_expression "(int **)(param_1 + 0x2188)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x2188)" ( (binary_expression "param_1 + 0x2188" identifier + number_literal) ))))) ;) (if_statement "if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_1a4);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" if (parenthesized_expression "(piVar7 == *(int **)(param_1 + 0x218c))" ( (binary_expression "piVar7 == *(int **)(param_1 + 0x218c)" identifier == (pointer_expression "*(int **)(param_1 + 0x218c)" * (cast_expression "(int **)(param_1 + 0x218c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x218c)" ( (binary_expression "param_1 + 0x218c" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_1a4);\n      }" { (expression_statement "FUN_002c3140(local_1d8,piVar7,&local_1a4);" (call_expression "FUN_002c3140(local_1d8,piVar7,&local_1a4)" identifier (argument_list "(local_1d8,piVar7,&local_1a4)" ( identifier , identifier , (pointer_expression "&local_1a4" & identifier) ))) ;) }) (else_clause "else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" else (compound_statement "{\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" { (expression_statement "*piVar7 = (int)(piVar7 + 2);" (assignment_expression "*piVar7 = (int)(piVar7 + 2)" (pointer_expression "*piVar7" * identifier) = (cast_expression "(int)(piVar7 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar7 + 2)" ( (binary_expression "piVar7 + 2" identifier + number_literal) )))) ;) (expression_statement "FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);" (call_expression "FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0)" identifier (argument_list "(piVar7,local_1a4,local_1a4 + local_1a0,0)" ( identifier , identifier , (binary_expression "local_1a4 + local_1a0" identifier + identifier) , number_literal ))) ;) (expression_statement "*(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;" (assignment_expression "*(undefined1 *)(piVar7 + 6) = (undefined1)local_18c" (pointer_expression "*(undefined1 *)(piVar7 + 6)" * (cast_expression "(undefined1 *)(piVar7 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar7 + 6)" ( (binary_expression "piVar7 + 6" identifier + number_literal) )))) = (cast_expression "(undefined1)local_18c" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "*(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;" (assignment_expression "*(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_" (pointer_expression "*(undefined1 *)((int)piVar7 + 0x19)" * (cast_expression "(undefined1 *)((int)piVar7 + 0x19)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar7 + 0x19)" ( (binary_expression "(int)piVar7 + 0x19" (cast_expression "(int)piVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "local_18c._1_1_" identifier . field_identifier)) ;) (expression_statement "*(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;" (assignment_expression "*(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2188)" * (cast_expression "(int *)(param_1 + 0x2188)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2188)" ( (binary_expression "param_1 + 0x2188" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x2188) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2188)" * (cast_expression "(int *)(param_1 + 0x2188)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2188)" ( (binary_expression "param_1 + 0x2188" identifier + number_literal) )))) + number_literal)) ;) }))) (if_statement "if (local_1a4 != local_19c) {\n        FUN_003ae080(local_1a4);\n      }" if (parenthesized_expression "(local_1a4 != local_19c)" ( (binary_expression "local_1a4 != local_19c" identifier != identifier) )) (compound_statement "{\n        FUN_003ae080(local_1a4);\n      }" { (expression_statement "FUN_003ae080(local_1a4);" (call_expression "FUN_003ae080(local_1a4)" identifier (argument_list "(local_1a4)" ( identifier ))) ;) })) (if_statement "if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }" if (parenthesized_expression "(local_134 != local_1dc)" ( (binary_expression "local_134 != local_1dc" identifier != identifier) )) (compound_statement "{\n        FUN_003ae080(local_134);\n      }" { (expression_statement "FUN_003ae080(local_134);" (call_expression "FUN_003ae080(local_134)" identifier (argument_list "(local_134)" ( identifier ))) ;) })) (expression_statement "local_134 = local_1dc;" (assignment_expression "local_134 = local_1dc" identifier = identifier) ;) (expression_statement "FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);" (call_expression "FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0)" identifier (argument_list "(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0)" ( identifier , (binary_expression "(int)local_1c4 + -0x15ba33" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , (binary_expression "(int)local_1c4 + -0x15ba16" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal ))) ;) (expression_statement "local_188 = local_180;" (assignment_expression "local_188 = local_180" identifier = identifier) ;) (expression_statement "FUN_0014fca0(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0);" (call_expression "FUN_0014fca0(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0)" identifier (argument_list "(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0)" ( (pointer_expression "&local_188" & identifier) , identifier , (cast_expression "(undefined *)(local_130 + (int)local_134)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_130 + (int)local_134)" ( (binary_expression "local_130 + (int)local_134" identifier + (cast_expression "(int)local_134" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , number_literal ))) ;) (expression_statement "local_170 = 1;" (assignment_expression "local_170 = 1" identifier = number_literal) ;) (if_statement "if (local_184 == 0) {\n                    \n        FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);\n      }" if (parenthesized_expression "(local_184 == 0)" ( (binary_expression "local_184 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n        FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);\n      }" { (expression_statement "FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);" (call_expression "FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1)" identifier (argument_list "(&local_188,0,0,(int)local_1c4 + -0x15ca25,1)" ( (pointer_expression "&local_188" & identifier) , number_literal , number_literal , (binary_expression "(int)local_1c4 + -0x15ca25" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal ))) ;) })) (expression_statement "piVar7 = *(int **)(param_1 + 0x2188);" (assignment_expression "piVar7 = *(int **)(param_1 + 0x2188)" identifier = (pointer_expression "*(int **)(param_1 + 0x2188)" * (cast_expression "(int **)(param_1 + 0x2188)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x2188)" ( (binary_expression "param_1 + 0x2188" identifier + number_literal) ))))) ;) (if_statement "if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_188);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" if (parenthesized_expression "(piVar7 == *(int **)(param_1 + 0x218c))" ( (binary_expression "piVar7 == *(int **)(param_1 + 0x218c)" identifier == (pointer_expression "*(int **)(param_1 + 0x218c)" * (cast_expression "(int **)(param_1 + 0x218c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x218c)" ( (binary_expression "param_1 + 0x218c" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_188);\n      }" { (expression_statement "FUN_002c3140(local_1d8,piVar7,&local_188);" (call_expression "FUN_002c3140(local_1d8,piVar7,&local_188)" identifier (argument_list "(local_1d8,piVar7,&local_188)" ( identifier , identifier , (pointer_expression "&local_188" & identifier) ))) ;) }) (else_clause "else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" else (compound_statement "{\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" { (expression_statement "*piVar7 = (int)(piVar7 + 2);" (assignment_expression "*piVar7 = (int)(piVar7 + 2)" (pointer_expression "*piVar7" * identifier) = (cast_expression "(int)(piVar7 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar7 + 2)" ( (binary_expression "piVar7 + 2" identifier + number_literal) )))) ;) (expression_statement "FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);" (call_expression "FUN_0014fca0(piVar7,local_188,local_188 + local_184,0)" identifier (argument_list "(piVar7,local_188,local_188 + local_184,0)" ( identifier , identifier , (binary_expression "local_188 + local_184" identifier + identifier) , number_literal ))) ;) (expression_statement "*(undefined1 *)(piVar7 + 6) = (undefined1)local_170;" (assignment_expression "*(undefined1 *)(piVar7 + 6) = (undefined1)local_170" (pointer_expression "*(undefined1 *)(piVar7 + 6)" * (cast_expression "(undefined1 *)(piVar7 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar7 + 6)" ( (binary_expression "piVar7 + 6" identifier + number_literal) )))) = (cast_expression "(undefined1)local_170" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "*(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;" (assignment_expression "*(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_" (pointer_expression "*(undefined1 *)((int)piVar7 + 0x19)" * (cast_expression "(undefined1 *)((int)piVar7 + 0x19)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar7 + 0x19)" ( (binary_expression "(int)piVar7 + 0x19" (cast_expression "(int)piVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "local_170._1_1_" identifier . field_identifier)) ;) (expression_statement "*(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;" (assignment_expression "*(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2188)" * (cast_expression "(int *)(param_1 + 0x2188)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2188)" ( (binary_expression "param_1 + 0x2188" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x2188) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2188)" * (cast_expression "(int *)(param_1 + 0x2188)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2188)" ( (binary_expression "param_1 + 0x2188" identifier + number_literal) )))) + number_literal)) ;) }))) (if_statement "if (local_188 != local_180) {\n        FUN_003ae080(local_188);\n      }" if (parenthesized_expression "(local_188 != local_180)" ( (binary_expression "local_188 != local_180" identifier != identifier) )) (compound_statement "{\n        FUN_003ae080(local_188);\n      }" { (expression_statement "FUN_003ae080(local_188);" (call_expression "FUN_003ae080(local_188)" identifier (argument_list "(local_188)" ( identifier ))) ;) })) (if_statement "if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }" if (parenthesized_expression "(local_134 != local_1dc)" ( (binary_expression "local_134 != local_1dc" identifier != identifier) )) (compound_statement "{\n        FUN_003ae080(local_134);\n      }" { (expression_statement "FUN_003ae080(local_134);" (call_expression "FUN_003ae080(local_134)" identifier (argument_list "(local_134)" ( identifier ))) ;) })) (expression_statement "local_134 = local_1dc;" (assignment_expression "local_134 = local_1dc" identifier = identifier) ;) (expression_statement "FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);" (call_expression "FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0)" identifier (argument_list "(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0)" ( identifier , (binary_expression "(int)local_1c4 + -0x15ba11" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , (binary_expression "(int)local_1c4 + -0x15ba0d" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal ))) ;) (expression_statement "local_16c = local_164;" (assignment_expression "local_16c = local_164" identifier = identifier) ;) (expression_statement "FUN_0014fca0(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0);" (call_expression "FUN_0014fca0(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0)" identifier (argument_list "(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0)" ( (pointer_expression "&local_16c" & identifier) , identifier , (cast_expression "(undefined *)(local_130 + (int)local_134)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_130 + (int)local_134)" ( (binary_expression "local_130 + (int)local_134" identifier + (cast_expression "(int)local_134" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , number_literal ))) ;) (expression_statement "local_154 = 1;" (assignment_expression "local_154 = 1" identifier = number_literal) ;) (if_statement "if (local_168 == 0) {\n                    \n        FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);\n      }" if (parenthesized_expression "(local_168 == 0)" ( (binary_expression "local_168 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n        FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);\n      }" { (expression_statement "FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);" (call_expression "FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1)" identifier (argument_list "(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1)" ( (pointer_expression "&local_16c" & identifier) , number_literal , number_literal , (binary_expression "(int)local_1c4 + -0x15ca25" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal ))) ;) })) (expression_statement "piVar7 = *(int **)(param_1 + 0x2188);" (assignment_expression "piVar7 = *(int **)(param_1 + 0x2188)" identifier = (pointer_expression "*(int **)(param_1 + 0x2188)" * (cast_expression "(int **)(param_1 + 0x2188)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x2188)" ( (binary_expression "param_1 + 0x2188" identifier + number_literal) ))))) ;) (if_statement "if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_16c);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" if (parenthesized_expression "(piVar7 == *(int **)(param_1 + 0x218c))" ( (binary_expression "piVar7 == *(int **)(param_1 + 0x218c)" identifier == (pointer_expression "*(int **)(param_1 + 0x218c)" * (cast_expression "(int **)(param_1 + 0x218c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x218c)" ( (binary_expression "param_1 + 0x218c" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_16c);\n      }" { (expression_statement "FUN_002c3140(local_1d8,piVar7,&local_16c);" (call_expression "FUN_002c3140(local_1d8,piVar7,&local_16c)" identifier (argument_list "(local_1d8,piVar7,&local_16c)" ( identifier , identifier , (pointer_expression "&local_16c" & identifier) ))) ;) }) (else_clause "else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" else (compound_statement "{\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" { (expression_statement "*piVar7 = (int)(piVar7 + 2);" (assignment_expression "*piVar7 = (int)(piVar7 + 2)" (pointer_expression "*piVar7" * identifier) = (cast_expression "(int)(piVar7 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar7 + 2)" ( (binary_expression "piVar7 + 2" identifier + number_literal) )))) ;) (expression_statement "FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);" (call_expression "FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0)" identifier (argument_list "(piVar7,local_16c,local_16c + local_168,0)" ( identifier , identifier , (binary_expression "local_16c + local_168" identifier + identifier) , number_literal ))) ;) (expression_statement "*(undefined1 *)(piVar7 + 6) = (undefined1)local_154;" (assignment_expression "*(undefined1 *)(piVar7 + 6) = (undefined1)local_154" (pointer_expression "*(undefined1 *)(piVar7 + 6)" * (cast_expression "(undefined1 *)(piVar7 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar7 + 6)" ( (binary_expression "piVar7 + 6" identifier + number_literal) )))) = (cast_expression "(undefined1)local_154" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "*(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;" (assignment_expression "*(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_" (pointer_expression "*(undefined1 *)((int)piVar7 + 0x19)" * (cast_expression "(undefined1 *)((int)piVar7 + 0x19)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar7 + 0x19)" ( (binary_expression "(int)piVar7 + 0x19" (cast_expression "(int)piVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "local_154._1_1_" identifier . field_identifier)) ;) (expression_statement "*(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;" (assignment_expression "*(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2188)" * (cast_expression "(int *)(param_1 + 0x2188)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2188)" ( (binary_expression "param_1 + 0x2188" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x2188) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2188)" * (cast_expression "(int *)(param_1 + 0x2188)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2188)" ( (binary_expression "param_1 + 0x2188" identifier + number_literal) )))) + number_literal)) ;) }))) (if_statement "if (local_16c != local_164) {\n        FUN_003ae080(local_16c);\n      }" if (parenthesized_expression "(local_16c != local_164)" ( (binary_expression "local_16c != local_164" identifier != identifier) )) (compound_statement "{\n        FUN_003ae080(local_16c);\n      }" { (expression_statement "FUN_003ae080(local_16c);" (call_expression "FUN_003ae080(local_16c)" identifier (argument_list "(local_16c)" ( identifier ))) ;) })) (if_statement "if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }" if (parenthesized_expression "(local_134 != local_1dc)" ( (binary_expression "local_134 != local_1dc" identifier != identifier) )) (compound_statement "{\n        FUN_003ae080(local_134);\n      }" { (expression_statement "FUN_003ae080(local_134);" (call_expression "FUN_003ae080(local_134)" identifier (argument_list "(local_134)" ( identifier ))) ;) })) (expression_statement "local_134 = local_1dc;" (assignment_expression "local_134 = local_1dc" identifier = identifier) ;) (expression_statement "FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);" (call_expression "FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0)" identifier (argument_list "(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0)" ( identifier , (binary_expression "(int)local_1c4 + -0x15ba15" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , (binary_expression "(int)local_1c4 + -0x15ba0d" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal ))) ;) (expression_statement "local_1e0 = local_148;" (assignment_expression "local_1e0 = local_148" identifier = identifier) ;) (expression_statement "local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);" (assignment_expression "local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150)" identifier = (cast_expression "(double)CONCAT44(local_1cc._4_4_,&local_150)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(local_1cc._4_4_,&local_150)" identifier (argument_list "(local_1cc._4_4_,&local_150)" ( (field_expression "local_1cc._4_4_" identifier . field_identifier) , (pointer_expression "&local_150" & identifier) ))))) ;) (expression_statement "local_150 = local_1e0;" (assignment_expression "local_150 = local_1e0" identifier = identifier) ;) (expression_statement "FUN_0014fca0(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0);" (call_expression "FUN_0014fca0(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0)" identifier (argument_list "(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0)" ( (pointer_expression "&local_150" & identifier) , identifier , (cast_expression "(undefined *)(local_130 + (int)local_134)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_130 + (int)local_134)" ( (binary_expression "local_130 + (int)local_134" identifier + (cast_expression "(int)local_134" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , number_literal ))) ;) (expression_statement "local_138 = 1;" (assignment_expression "local_138 = 1" identifier = number_literal) ;) (if_statement "if (local_14c == 0) {\n                    \n        FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);\n      }" if (parenthesized_expression "(local_14c == 0)" ( (binary_expression "local_14c == 0" identifier == number_literal) )) (compound_statement "{\n                    \n        FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);\n      }" { (expression_statement "FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);" (call_expression "FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1)" identifier (argument_list "(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1)" ( (field_expression "local_1cc._0_4_" identifier . field_identifier) , number_literal , number_literal , (binary_expression "(int)local_1c4 + -0x15ca25" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal ))) ;) })) (expression_statement "piVar7 = *(int **)(param_1 + 0x2188);" (assignment_expression "piVar7 = *(int **)(param_1 + 0x2188)" identifier = (pointer_expression "*(int **)(param_1 + 0x2188)" * (cast_expression "(int **)(param_1 + 0x2188)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x2188)" ( (binary_expression "param_1 + 0x2188" identifier + number_literal) ))))) ;) (if_statement "if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" if (parenthesized_expression "(piVar7 == *(int **)(param_1 + 0x218c))" ( (binary_expression "piVar7 == *(int **)(param_1 + 0x218c)" identifier == (pointer_expression "*(int **)(param_1 + 0x218c)" * (cast_expression "(int **)(param_1 + 0x218c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x218c)" ( (binary_expression "param_1 + 0x218c" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n        FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);\n      }" { (expression_statement "FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);" (call_expression "FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_)" identifier (argument_list "(local_1d8,piVar7,local_1cc._0_4_)" ( identifier , identifier , (field_expression "local_1cc._0_4_" identifier . field_identifier) ))) ;) }) (else_clause "else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" else (compound_statement "{\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" { (expression_statement "*piVar7 = (int)(piVar7 + 2);" (assignment_expression "*piVar7 = (int)(piVar7 + 2)" (pointer_expression "*piVar7" * identifier) = (cast_expression "(int)(piVar7 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar7 + 2)" ( (binary_expression "piVar7 + 2" identifier + number_literal) )))) ;) (expression_statement "FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);" (call_expression "FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0)" identifier (argument_list "(piVar7,local_150,local_150 + local_14c,0)" ( identifier , identifier , (binary_expression "local_150 + local_14c" identifier + identifier) , number_literal ))) ;) (expression_statement "*(undefined1 *)(piVar7 + 6) = (undefined1)local_138;" (assignment_expression "*(undefined1 *)(piVar7 + 6) = (undefined1)local_138" (pointer_expression "*(undefined1 *)(piVar7 + 6)" * (cast_expression "(undefined1 *)(piVar7 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar7 + 6)" ( (binary_expression "piVar7 + 6" identifier + number_literal) )))) = (cast_expression "(undefined1)local_138" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "*(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;" (assignment_expression "*(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_" (pointer_expression "*(undefined1 *)((int)piVar7 + 0x19)" * (cast_expression "(undefined1 *)((int)piVar7 + 0x19)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar7 + 0x19)" ( (binary_expression "(int)piVar7 + 0x19" (cast_expression "(int)piVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "local_138._1_1_" identifier . field_identifier)) ;) (expression_statement "*(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;" (assignment_expression "*(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2188)" * (cast_expression "(int *)(param_1 + 0x2188)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2188)" ( (binary_expression "param_1 + 0x2188" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x2188) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2188)" * (cast_expression "(int *)(param_1 + 0x2188)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2188)" ( (binary_expression "param_1 + 0x2188" identifier + number_literal) )))) + number_literal)) ;) }))) (if_statement "if (local_150 != local_1e0) {\n        FUN_003ae080(local_150);\n      }" if (parenthesized_expression "(local_150 != local_1e0)" ( (binary_expression "local_150 != local_1e0" identifier != identifier) )) (compound_statement "{\n        FUN_003ae080(local_150);\n      }" { (expression_statement "FUN_003ae080(local_150);" (call_expression "FUN_003ae080(local_150)" identifier (argument_list "(local_150)" ( identifier ))) ;) })) (if_statement "if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }" if (parenthesized_expression "(local_134 != local_1dc)" ( (binary_expression "local_134 != local_1dc" identifier != identifier) )) (compound_statement "{\n        FUN_003ae080(local_134);\n      }" { (expression_statement "FUN_003ae080(local_134);" (call_expression "FUN_003ae080(local_134)" identifier (argument_list "(local_134)" ( identifier ))) ;) })) (goto_statement "goto LAB_002c0258;" goto statement_identifier ;) })) }) (else_clause "else {\n    pcVar12 = *(char **)(param_1 + 0x4cac);\n    sVar9 = strlen(pcVar12);\n    ppuVar3 = local_1d4;\n                    \n    FUN_003b6cc0(local_1d4,0,0,pcVar12,sVar9);\n    iVar14 = FUN_003b86a0(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36);\n    if (iVar14 == 0) {\n      uVar6 = local_1b8;\n      if (2 < local_1b8) {\n        uVar6 = 2;\n      }\n                    \n      FUN_003b5ec0(local_1d4,0,uVar6);\n    }\nLAB_002c0258:\n    uVar6 = 0;\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n    if (local_1b8 != 0) {\n      do {\n        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);\n        uVar16 = 0xffffffff;\n        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    \n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    \n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    \n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    \n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }\n        uVar6 = iVar14 + 1;\n      } while( true );\n    }\n  }" else (compound_statement "{\n    pcVar12 = *(char **)(param_1 + 0x4cac);\n    sVar9 = strlen(pcVar12);\n    ppuVar3 = local_1d4;\n                    \n    FUN_003b6cc0(local_1d4,0,0,pcVar12,sVar9);\n    iVar14 = FUN_003b86a0(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36);\n    if (iVar14 == 0) {\n      uVar6 = local_1b8;\n      if (2 < local_1b8) {\n        uVar6 = 2;\n      }\n                    \n      FUN_003b5ec0(local_1d4,0,uVar6);\n    }\nLAB_002c0258:\n    uVar6 = 0;\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n    if (local_1b8 != 0) {\n      do {\n        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);\n        uVar16 = 0xffffffff;\n        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    \n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    \n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    \n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    \n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }\n        uVar6 = iVar14 + 1;\n      } while( true );\n    }\n  }" { (expression_statement "pcVar12 = *(char **)(param_1 + 0x4cac);" (assignment_expression "pcVar12 = *(char **)(param_1 + 0x4cac)" identifier = (pointer_expression "*(char **)(param_1 + 0x4cac)" * (cast_expression "(char **)(param_1 + 0x4cac)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x4cac)" ( (binary_expression "param_1 + 0x4cac" identifier + number_literal) ))))) ;) (expression_statement "sVar9 = strlen(pcVar12);" (assignment_expression "sVar9 = strlen(pcVar12)" identifier = (call_expression "strlen(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier )))) ;) (expression_statement "ppuVar3 = local_1d4;" (assignment_expression "ppuVar3 = local_1d4" identifier = identifier) ;) (expression_statement "FUN_003b6cc0(local_1d4,0,0,pcVar12,sVar9);" (call_expression "FUN_003b6cc0(local_1d4,0,0,pcVar12,sVar9)" identifier (argument_list "(local_1d4,0,0,pcVar12,sVar9)" ( identifier , number_literal , number_literal , identifier , identifier ))) ;) (expression_statement "iVar14 = FUN_003b86a0(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36);" (assignment_expression "iVar14 = FUN_003b86a0(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36)" identifier = (call_expression "FUN_003b86a0(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36)" identifier (argument_list "(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36)" ( identifier , number_literal , number_literal , (binary_expression "(int)ppuVar4 + -0x15ba36" (cast_expression "(int)ppuVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (iVar14 == 0) {\n      uVar6 = local_1b8;\n      if (2 < local_1b8) {\n        uVar6 = 2;\n      }\n                    \n      FUN_003b5ec0(local_1d4,0,uVar6);\n    }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar6 = local_1b8;\n      if (2 < local_1b8) {\n        uVar6 = 2;\n      }\n                    \n      FUN_003b5ec0(local_1d4,0,uVar6);\n    }" { (expression_statement "uVar6 = local_1b8;" (assignment_expression "uVar6 = local_1b8" identifier = identifier) ;) (if_statement "if (2 < local_1b8) {\n        uVar6 = 2;\n      }" if (parenthesized_expression "(2 < local_1b8)" ( (binary_expression "2 < local_1b8" number_literal < identifier) )) (compound_statement "{\n        uVar6 = 2;\n      }" { (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) })) (expression_statement "FUN_003b5ec0(local_1d4,0,uVar6);" (call_expression "FUN_003b5ec0(local_1d4,0,uVar6)" identifier (argument_list "(local_1d4,0,uVar6)" ( identifier , number_literal , identifier ))) ;) })) (labeled_statement "LAB_002c0258:\n    uVar6 = 0;" statement_identifier : (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;)) (expression_statement "local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);" (assignment_expression "local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150)" identifier = (cast_expression "(double)CONCAT44(local_1cc._4_4_,&local_150)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(local_1cc._4_4_,&local_150)" identifier (argument_list "(local_1cc._4_4_,&local_150)" ( (field_expression "local_1cc._4_4_" identifier . field_identifier) , (pointer_expression "&local_150" & identifier) ))))) ;) (if_statement "if (local_1b8 != 0) {\n      do {\n        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);\n        uVar16 = 0xffffffff;\n        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    \n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    \n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    \n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    \n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }\n        uVar6 = iVar14 + 1;\n      } while( true );\n    }" if (parenthesized_expression "(local_1b8 != 0)" ( (binary_expression "local_1b8 != 0" identifier != number_literal) )) (compound_statement "{\n      do {\n        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);\n        uVar16 = 0xffffffff;\n        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    \n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    \n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    \n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    \n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }\n        uVar6 = iVar14 + 1;\n      } while( true );\n    }" { (do_statement "do {\n        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);\n        uVar16 = 0xffffffff;\n        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    \n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    \n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    \n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    \n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }\n        uVar6 = iVar14 + 1;\n      } while( true );" do (compound_statement "{\n        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);\n        uVar16 = 0xffffffff;\n        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    \n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    \n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    \n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    \n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }\n        uVar6 = iVar14 + 1;\n      }" { (expression_statement "iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);" (assignment_expression "iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6)" identifier = (call_expression "FUN_003b7ee0(local_1d4,0x3a,uVar6)" identifier (argument_list "(local_1d4,0x3a,uVar6)" ( identifier , number_literal , identifier )))) ;) (expression_statement "uVar16 = 0xffffffff;" (assignment_expression "uVar16 = 0xffffffff" identifier = number_literal) ;) (if_statement "if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    \n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    \n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    \n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    \n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }" if (parenthesized_expression "((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0))" ( (binary_expression "(iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)" (parenthesized_expression "(iVar14 == -1)" ( (binary_expression "iVar14 == -1" identifier == number_literal) )) || (parenthesized_expression "(uVar16 = iVar14 - uVar6, uVar16 != 0)" ( (comma_expression "uVar16 = iVar14 - uVar6, uVar16 != 0" (assignment_expression "uVar16 = iVar14 - uVar6" identifier = (binary_expression "iVar14 - uVar6" identifier - identifier)) , (binary_expression "uVar16 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          if (local_1b8 < uVar6) {\n                    \n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    \n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    \n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    \n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }" { (if_statement "if (local_1b8 < uVar6) {\n                    \n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }" if (parenthesized_expression "(local_1b8 < uVar6)" ( (binary_expression "local_1b8 < uVar6" identifier < identifier) )) (compound_statement "{\n                    \n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }" { (expression_statement "FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);" (call_expression "FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8)" identifier (argument_list "(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8)" ( (binary_expression "local_1c4 + -0x58f98" identifier + number_literal) , (binary_expression "(int)local_1c4 + -0x1641fb" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , identifier , identifier ))) ;) })) (expression_statement "local_1e0 = local_148;" (assignment_expression "local_1e0 = local_148" identifier = identifier) ;) (expression_statement "uVar10 = local_1b8 - uVar6;" (assignment_expression "uVar10 = local_1b8 - uVar6" identifier = (binary_expression "local_1b8 - uVar6" identifier - identifier)) ;) (if_statement "if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }" if (parenthesized_expression "(uVar16 < local_1b8 - uVar6)" ( (binary_expression "uVar16 < local_1b8 - uVar6" identifier < (binary_expression "local_1b8 - uVar6" identifier - identifier)) )) (compound_statement "{\n            uVar10 = uVar16;\n          }" { (expression_statement "uVar10 = uVar16;" (assignment_expression "uVar10 = uVar16" identifier = identifier) ;) })) (expression_statement "local_150 = local_1e0;" (assignment_expression "local_150 = local_1e0" identifier = identifier) ;) (expression_statement "FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);" (call_expression "FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0)" identifier (argument_list "(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0)" ( (field_expression "local_1cc._0_4_" identifier . field_identifier) , (binary_expression "local_1bc + uVar6" identifier + identifier) , (binary_expression "local_1bc + uVar6 + uVar10" (binary_expression "local_1bc + uVar6" identifier + identifier) + identifier) , number_literal ))) ;) (expression_statement "local_1dc = local_12c;" (assignment_expression "local_1dc = local_12c" identifier = identifier) ;) (expression_statement "local_1d0 = (undefined ***)&local_134;" (assignment_expression "local_1d0 = (undefined ***)&local_134" identifier = (cast_expression "(undefined ***)&local_134" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&local_134" & identifier))) ;) (expression_statement "local_134 = local_1dc;" (assignment_expression "local_134 = local_1dc" identifier = identifier) ;) (expression_statement "FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);" (call_expression "FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0)" identifier (argument_list "(local_1d0,local_150,local_150 + local_14c,0)" ( identifier , identifier , (binary_expression "local_150 + local_14c" identifier + identifier) , number_literal ))) ;) (expression_statement "local_11c = 1;" (assignment_expression "local_11c = 1" identifier = number_literal) ;) (if_statement "if (local_130 == 0) {\n                    \n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }" if (parenthesized_expression "(local_130 == 0)" ( (binary_expression "local_130 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }" { (expression_statement "FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);" (call_expression "FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1)" identifier (argument_list "(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1)" ( identifier , number_literal , number_literal , (binary_expression "(int)local_1c4 + -0x15ca25" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal ))) ;) })) (expression_statement "piVar7 = *(int **)(param_1 + 0x2188);" (assignment_expression "piVar7 = *(int **)(param_1 + 0x2188)" identifier = (pointer_expression "*(int **)(param_1 + 0x2188)" * (cast_expression "(int **)(param_1 + 0x2188)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x2188)" ( (binary_expression "param_1 + 0x2188" identifier + number_literal) ))))) ;) (if_statement "if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    \n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }" if (parenthesized_expression "(piVar7 == *(int **)(param_1 + 0x218c))" ( (binary_expression "piVar7 == *(int **)(param_1 + 0x218c)" identifier == (pointer_expression "*(int **)(param_1 + 0x218c)" * (cast_expression "(int **)(param_1 + 0x218c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x218c)" ( (binary_expression "param_1 + 0x218c" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }" { (expression_statement "FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);" (call_expression "FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0)" identifier (argument_list "(param_1 + 0x2184,piVar7,local_1d0)" ( (binary_expression "param_1 + 0x2184" identifier + number_literal) , identifier , identifier ))) ;) }) (else_clause "else {\n            *piVar7 = (int)(piVar7 + 2);\n                    \n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }" else (compound_statement "{\n            *piVar7 = (int)(piVar7 + 2);\n                    \n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }" { (expression_statement "*piVar7 = (int)(piVar7 + 2);" (assignment_expression "*piVar7 = (int)(piVar7 + 2)" (pointer_expression "*piVar7" * identifier) = (cast_expression "(int)(piVar7 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar7 + 2)" ( (binary_expression "piVar7 + 2" identifier + number_literal) )))) ;) (expression_statement "FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);" (call_expression "FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0)" identifier (argument_list "(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0)" ( identifier , identifier , (cast_expression "(undefined *)(local_130 + (int)local_134)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_130 + (int)local_134)" ( (binary_expression "local_130 + (int)local_134" identifier + (cast_expression "(int)local_134" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , number_literal ))) ;) (expression_statement "*(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;" (assignment_expression "*(undefined1 *)(piVar7 + 6) = (undefined1)local_11c" (pointer_expression "*(undefined1 *)(piVar7 + 6)" * (cast_expression "(undefined1 *)(piVar7 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar7 + 6)" ( (binary_expression "piVar7 + 6" identifier + number_literal) )))) = (cast_expression "(undefined1)local_11c" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "*(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;" (assignment_expression "*(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_" (pointer_expression "*(undefined1 *)((int)piVar7 + 0x19)" * (cast_expression "(undefined1 *)((int)piVar7 + 0x19)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar7 + 0x19)" ( (binary_expression "(int)piVar7 + 0x19" (cast_expression "(int)piVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "local_11c._1_1_" identifier . field_identifier)) ;) (expression_statement "*(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;" (assignment_expression "*(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2188)" * (cast_expression "(int *)(param_1 + 0x2188)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2188)" ( (binary_expression "param_1 + 0x2188" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x2188) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2188)" * (cast_expression "(int *)(param_1 + 0x2188)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2188)" ( (binary_expression "param_1 + 0x2188" identifier + number_literal) )))) + number_literal)) ;) }))) (if_statement "if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }" if (parenthesized_expression "(local_134 != local_1dc)" ( (binary_expression "local_134 != local_1dc" identifier != identifier) )) (compound_statement "{\n            FUN_003ae080(local_134);\n          }" { (expression_statement "FUN_003ae080(local_134);" (call_expression "FUN_003ae080(local_134)" identifier (argument_list "(local_134)" ( identifier ))) ;) })) (if_statement "if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }" if (parenthesized_expression "(local_150 != local_1e0)" ( (binary_expression "local_150 != local_1e0" identifier != identifier) )) (compound_statement "{\n            FUN_003ae080(local_150);\n          }" { (expression_statement "FUN_003ae080(local_150);" (call_expression "FUN_003ae080(local_150)" identifier (argument_list "(local_150)" ( identifier ))) ;) })) (if_statement "if (iVar14 == -1) break;" if (parenthesized_expression "(iVar14 == -1)" ( (binary_expression "iVar14 == -1" identifier == number_literal) )) (break_statement "break;" break ;)) })) (expression_statement "uVar6 = iVar14 + 1;" (assignment_expression "uVar6 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) }))) (expression_statement "ppuVar4 = local_1c4;" (assignment_expression "ppuVar4 = local_1c4" identifier = identifier) ;) (expression_statement "puVar17 = auStack_20c;" (assignment_expression "puVar17 = auStack_20c" identifier = identifier) ;) (expression_statement "puVar18 = auStack_20c;" (assignment_expression "puVar18 = auStack_20c" identifier = identifier) ;) (if_statement "if (*(int *)(param_1 + 0x3288) != 0) {\n    local_1e8 = local_a4;\n    local_1d0 = (undefined ***)&local_134;\n    FUN_003f2f70(local_1e8);\n    local_1fc = ppuVar4 + -0xa0e;\n    local_34 = 0;\n    local_2c = 0;\n    local_a4[0] = ppuVar4 + -0xa0c;\n    local_30 = 0;\n    local_28 = 0;\n    local_1f4 = (undefined ***)ppuVar4[-0x9d3];\n    local_1f8 = ppuVar4[-0x9d2];\n    local_24 = 0;\n    local_20 = 0;\n    local_134 = local_1f4;\n    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;\n    local_130 = 0;\n                    \n    FUN_003d8720((int)local_1f4[-3] + (int)&local_134,0);\n    local_200 = ppuVar4 + -0x9d0;\n    local_134 = (undefined ***)(ppuVar4 + -0x9cd);\n    local_a4[0] = ppuVar4 + -0x9c8;\n    local_1dc = local_12c;\n                    \n    FUN_003da940(local_12c);\n                    \n    FUN_003d8720(local_1e8,local_12c);\n                    \n    iVar14 = FUN_003dec20(local_12c,*(undefined4 *)(param_1 + 0x3288),8);\n    puVar15 = (undefined *)((int)local_1d0 + (int)local_134[-3]);\n    if (iVar14 == 0) {\n                    \n      FUN_003d7ed0(puVar15,*(uint *)(puVar15 + 0x14) | 4);\n    }\n    else {\n      FUN_003d7ed0(puVar15,0);\n    }\n    ppuVar4 = local_1c4;\n    if ((local_90 & 5) != 0) {\n      piVar7 = __errno_location();\n      pcVar12 = strerror(*piVar7);\n      uVar11 = *(undefined4 *)(param_1 + 0x3288);\n      uVar13 = gettext(local_1c4 + -0x5645f);\n                    \n                    \n      FUN_0023b7b0(uVar13,uVar11,pcVar12);\n    }\n    local_1e0 = local_148;\n    local_148[0] = 0;\n    local_14c = 0;\n    piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n    local_150 = local_1e0;\n    if (piVar7 == (int *)0x0) {\n                    \n                    \n      FUN_003f3900();\n    }\n    if ((char)piVar7[7] == '\0') {\n                    \n      FUN_003f3f90(piVar7);\n      iVar14 = 10;\n      if (*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4) {\n        cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);\n        iVar14 = (int)cVar5;\n      }\n    }\n    else {\n      iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n    }\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n                    \n    FUN_003aef80(local_1d0,&local_150,iVar14);\n    local_1d4 = (undefined1 **)(param_1 + 0x5a3c);\n    local_1e4 = local_1c0;\n    while ((local_90 & 5) == 0) {\n      if ((local_14c != 0) && (local_150[local_14c + -1] == '\r')) {\n        *(undefined4 *)(puVar17 + -8) = 0;\n        *(int *)(puVar17 + -0xc) = local_14c + -1;\n        *(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2c0187;\n        FUN_003b6a50();\n      }\n      *(undefined4 *)(puVar17 + -8) = 0xc70f6907;\n      *(int *)(puVar17 + -0xc) = local_14c;\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc8a;\n      uVar6 = FUN_003ac580();\n      local_1d8 = uVar6 % *(uint *)(param_1 + 0x5a40);\n      *(uint *)(puVar17 + -0x14) = uVar6;\n      *(undefined4 *)(puVar17 + -0x18) = local_1cc._0_4_;\n      *(uint *)(puVar17 + -0x1c) = local_1d8;\n      *(undefined1 ***)(puVar17 + -0x20) = local_1d4;\n      *(undefined4 *)(puVar17 + -0x24) = 0x2bfcb0;\n      piVar7 = (int *)FUN_0022ed10();\n      if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n        *(undefined4 *)(puVar17 + -0x10) = 0x20;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;\n        puVar8 = (undefined4 *)FUN_003ac4d0();\n        *puVar8 = 0;\n        puVar8[1] = puVar8 + 3;\n        *(undefined4 *)(puVar17 + -4) = 0;\n        *(undefined1 **)(puVar17 + -8) = local_150 + local_14c;\n        *(undefined1 **)(puVar17 + -0xc) = local_150;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;\n        FUN_0014fca0();\n        *(undefined4 *)(puVar17 + -0xc) = 1;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8;\n        *(uint *)(puVar17 + -0x14) = uVar6;\n        *(uint *)(puVar17 + -0x18) = local_1d8;\n        *(undefined1 ***)(puVar17 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar17 + -0x20) = local_1e4;\n                    \n        *(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;\n        FUN_002c4660();\n        puVar17 = puVar17 + -4;\n      }\n      ppuVar4 = local_1c4;\n      piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n      if (piVar7 == (int *)0x0) {\n                    \n                    \n        *(undefined4 *)(puVar17 + -4) = 0x2c0bff;\n        FUN_003f3900();\n      }\n      if ((char)piVar7[7] == '\0') {\n        *(int **)(puVar17 + -0x10) = piVar7;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;\n        FUN_003f3f90();\n        ppuVar2 = *(undefined ***)(*piVar7 + 0x18);\n        iVar14 = 10;\n        if (ppuVar2 != ppuVar4 + -0xdabd4) {\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }\n      }\n      else {\n        iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n      }\n      *(int *)(puVar17 + -8) = iVar14;\n      *(undefined4 *)(puVar17 + -0xc) = local_1cc._0_4_;\n      *(undefined ****)(puVar17 + -0x10) = local_1d0;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc47;\n      FUN_003aef80();\n    }\n    if (local_150 != local_1e0) {\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfe3f;\n      FUN_003ae080();\n    }\n    ppuVar4 = local_1c4;\n    *(undefined ****)(puVar17 + -0x10) = local_1dc;\n    local_134 = (undefined ***)(local_200 + 3);\n    local_a4[0] = local_200 + 8;\n    local_12c[0] = local_1c4 + -0x9ec;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe7f;\n    FUN_003de160();\n    *(undefined1 **)(puVar17 + -0x10) = local_f4;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe8d;\n    FUN_003ae8c0();\n    local_12c[0] = ppuVar4 + -0xbd1;\n    *(undefined1 **)(puVar17 + -0x10) = local_110;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeaa;\n    FUN_003b07e0();\n    local_134 = local_1f4;\n    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;\n    local_130 = 0;\n    local_a4[0] = local_1fc + 2;\n    *(undefined ****)(puVar17 + -0x10) = local_1e8;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeeb;\n    FUN_003f3310();\n    puVar18 = puVar17;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x3288) != 0)" ( (binary_expression "*(int *)(param_1 + 0x3288) != 0" (pointer_expression "*(int *)(param_1 + 0x3288)" * (cast_expression "(int *)(param_1 + 0x3288)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3288)" ( (binary_expression "param_1 + 0x3288" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    local_1e8 = local_a4;\n    local_1d0 = (undefined ***)&local_134;\n    FUN_003f2f70(local_1e8);\n    local_1fc = ppuVar4 + -0xa0e;\n    local_34 = 0;\n    local_2c = 0;\n    local_a4[0] = ppuVar4 + -0xa0c;\n    local_30 = 0;\n    local_28 = 0;\n    local_1f4 = (undefined ***)ppuVar4[-0x9d3];\n    local_1f8 = ppuVar4[-0x9d2];\n    local_24 = 0;\n    local_20 = 0;\n    local_134 = local_1f4;\n    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;\n    local_130 = 0;\n                    \n    FUN_003d8720((int)local_1f4[-3] + (int)&local_134,0);\n    local_200 = ppuVar4 + -0x9d0;\n    local_134 = (undefined ***)(ppuVar4 + -0x9cd);\n    local_a4[0] = ppuVar4 + -0x9c8;\n    local_1dc = local_12c;\n                    \n    FUN_003da940(local_12c);\n                    \n    FUN_003d8720(local_1e8,local_12c);\n                    \n    iVar14 = FUN_003dec20(local_12c,*(undefined4 *)(param_1 + 0x3288),8);\n    puVar15 = (undefined *)((int)local_1d0 + (int)local_134[-3]);\n    if (iVar14 == 0) {\n                    \n      FUN_003d7ed0(puVar15,*(uint *)(puVar15 + 0x14) | 4);\n    }\n    else {\n      FUN_003d7ed0(puVar15,0);\n    }\n    ppuVar4 = local_1c4;\n    if ((local_90 & 5) != 0) {\n      piVar7 = __errno_location();\n      pcVar12 = strerror(*piVar7);\n      uVar11 = *(undefined4 *)(param_1 + 0x3288);\n      uVar13 = gettext(local_1c4 + -0x5645f);\n                    \n                    \n      FUN_0023b7b0(uVar13,uVar11,pcVar12);\n    }\n    local_1e0 = local_148;\n    local_148[0] = 0;\n    local_14c = 0;\n    piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n    local_150 = local_1e0;\n    if (piVar7 == (int *)0x0) {\n                    \n                    \n      FUN_003f3900();\n    }\n    if ((char)piVar7[7] == '\0') {\n                    \n      FUN_003f3f90(piVar7);\n      iVar14 = 10;\n      if (*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4) {\n        cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);\n        iVar14 = (int)cVar5;\n      }\n    }\n    else {\n      iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n    }\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n                    \n    FUN_003aef80(local_1d0,&local_150,iVar14);\n    local_1d4 = (undefined1 **)(param_1 + 0x5a3c);\n    local_1e4 = local_1c0;\n    while ((local_90 & 5) == 0) {\n      if ((local_14c != 0) && (local_150[local_14c + -1] == '\r')) {\n        *(undefined4 *)(puVar17 + -8) = 0;\n        *(int *)(puVar17 + -0xc) = local_14c + -1;\n        *(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2c0187;\n        FUN_003b6a50();\n      }\n      *(undefined4 *)(puVar17 + -8) = 0xc70f6907;\n      *(int *)(puVar17 + -0xc) = local_14c;\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc8a;\n      uVar6 = FUN_003ac580();\n      local_1d8 = uVar6 % *(uint *)(param_1 + 0x5a40);\n      *(uint *)(puVar17 + -0x14) = uVar6;\n      *(undefined4 *)(puVar17 + -0x18) = local_1cc._0_4_;\n      *(uint *)(puVar17 + -0x1c) = local_1d8;\n      *(undefined1 ***)(puVar17 + -0x20) = local_1d4;\n      *(undefined4 *)(puVar17 + -0x24) = 0x2bfcb0;\n      piVar7 = (int *)FUN_0022ed10();\n      if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n        *(undefined4 *)(puVar17 + -0x10) = 0x20;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;\n        puVar8 = (undefined4 *)FUN_003ac4d0();\n        *puVar8 = 0;\n        puVar8[1] = puVar8 + 3;\n        *(undefined4 *)(puVar17 + -4) = 0;\n        *(undefined1 **)(puVar17 + -8) = local_150 + local_14c;\n        *(undefined1 **)(puVar17 + -0xc) = local_150;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;\n        FUN_0014fca0();\n        *(undefined4 *)(puVar17 + -0xc) = 1;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8;\n        *(uint *)(puVar17 + -0x14) = uVar6;\n        *(uint *)(puVar17 + -0x18) = local_1d8;\n        *(undefined1 ***)(puVar17 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar17 + -0x20) = local_1e4;\n                    \n        *(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;\n        FUN_002c4660();\n        puVar17 = puVar17 + -4;\n      }\n      ppuVar4 = local_1c4;\n      piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n      if (piVar7 == (int *)0x0) {\n                    \n                    \n        *(undefined4 *)(puVar17 + -4) = 0x2c0bff;\n        FUN_003f3900();\n      }\n      if ((char)piVar7[7] == '\0') {\n        *(int **)(puVar17 + -0x10) = piVar7;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;\n        FUN_003f3f90();\n        ppuVar2 = *(undefined ***)(*piVar7 + 0x18);\n        iVar14 = 10;\n        if (ppuVar2 != ppuVar4 + -0xdabd4) {\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }\n      }\n      else {\n        iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n      }\n      *(int *)(puVar17 + -8) = iVar14;\n      *(undefined4 *)(puVar17 + -0xc) = local_1cc._0_4_;\n      *(undefined ****)(puVar17 + -0x10) = local_1d0;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc47;\n      FUN_003aef80();\n    }\n    if (local_150 != local_1e0) {\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfe3f;\n      FUN_003ae080();\n    }\n    ppuVar4 = local_1c4;\n    *(undefined ****)(puVar17 + -0x10) = local_1dc;\n    local_134 = (undefined ***)(local_200 + 3);\n    local_a4[0] = local_200 + 8;\n    local_12c[0] = local_1c4 + -0x9ec;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe7f;\n    FUN_003de160();\n    *(undefined1 **)(puVar17 + -0x10) = local_f4;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe8d;\n    FUN_003ae8c0();\n    local_12c[0] = ppuVar4 + -0xbd1;\n    *(undefined1 **)(puVar17 + -0x10) = local_110;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeaa;\n    FUN_003b07e0();\n    local_134 = local_1f4;\n    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;\n    local_130 = 0;\n    local_a4[0] = local_1fc + 2;\n    *(undefined ****)(puVar17 + -0x10) = local_1e8;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeeb;\n    FUN_003f3310();\n    puVar18 = puVar17;\n  }" { (expression_statement "local_1e8 = local_a4;" (assignment_expression "local_1e8 = local_a4" identifier = identifier) ;) (expression_statement "local_1d0 = (undefined ***)&local_134;" (assignment_expression "local_1d0 = (undefined ***)&local_134" identifier = (cast_expression "(undefined ***)&local_134" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&local_134" & identifier))) ;) (expression_statement "FUN_003f2f70(local_1e8);" (call_expression "FUN_003f2f70(local_1e8)" identifier (argument_list "(local_1e8)" ( identifier ))) ;) (expression_statement "local_1fc = ppuVar4 + -0xa0e;" (assignment_expression "local_1fc = ppuVar4 + -0xa0e" identifier = (binary_expression "ppuVar4 + -0xa0e" identifier + number_literal)) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" identifier = number_literal) ;) (expression_statement "local_a4[0] = ppuVar4 + -0xa0c;" (assignment_expression "local_a4[0] = ppuVar4 + -0xa0c" (subscript_expression "local_a4[0]" identifier [ number_literal ]) = (binary_expression "ppuVar4 + -0xa0c" identifier + number_literal)) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_1f4 = (undefined ***)ppuVar4[-0x9d3];" (assignment_expression "local_1f4 = (undefined ***)ppuVar4[-0x9d3]" identifier = (cast_expression "(undefined ***)ppuVar4[-0x9d3]" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "ppuVar4[-0x9d3]" identifier [ number_literal ]))) ;) (expression_statement "local_1f8 = ppuVar4[-0x9d2];" (assignment_expression "local_1f8 = ppuVar4[-0x9d2]" identifier = (subscript_expression "ppuVar4[-0x9d2]" identifier [ number_literal ])) ;) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" identifier = number_literal) ;) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" identifier = number_literal) ;) (expression_statement "local_134 = local_1f4;" (assignment_expression "local_134 = local_1f4" identifier = identifier) ;) (expression_statement "*(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;" (assignment_expression "*(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8" (pointer_expression "*(undefined **)((int)&local_134 + (int)local_1f4[-3])" * (cast_expression "(undefined **)((int)&local_134 + (int)local_1f4[-3])" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&local_134 + (int)local_1f4[-3])" ( (binary_expression "(int)&local_134 + (int)local_1f4[-3]" (cast_expression "(int)&local_134" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_134" & identifier)) + (cast_expression "(int)local_1f4[-3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_1f4[-3]" identifier [ number_literal ]))) )))) = identifier) ;) (expression_statement "local_130 = 0;" (assignment_expression "local_130 = 0" identifier = number_literal) ;) (expression_statement "FUN_003d8720((int)local_1f4[-3] + (int)&local_134,0);" (call_expression "FUN_003d8720((int)local_1f4[-3] + (int)&local_134,0)" identifier (argument_list "((int)local_1f4[-3] + (int)&local_134,0)" ( (binary_expression "(int)local_1f4[-3] + (int)&local_134" (cast_expression "(int)local_1f4[-3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_1f4[-3]" identifier [ number_literal ])) + (cast_expression "(int)&local_134" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_134" & identifier))) , number_literal ))) ;) (expression_statement "local_200 = ppuVar4 + -0x9d0;" (assignment_expression "local_200 = ppuVar4 + -0x9d0" identifier = (binary_expression "ppuVar4 + -0x9d0" identifier + number_literal)) ;) (expression_statement "local_134 = (undefined ***)(ppuVar4 + -0x9cd);" (assignment_expression "local_134 = (undefined ***)(ppuVar4 + -0x9cd)" identifier = (cast_expression "(undefined ***)(ppuVar4 + -0x9cd)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(ppuVar4 + -0x9cd)" ( (binary_expression "ppuVar4 + -0x9cd" identifier + number_literal) )))) ;) (expression_statement "local_a4[0] = ppuVar4 + -0x9c8;" (assignment_expression "local_a4[0] = ppuVar4 + -0x9c8" (subscript_expression "local_a4[0]" identifier [ number_literal ]) = (binary_expression "ppuVar4 + -0x9c8" identifier + number_literal)) ;) (expression_statement "local_1dc = local_12c;" (assignment_expression "local_1dc = local_12c" identifier = identifier) ;) (expression_statement "FUN_003da940(local_12c);" (call_expression "FUN_003da940(local_12c)" identifier (argument_list "(local_12c)" ( identifier ))) ;) (expression_statement "FUN_003d8720(local_1e8,local_12c);" (call_expression "FUN_003d8720(local_1e8,local_12c)" identifier (argument_list "(local_1e8,local_12c)" ( identifier , identifier ))) ;) (expression_statement "iVar14 = FUN_003dec20(local_12c,*(undefined4 *)(param_1 + 0x3288),8);" (assignment_expression "iVar14 = FUN_003dec20(local_12c,*(undefined4 *)(param_1 + 0x3288),8)" identifier = (call_expression "FUN_003dec20(local_12c,*(undefined4 *)(param_1 + 0x3288),8)" identifier (argument_list "(local_12c,*(undefined4 *)(param_1 + 0x3288),8)" ( identifier , (pointer_expression "*(undefined4 *)(param_1 + 0x3288)" * (cast_expression "(undefined4 *)(param_1 + 0x3288)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3288)" ( (binary_expression "param_1 + 0x3288" identifier + number_literal) )))) , number_literal )))) ;) (expression_statement "puVar15 = (undefined *)((int)local_1d0 + (int)local_134[-3]);" (assignment_expression "puVar15 = (undefined *)((int)local_1d0 + (int)local_134[-3])" identifier = (cast_expression "(undefined *)((int)local_1d0 + (int)local_134[-3])" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_1d0 + (int)local_134[-3])" ( (binary_expression "(int)local_1d0 + (int)local_134[-3]" (cast_expression "(int)local_1d0" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_134[-3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_134[-3]" identifier [ number_literal ]))) )))) ;) (if_statement "if (iVar14 == 0) {\n                    \n      FUN_003d7ed0(puVar15,*(uint *)(puVar15 + 0x14) | 4);\n    }\n    else {\n      FUN_003d7ed0(puVar15,0);\n    }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n      FUN_003d7ed0(puVar15,*(uint *)(puVar15 + 0x14) | 4);\n    }" { (expression_statement "FUN_003d7ed0(puVar15,*(uint *)(puVar15 + 0x14) | 4);" (call_expression "FUN_003d7ed0(puVar15,*(uint *)(puVar15 + 0x14) | 4)" identifier (argument_list "(puVar15,*(uint *)(puVar15 + 0x14) | 4)" ( identifier , (binary_expression "*(uint *)(puVar15 + 0x14) | 4" (pointer_expression "*(uint *)(puVar15 + 0x14)" * (cast_expression "(uint *)(puVar15 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x14)" ( (binary_expression "puVar15 + 0x14" identifier + number_literal) )))) | number_literal) ))) ;) }) (else_clause "else {\n      FUN_003d7ed0(puVar15,0);\n    }" else (compound_statement "{\n      FUN_003d7ed0(puVar15,0);\n    }" { (expression_statement "FUN_003d7ed0(puVar15,0);" (call_expression "FUN_003d7ed0(puVar15,0)" identifier (argument_list "(puVar15,0)" ( identifier , number_literal ))) ;) }))) (expression_statement "ppuVar4 = local_1c4;" (assignment_expression "ppuVar4 = local_1c4" identifier = identifier) ;) (if_statement "if ((local_90 & 5) != 0) {\n      piVar7 = __errno_location();\n      pcVar12 = strerror(*piVar7);\n      uVar11 = *(undefined4 *)(param_1 + 0x3288);\n      uVar13 = gettext(local_1c4 + -0x5645f);\n                    \n                    \n      FUN_0023b7b0(uVar13,uVar11,pcVar12);\n    }" if (parenthesized_expression "((local_90 & 5) != 0)" ( (binary_expression "(local_90 & 5) != 0" (parenthesized_expression "(local_90 & 5)" ( (binary_expression "local_90 & 5" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      piVar7 = __errno_location();\n      pcVar12 = strerror(*piVar7);\n      uVar11 = *(undefined4 *)(param_1 + 0x3288);\n      uVar13 = gettext(local_1c4 + -0x5645f);\n                    \n                    \n      FUN_0023b7b0(uVar13,uVar11,pcVar12);\n    }" { (expression_statement "piVar7 = __errno_location();" (assignment_expression "piVar7 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar12 = strerror(*piVar7);" (assignment_expression "pcVar12 = strerror(*piVar7)" identifier = (call_expression "strerror(*piVar7)" identifier (argument_list "(*piVar7)" ( (pointer_expression "*piVar7" * identifier) )))) ;) (expression_statement "uVar11 = *(undefined4 *)(param_1 + 0x3288);" (assignment_expression "uVar11 = *(undefined4 *)(param_1 + 0x3288)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x3288)" * (cast_expression "(undefined4 *)(param_1 + 0x3288)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3288)" ( (binary_expression "param_1 + 0x3288" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = gettext(local_1c4 + -0x5645f);" (assignment_expression "uVar13 = gettext(local_1c4 + -0x5645f)" identifier = (call_expression "gettext(local_1c4 + -0x5645f)" identifier (argument_list "(local_1c4 + -0x5645f)" ( (binary_expression "local_1c4 + -0x5645f" identifier + number_literal) )))) ;) (expression_statement "FUN_0023b7b0(uVar13,uVar11,pcVar12);" (call_expression "FUN_0023b7b0(uVar13,uVar11,pcVar12)" identifier (argument_list "(uVar13,uVar11,pcVar12)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "local_1e0 = local_148;" (assignment_expression "local_1e0 = local_148" identifier = identifier) ;) (expression_statement "local_148[0] = 0;" (assignment_expression "local_148[0] = 0" (subscript_expression "local_148[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_14c = 0;" (assignment_expression "local_14c = 0" identifier = number_literal) ;) (expression_statement "piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);" (assignment_expression "piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3])" identifier = (pointer_expression "*(int **)((int)aiStack_b8 + (int)local_134[-3])" * (cast_expression "(int **)((int)aiStack_b8 + (int)local_134[-3])" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)aiStack_b8 + (int)local_134[-3])" ( (binary_expression "(int)aiStack_b8 + (int)local_134[-3]" (cast_expression "(int)aiStack_b8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_134[-3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_134[-3]" identifier [ number_literal ]))) ))))) ;) (expression_statement "local_150 = local_1e0;" (assignment_expression "local_150 = local_1e0" identifier = identifier) ;) (if_statement "if (piVar7 == (int *)0x0) {\n                    \n                    \n      FUN_003f3900();\n    }" if (parenthesized_expression "(piVar7 == (int *)0x0)" ( (binary_expression "piVar7 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n                    \n      FUN_003f3900();\n    }" { (expression_statement "FUN_003f3900();" (call_expression "FUN_003f3900()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((char)piVar7[7] == '\0') {\n                    \n      FUN_003f3f90(piVar7);\n      iVar14 = 10;\n      if (*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4) {\n        cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);\n        iVar14 = (int)cVar5;\n      }\n    }\n    else {\n      iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n    }" if (parenthesized_expression "((char)piVar7[7] == '\0')" ( (binary_expression "(char)piVar7[7] == '\0'" (cast_expression "(char)piVar7[7]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar7[7]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    \n      FUN_003f3f90(piVar7);\n      iVar14 = 10;\n      if (*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4) {\n        cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);\n        iVar14 = (int)cVar5;\n      }\n    }" { (expression_statement "FUN_003f3f90(piVar7);" (call_expression "FUN_003f3f90(piVar7)" identifier (argument_list "(piVar7)" ( identifier ))) ;) (expression_statement "iVar14 = 10;" (assignment_expression "iVar14 = 10" identifier = number_literal) ;) (if_statement "if (*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4) {\n        cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);\n        iVar14 = (int)cVar5;\n      }" if (parenthesized_expression "(*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4)" ( (binary_expression "*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4" (pointer_expression "*(undefined ***)(*piVar7 + 0x18)" * (cast_expression "(undefined ***)(*piVar7 + 0x18)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar7 + 0x18)" ( (binary_expression "*piVar7 + 0x18" (pointer_expression "*piVar7" * identifier) + number_literal) )))) != (binary_expression "ppuVar4 + -0xdabd4" identifier + number_literal)) )) (compound_statement "{\n        cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);\n        iVar14 = (int)cVar5;\n      }" { (expression_statement "cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);" (assignment_expression "cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10)" identifier = (call_expression "(*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10)" (parenthesized_expression "(*(code *)*(undefined ***)(*piVar7 + 0x18))" ( (pointer_expression "*(code *)*(undefined ***)(*piVar7 + 0x18)" * (cast_expression "(code *)*(undefined ***)(*piVar7 + 0x18)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*(undefined ***)(*piVar7 + 0x18)" * (cast_expression "(undefined ***)(*piVar7 + 0x18)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar7 + 0x18)" ( (binary_expression "*piVar7 + 0x18" (pointer_expression "*piVar7" * identifier) + number_literal) )))))) )) (argument_list "(piVar7,10)" ( identifier , number_literal )))) ;) (expression_statement "iVar14 = (int)cVar5;" (assignment_expression "iVar14 = (int)cVar5" identifier = (cast_expression "(int)cVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) }) (else_clause "else {\n      iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n    }" else (compound_statement "{\n      iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n    }" { (expression_statement "iVar14 = (int)*(char *)((int)piVar7 + 0x27);" (assignment_expression "iVar14 = (int)*(char *)((int)piVar7 + 0x27)" identifier = (cast_expression "(int)*(char *)((int)piVar7 + 0x27)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)((int)piVar7 + 0x27)" * (cast_expression "(char *)((int)piVar7 + 0x27)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar7 + 0x27)" ( (binary_expression "(int)piVar7 + 0x27" (cast_expression "(int)piVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) ;) }))) (expression_statement "local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);" (assignment_expression "local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150)" identifier = (cast_expression "(double)CONCAT44(local_1cc._4_4_,&local_150)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(local_1cc._4_4_,&local_150)" identifier (argument_list "(local_1cc._4_4_,&local_150)" ( (field_expression "local_1cc._4_4_" identifier . field_identifier) , (pointer_expression "&local_150" & identifier) ))))) ;) (expression_statement "FUN_003aef80(local_1d0,&local_150,iVar14);" (call_expression "FUN_003aef80(local_1d0,&local_150,iVar14)" identifier (argument_list "(local_1d0,&local_150,iVar14)" ( identifier , (pointer_expression "&local_150" & identifier) , identifier ))) ;) (expression_statement "local_1d4 = (undefined1 **)(param_1 + 0x5a3c);" (assignment_expression "local_1d4 = (undefined1 **)(param_1 + 0x5a3c)" identifier = (cast_expression "(undefined1 **)(param_1 + 0x5a3c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x5a3c)" ( (binary_expression "param_1 + 0x5a3c" identifier + number_literal) )))) ;) (expression_statement "local_1e4 = local_1c0;" (assignment_expression "local_1e4 = local_1c0" identifier = identifier) ;) (while_statement "while ((local_90 & 5) == 0) {\n      if ((local_14c != 0) && (local_150[local_14c + -1] == '\r')) {\n        *(undefined4 *)(puVar17 + -8) = 0;\n        *(int *)(puVar17 + -0xc) = local_14c + -1;\n        *(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2c0187;\n        FUN_003b6a50();\n      }\n      *(undefined4 *)(puVar17 + -8) = 0xc70f6907;\n      *(int *)(puVar17 + -0xc) = local_14c;\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc8a;\n      uVar6 = FUN_003ac580();\n      local_1d8 = uVar6 % *(uint *)(param_1 + 0x5a40);\n      *(uint *)(puVar17 + -0x14) = uVar6;\n      *(undefined4 *)(puVar17 + -0x18) = local_1cc._0_4_;\n      *(uint *)(puVar17 + -0x1c) = local_1d8;\n      *(undefined1 ***)(puVar17 + -0x20) = local_1d4;\n      *(undefined4 *)(puVar17 + -0x24) = 0x2bfcb0;\n      piVar7 = (int *)FUN_0022ed10();\n      if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n        *(undefined4 *)(puVar17 + -0x10) = 0x20;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;\n        puVar8 = (undefined4 *)FUN_003ac4d0();\n        *puVar8 = 0;\n        puVar8[1] = puVar8 + 3;\n        *(undefined4 *)(puVar17 + -4) = 0;\n        *(undefined1 **)(puVar17 + -8) = local_150 + local_14c;\n        *(undefined1 **)(puVar17 + -0xc) = local_150;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;\n        FUN_0014fca0();\n        *(undefined4 *)(puVar17 + -0xc) = 1;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8;\n        *(uint *)(puVar17 + -0x14) = uVar6;\n        *(uint *)(puVar17 + -0x18) = local_1d8;\n        *(undefined1 ***)(puVar17 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar17 + -0x20) = local_1e4;\n                    \n        *(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;\n        FUN_002c4660();\n        puVar17 = puVar17 + -4;\n      }\n      ppuVar4 = local_1c4;\n      piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n      if (piVar7 == (int *)0x0) {\n                    \n                    \n        *(undefined4 *)(puVar17 + -4) = 0x2c0bff;\n        FUN_003f3900();\n      }\n      if ((char)piVar7[7] == '\0') {\n        *(int **)(puVar17 + -0x10) = piVar7;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;\n        FUN_003f3f90();\n        ppuVar2 = *(undefined ***)(*piVar7 + 0x18);\n        iVar14 = 10;\n        if (ppuVar2 != ppuVar4 + -0xdabd4) {\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }\n      }\n      else {\n        iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n      }\n      *(int *)(puVar17 + -8) = iVar14;\n      *(undefined4 *)(puVar17 + -0xc) = local_1cc._0_4_;\n      *(undefined ****)(puVar17 + -0x10) = local_1d0;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc47;\n      FUN_003aef80();\n    }" while (parenthesized_expression "((local_90 & 5) == 0)" ( (binary_expression "(local_90 & 5) == 0" (parenthesized_expression "(local_90 & 5)" ( (binary_expression "local_90 & 5" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((local_14c != 0) && (local_150[local_14c + -1] == '\r')) {\n        *(undefined4 *)(puVar17 + -8) = 0;\n        *(int *)(puVar17 + -0xc) = local_14c + -1;\n        *(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2c0187;\n        FUN_003b6a50();\n      }\n      *(undefined4 *)(puVar17 + -8) = 0xc70f6907;\n      *(int *)(puVar17 + -0xc) = local_14c;\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc8a;\n      uVar6 = FUN_003ac580();\n      local_1d8 = uVar6 % *(uint *)(param_1 + 0x5a40);\n      *(uint *)(puVar17 + -0x14) = uVar6;\n      *(undefined4 *)(puVar17 + -0x18) = local_1cc._0_4_;\n      *(uint *)(puVar17 + -0x1c) = local_1d8;\n      *(undefined1 ***)(puVar17 + -0x20) = local_1d4;\n      *(undefined4 *)(puVar17 + -0x24) = 0x2bfcb0;\n      piVar7 = (int *)FUN_0022ed10();\n      if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n        *(undefined4 *)(puVar17 + -0x10) = 0x20;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;\n        puVar8 = (undefined4 *)FUN_003ac4d0();\n        *puVar8 = 0;\n        puVar8[1] = puVar8 + 3;\n        *(undefined4 *)(puVar17 + -4) = 0;\n        *(undefined1 **)(puVar17 + -8) = local_150 + local_14c;\n        *(undefined1 **)(puVar17 + -0xc) = local_150;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;\n        FUN_0014fca0();\n        *(undefined4 *)(puVar17 + -0xc) = 1;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8;\n        *(uint *)(puVar17 + -0x14) = uVar6;\n        *(uint *)(puVar17 + -0x18) = local_1d8;\n        *(undefined1 ***)(puVar17 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar17 + -0x20) = local_1e4;\n                    \n        *(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;\n        FUN_002c4660();\n        puVar17 = puVar17 + -4;\n      }\n      ppuVar4 = local_1c4;\n      piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n      if (piVar7 == (int *)0x0) {\n                    \n                    \n        *(undefined4 *)(puVar17 + -4) = 0x2c0bff;\n        FUN_003f3900();\n      }\n      if ((char)piVar7[7] == '\0') {\n        *(int **)(puVar17 + -0x10) = piVar7;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;\n        FUN_003f3f90();\n        ppuVar2 = *(undefined ***)(*piVar7 + 0x18);\n        iVar14 = 10;\n        if (ppuVar2 != ppuVar4 + -0xdabd4) {\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }\n      }\n      else {\n        iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n      }\n      *(int *)(puVar17 + -8) = iVar14;\n      *(undefined4 *)(puVar17 + -0xc) = local_1cc._0_4_;\n      *(undefined ****)(puVar17 + -0x10) = local_1d0;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc47;\n      FUN_003aef80();\n    }" { (if_statement "if ((local_14c != 0) && (local_150[local_14c + -1] == '\r')) {\n        *(undefined4 *)(puVar17 + -8) = 0;\n        *(int *)(puVar17 + -0xc) = local_14c + -1;\n        *(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2c0187;\n        FUN_003b6a50();\n      }" if (parenthesized_expression "((local_14c != 0) && (local_150[local_14c + -1] == '\r'))" ( (binary_expression "(local_14c != 0) && (local_150[local_14c + -1] == '\r')" (parenthesized_expression "(local_14c != 0)" ( (binary_expression "local_14c != 0" identifier != number_literal) )) && (parenthesized_expression "(local_150[local_14c + -1] == '\r')" ( (binary_expression "local_150[local_14c + -1] == '\r'" (subscript_expression "local_150[local_14c + -1]" identifier [ (binary_expression "local_14c + -1" identifier + number_literal) ]) == (char_literal "'\r'" ' escape_sequence ')) ))) )) (compound_statement "{\n        *(undefined4 *)(puVar17 + -8) = 0;\n        *(int *)(puVar17 + -0xc) = local_14c + -1;\n        *(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2c0187;\n        FUN_003b6a50();\n      }" { (expression_statement "*(undefined4 *)(puVar17 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0xc) = local_14c + -1;" (assignment_expression "*(int *)(puVar17 + -0xc) = local_14c + -1" (pointer_expression "*(int *)(puVar17 + -0xc)" * (cast_expression "(int *)(puVar17 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (binary_expression "local_14c + -1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (field_expression "local_1cc._0_4_" identifier . field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2c0187;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2c0187" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003b6a50();" (call_expression "FUN_003b6a50()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined4 *)(puVar17 + -8) = 0xc70f6907;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 0xc70f6907" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0xc) = local_14c;" (assignment_expression "*(int *)(puVar17 + -0xc) = local_14c" (pointer_expression "*(int *)(puVar17 + -0xc)" * (cast_expression "(int *)(puVar17 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar17 + -0x10) = local_150;" (assignment_expression "*(undefined1 **)(puVar17 + -0x10) = local_150" (pointer_expression "*(undefined1 **)(puVar17 + -0x10)" * (cast_expression "(undefined1 **)(puVar17 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfc8a;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfc8a" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar6 = FUN_003ac580();" (assignment_expression "uVar6 = FUN_003ac580()" identifier = (call_expression "FUN_003ac580()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_1d8 = uVar6 % *(uint *)(param_1 + 0x5a40);" (assignment_expression "local_1d8 = uVar6 % *(uint *)(param_1 + 0x5a40)" identifier = (binary_expression "uVar6 % *(uint *)(param_1 + 0x5a40)" identifier % (pointer_expression "*(uint *)(param_1 + 0x5a40)" * (cast_expression "(uint *)(param_1 + 0x5a40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5a40)" ( (binary_expression "param_1 + 0x5a40" identifier + number_literal) )))))) ;) (expression_statement "*(uint *)(puVar17 + -0x14) = uVar6;" (assignment_expression "*(uint *)(puVar17 + -0x14) = uVar6" (pointer_expression "*(uint *)(puVar17 + -0x14)" * (cast_expression "(uint *)(puVar17 + -0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = local_1cc._0_4_;" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = local_1cc._0_4_" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" * (cast_expression "(undefined4 *)(puVar17 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = (field_expression "local_1cc._0_4_" identifier . field_identifier)) ;) (expression_statement "*(uint *)(puVar17 + -0x1c) = local_1d8;" (assignment_expression "*(uint *)(puVar17 + -0x1c) = local_1d8" (pointer_expression "*(uint *)(puVar17 + -0x1c)" * (cast_expression "(uint *)(puVar17 + -0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x1c)" ( (binary_expression "puVar17 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 ***)(puVar17 + -0x20) = local_1d4;" (assignment_expression "*(undefined1 ***)(puVar17 + -0x20) = local_1d4" (pointer_expression "*(undefined1 ***)(puVar17 + -0x20)" * (cast_expression "(undefined1 ***)(puVar17 + -0x20)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x20)" ( (binary_expression "puVar17 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x24) = 0x2bfcb0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x2bfcb0" (pointer_expression "*(undefined4 *)(puVar17 + -0x24)" * (cast_expression "(undefined4 *)(puVar17 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x24)" ( (binary_expression "puVar17 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar7 = (int *)FUN_0022ed10();" (assignment_expression "piVar7 = (int *)FUN_0022ed10()" identifier = (cast_expression "(int *)FUN_0022ed10()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0022ed10()" identifier (argument_list "()" ( ))))) ;) (if_statement "if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n        *(undefined4 *)(puVar17 + -0x10) = 0x20;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;\n        puVar8 = (undefined4 *)FUN_003ac4d0();\n        *puVar8 = 0;\n        puVar8[1] = puVar8 + 3;\n        *(undefined4 *)(puVar17 + -4) = 0;\n        *(undefined1 **)(puVar17 + -8) = local_150 + local_14c;\n        *(undefined1 **)(puVar17 + -0xc) = local_150;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;\n        FUN_0014fca0();\n        *(undefined4 *)(puVar17 + -0xc) = 1;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8;\n        *(uint *)(puVar17 + -0x14) = uVar6;\n        *(uint *)(puVar17 + -0x18) = local_1d8;\n        *(undefined1 ***)(puVar17 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar17 + -0x20) = local_1e4;\n                    \n        *(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;\n        FUN_002c4660();\n        puVar17 = puVar17 + -4;\n      }" if (parenthesized_expression "((piVar7 == (int *)0x0) || (*piVar7 == 0))" ( (binary_expression "(piVar7 == (int *)0x0) || (*piVar7 == 0)" (parenthesized_expression "(piVar7 == (int *)0x0)" ( (binary_expression "piVar7 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*piVar7 == 0)" ( (binary_expression "*piVar7 == 0" (pointer_expression "*piVar7" * identifier) == number_literal) ))) )) (compound_statement "{\n        *(undefined4 *)(puVar17 + -0x10) = 0x20;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;\n        puVar8 = (undefined4 *)FUN_003ac4d0();\n        *puVar8 = 0;\n        puVar8[1] = puVar8 + 3;\n        *(undefined4 *)(puVar17 + -4) = 0;\n        *(undefined1 **)(puVar17 + -8) = local_150 + local_14c;\n        *(undefined1 **)(puVar17 + -0xc) = local_150;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;\n        FUN_0014fca0();\n        *(undefined4 *)(puVar17 + -0xc) = 1;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8;\n        *(uint *)(puVar17 + -0x14) = uVar6;\n        *(uint *)(puVar17 + -0x18) = local_1d8;\n        *(undefined1 ***)(puVar17 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar17 + -0x20) = local_1e4;\n                    \n        *(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;\n        FUN_002c4660();\n        puVar17 = puVar17 + -4;\n      }" { (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0x20;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0x20" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar8 = (undefined4 *)FUN_003ac4d0();" (assignment_expression "puVar8 = (undefined4 *)FUN_003ac4d0()" identifier = (cast_expression "(undefined4 *)FUN_003ac4d0()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*puVar8 = 0;" (assignment_expression "*puVar8 = 0" (pointer_expression "*puVar8" * identifier) = number_literal) ;) (expression_statement "puVar8[1] = puVar8 + 3;" (assignment_expression "puVar8[1] = puVar8 + 3" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = (binary_expression "puVar8 + 3" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -4)" * (cast_expression "(undefined4 *)(puVar17 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar17 + -8) = local_150 + local_14c;" (assignment_expression "*(undefined1 **)(puVar17 + -8) = local_150 + local_14c" (pointer_expression "*(undefined1 **)(puVar17 + -8)" * (cast_expression "(undefined1 **)(puVar17 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_150 + local_14c" identifier + identifier)) ;) (expression_statement "*(undefined1 **)(puVar17 + -0xc) = local_150;" (assignment_expression "*(undefined1 **)(puVar17 + -0xc) = local_150" (pointer_expression "*(undefined1 **)(puVar17 + -0xc)" * (cast_expression "(undefined1 **)(puVar17 + -0xc)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;" (assignment_expression "*(undefined4 **)(puVar17 + -0x10) = puVar8 + 1" (pointer_expression "*(undefined4 **)(puVar17 + -0x10)" * (cast_expression "(undefined4 **)(puVar17 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "puVar8 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0014fca0();" (call_expression "FUN_0014fca0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 **)(puVar17 + -0x10) = puVar8;" (assignment_expression "*(undefined4 **)(puVar17 + -0x10) = puVar8" (pointer_expression "*(undefined4 **)(puVar17 + -0x10)" * (cast_expression "(undefined4 **)(puVar17 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar17 + -0x14) = uVar6;" (assignment_expression "*(uint *)(puVar17 + -0x14) = uVar6" (pointer_expression "*(uint *)(puVar17 + -0x14)" * (cast_expression "(uint *)(puVar17 + -0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar17 + -0x18) = local_1d8;" (assignment_expression "*(uint *)(puVar17 + -0x18) = local_1d8" (pointer_expression "*(uint *)(puVar17 + -0x18)" * (cast_expression "(uint *)(puVar17 + -0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 ***)(puVar17 + -0x1c) = local_1d4;" (assignment_expression "*(undefined1 ***)(puVar17 + -0x1c) = local_1d4" (pointer_expression "*(undefined1 ***)(puVar17 + -0x1c)" * (cast_expression "(undefined1 ***)(puVar17 + -0x1c)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x1c)" ( (binary_expression "puVar17 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar17 + -0x20) = local_1e4;" (assignment_expression "*(undefined1 **)(puVar17 + -0x20) = local_1e4" (pointer_expression "*(undefined1 **)(puVar17 + -0x20)" * (cast_expression "(undefined1 **)(puVar17 + -0x20)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x20)" ( (binary_expression "puVar17 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x2bfe19" (pointer_expression "*(undefined4 *)(puVar17 + -0x24)" * (cast_expression "(undefined4 *)(puVar17 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x24)" ( (binary_expression "puVar17 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002c4660();" (call_expression "FUN_002c4660()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar17 = puVar17 + -4;" (assignment_expression "puVar17 = puVar17 + -4" identifier = (binary_expression "puVar17 + -4" identifier + number_literal)) ;) })) (expression_statement "ppuVar4 = local_1c4;" (assignment_expression "ppuVar4 = local_1c4" identifier = identifier) ;) (expression_statement "piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);" (assignment_expression "piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3])" identifier = (pointer_expression "*(int **)((int)aiStack_b8 + (int)local_134[-3])" * (cast_expression "(int **)((int)aiStack_b8 + (int)local_134[-3])" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)aiStack_b8 + (int)local_134[-3])" ( (binary_expression "(int)aiStack_b8 + (int)local_134[-3]" (cast_expression "(int)aiStack_b8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_134[-3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_134[-3]" identifier [ number_literal ]))) ))))) ;) (if_statement "if (piVar7 == (int *)0x0) {\n                    \n                    \n        *(undefined4 *)(puVar17 + -4) = 0x2c0bff;\n        FUN_003f3900();\n      }" if (parenthesized_expression "(piVar7 == (int *)0x0)" ( (binary_expression "piVar7 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n                    \n        *(undefined4 *)(puVar17 + -4) = 0x2c0bff;\n        FUN_003f3900();\n      }" { (expression_statement "*(undefined4 *)(puVar17 + -4) = 0x2c0bff;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = 0x2c0bff" (pointer_expression "*(undefined4 *)(puVar17 + -4)" * (cast_expression "(undefined4 *)(puVar17 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003f3900();" (call_expression "FUN_003f3900()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((char)piVar7[7] == '\0') {\n        *(int **)(puVar17 + -0x10) = piVar7;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;\n        FUN_003f3f90();\n        ppuVar2 = *(undefined ***)(*piVar7 + 0x18);\n        iVar14 = 10;\n        if (ppuVar2 != ppuVar4 + -0xdabd4) {\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }\n      }\n      else {\n        iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n      }" if (parenthesized_expression "((char)piVar7[7] == '\0')" ( (binary_expression "(char)piVar7[7] == '\0'" (cast_expression "(char)piVar7[7]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar7[7]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(int **)(puVar17 + -0x10) = piVar7;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;\n        FUN_003f3f90();\n        ppuVar2 = *(undefined ***)(*piVar7 + 0x18);\n        iVar14 = 10;\n        if (ppuVar2 != ppuVar4 + -0xdabd4) {\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }\n      }" { (expression_statement "*(int **)(puVar17 + -0x10) = piVar7;" (assignment_expression "*(int **)(puVar17 + -0x10) = piVar7" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003f3f90();" (call_expression "FUN_003f3f90()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar2 = *(undefined ***)(*piVar7 + 0x18);" (assignment_expression "ppuVar2 = *(undefined ***)(*piVar7 + 0x18)" identifier = (pointer_expression "*(undefined ***)(*piVar7 + 0x18)" * (cast_expression "(undefined ***)(*piVar7 + 0x18)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar7 + 0x18)" ( (binary_expression "*piVar7 + 0x18" (pointer_expression "*piVar7" * identifier) + number_literal) ))))) ;) (expression_statement "iVar14 = 10;" (assignment_expression "iVar14 = 10" identifier = number_literal) ;) (if_statement "if (ppuVar2 != ppuVar4 + -0xdabd4) {\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }" if (parenthesized_expression "(ppuVar2 != ppuVar4 + -0xdabd4)" ( (binary_expression "ppuVar2 != ppuVar4 + -0xdabd4" identifier != (binary_expression "ppuVar4 + -0xdabd4" identifier + number_literal)) )) (compound_statement "{\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }" { (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 10;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 10" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int **)(puVar17 + -0x10) = piVar7;" (assignment_expression "*(int **)(puVar17 + -0x10) = piVar7" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar5 = (*(code *)ppuVar2)();" (assignment_expression "cVar5 = (*(code *)ppuVar2)()" identifier = (call_expression "(*(code *)ppuVar2)()" (parenthesized_expression "(*(code *)ppuVar2)" ( (pointer_expression "*(code *)ppuVar2" * (cast_expression "(code *)ppuVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "iVar14 = (int)cVar5;" (assignment_expression "iVar14 = (int)cVar5" identifier = (cast_expression "(int)cVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) }) (else_clause "else {\n        iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n      }" else (compound_statement "{\n        iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n      }" { (expression_statement "iVar14 = (int)*(char *)((int)piVar7 + 0x27);" (assignment_expression "iVar14 = (int)*(char *)((int)piVar7 + 0x27)" identifier = (cast_expression "(int)*(char *)((int)piVar7 + 0x27)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)((int)piVar7 + 0x27)" * (cast_expression "(char *)((int)piVar7 + 0x27)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar7 + 0x27)" ( (binary_expression "(int)piVar7 + 0x27" (cast_expression "(int)piVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) ;) }))) (expression_statement "*(int *)(puVar17 + -8) = iVar14;" (assignment_expression "*(int *)(puVar17 + -8) = iVar14" (pointer_expression "*(int *)(puVar17 + -8)" * (cast_expression "(int *)(puVar17 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = local_1cc._0_4_;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = local_1cc._0_4_" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (field_expression "local_1cc._0_4_" identifier . field_identifier)) ;) (expression_statement "*(undefined ****)(puVar17 + -0x10) = local_1d0;" (assignment_expression "*(undefined ****)(puVar17 + -0x10) = local_1d0" (pointer_expression "*(undefined ****)(puVar17 + -0x10)" * (cast_expression "(undefined ****)(puVar17 + -0x10)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfc47;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfc47" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003aef80();" (call_expression "FUN_003aef80()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_150 != local_1e0) {\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfe3f;\n      FUN_003ae080();\n    }" if (parenthesized_expression "(local_150 != local_1e0)" ( (binary_expression "local_150 != local_1e0" identifier != identifier) )) (compound_statement "{\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfe3f;\n      FUN_003ae080();\n    }" { (expression_statement "*(undefined1 **)(puVar17 + -0x10) = local_150;" (assignment_expression "*(undefined1 **)(puVar17 + -0x10) = local_150" (pointer_expression "*(undefined1 **)(puVar17 + -0x10)" * (cast_expression "(undefined1 **)(puVar17 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfe3f;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfe3f" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppuVar4 = local_1c4;" (assignment_expression "ppuVar4 = local_1c4" identifier = identifier) ;) (expression_statement "*(undefined ****)(puVar17 + -0x10) = local_1dc;" (assignment_expression "*(undefined ****)(puVar17 + -0x10) = local_1dc" (pointer_expression "*(undefined ****)(puVar17 + -0x10)" * (cast_expression "(undefined ****)(puVar17 + -0x10)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_134 = (undefined ***)(local_200 + 3);" (assignment_expression "local_134 = (undefined ***)(local_200 + 3)" identifier = (cast_expression "(undefined ***)(local_200 + 3)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(local_200 + 3)" ( (binary_expression "local_200 + 3" identifier + number_literal) )))) ;) (expression_statement "local_a4[0] = local_200 + 8;" (assignment_expression "local_a4[0] = local_200 + 8" (subscript_expression "local_a4[0]" identifier [ number_literal ]) = (binary_expression "local_200 + 8" identifier + number_literal)) ;) (expression_statement "local_12c[0] = local_1c4 + -0x9ec;" (assignment_expression "local_12c[0] = local_1c4 + -0x9ec" (subscript_expression "local_12c[0]" identifier [ number_literal ]) = (binary_expression "local_1c4 + -0x9ec" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfe7f;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfe7f" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003de160();" (call_expression "FUN_003de160()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 **)(puVar17 + -0x10) = local_f4;" (assignment_expression "*(undefined1 **)(puVar17 + -0x10) = local_f4" (pointer_expression "*(undefined1 **)(puVar17 + -0x10)" * (cast_expression "(undefined1 **)(puVar17 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfe8d;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfe8d" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae8c0();" (call_expression "FUN_003ae8c0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_12c[0] = ppuVar4 + -0xbd1;" (assignment_expression "local_12c[0] = ppuVar4 + -0xbd1" (subscript_expression "local_12c[0]" identifier [ number_literal ]) = (binary_expression "ppuVar4 + -0xbd1" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar17 + -0x10) = local_110;" (assignment_expression "*(undefined1 **)(puVar17 + -0x10) = local_110" (pointer_expression "*(undefined1 **)(puVar17 + -0x10)" * (cast_expression "(undefined1 **)(puVar17 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfeaa;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfeaa" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003b07e0();" (call_expression "FUN_003b07e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_134 = local_1f4;" (assignment_expression "local_134 = local_1f4" identifier = identifier) ;) (expression_statement "*(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;" (assignment_expression "*(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8" (pointer_expression "*(undefined **)((int)&local_134 + (int)local_1f4[-3])" * (cast_expression "(undefined **)((int)&local_134 + (int)local_1f4[-3])" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&local_134 + (int)local_1f4[-3])" ( (binary_expression "(int)&local_134 + (int)local_1f4[-3]" (cast_expression "(int)&local_134" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_134" & identifier)) + (cast_expression "(int)local_1f4[-3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_1f4[-3]" identifier [ number_literal ]))) )))) = identifier) ;) (expression_statement "local_130 = 0;" (assignment_expression "local_130 = 0" identifier = number_literal) ;) (expression_statement "local_a4[0] = local_1fc + 2;" (assignment_expression "local_a4[0] = local_1fc + 2" (subscript_expression "local_a4[0]" identifier [ number_literal ]) = (binary_expression "local_1fc + 2" identifier + number_literal)) ;) (expression_statement "*(undefined ****)(puVar17 + -0x10) = local_1e8;" (assignment_expression "*(undefined ****)(puVar17 + -0x10) = local_1e8" (pointer_expression "*(undefined ****)(puVar17 + -0x10)" * (cast_expression "(undefined ****)(puVar17 + -0x10)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfeeb;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfeeb" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003f3310();" (call_expression "FUN_003f3310()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar18 = puVar17;" (assignment_expression "puVar18 = puVar17" identifier = identifier) ;) })) (if_statement "if ((*(char *)(param_1 + 0x72d) != '\0') && (*(char *)(param_1 + 0x42e0) == '\0')) {\n    *(int *)(param_1 + 0x42e4) = (int)local_1c4 + -0x1a1f9b;\n  }" if (parenthesized_expression "((*(char *)(param_1 + 0x72d) != '\0') && (*(char *)(param_1 + 0x42e0) == '\0'))" ( (binary_expression "(*(char *)(param_1 + 0x72d) != '\0') && (*(char *)(param_1 + 0x42e0) == '\0')" (parenthesized_expression "(*(char *)(param_1 + 0x72d) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x72d) != '\0'" (pointer_expression "*(char *)(param_1 + 0x72d)" * (cast_expression "(char *)(param_1 + 0x72d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x72d)" ( (binary_expression "param_1 + 0x72d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(param_1 + 0x42e0) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x42e0) == '\0'" (pointer_expression "*(char *)(param_1 + 0x42e0)" * (cast_expression "(char *)(param_1 + 0x42e0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x42e0)" ( (binary_expression "param_1 + 0x42e0" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    *(int *)(param_1 + 0x42e4) = (int)local_1c4 + -0x1a1f9b;\n  }" { (expression_statement "*(int *)(param_1 + 0x42e4) = (int)local_1c4 + -0x1a1f9b;" (assignment_expression "*(int *)(param_1 + 0x42e4) = (int)local_1c4 + -0x1a1f9b" (pointer_expression "*(int *)(param_1 + 0x42e4)" * (cast_expression "(int *)(param_1 + 0x42e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x42e4)" ( (binary_expression "param_1 + 0x42e4" identifier + number_literal) )))) = (binary_expression "(int)local_1c4 + -0x1a1f9b" (cast_expression "(int)local_1c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) })) (if_statement "if ((*(char *)(param_1 + 0x1a25) != '\0') && (*(char *)(param_1 + 0x1fc) == '\0')) {\n    *(undefined1 *)(param_1 + 0x1fd) = 1;\n  }" if (parenthesized_expression "((*(char *)(param_1 + 0x1a25) != '\0') && (*(char *)(param_1 + 0x1fc) == '\0'))" ( (binary_expression "(*(char *)(param_1 + 0x1a25) != '\0') && (*(char *)(param_1 + 0x1fc) == '\0')" (parenthesized_expression "(*(char *)(param_1 + 0x1a25) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x1a25) != '\0'" (pointer_expression "*(char *)(param_1 + 0x1a25)" * (cast_expression "(char *)(param_1 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1a25)" ( (binary_expression "param_1 + 0x1a25" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(param_1 + 0x1fc) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x1fc) == '\0'" (pointer_expression "*(char *)(param_1 + 0x1fc)" * (cast_expression "(char *)(param_1 + 0x1fc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    *(undefined1 *)(param_1 + 0x1fd) = 1;\n  }" { (expression_statement "*(undefined1 *)(param_1 + 0x1fd) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x1fd) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x1fd)" * (cast_expression "(undefined1 *)(param_1 + 0x1fd)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fd)" ( (binary_expression "param_1 + 0x1fd" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "*(int *)(puVar18 + -0x10) = param_1;" (assignment_expression "*(int *)(puVar18 + -0x10) = param_1" (pointer_expression "*(int *)(puVar18 + -0x10)" * (cast_expression "(int *)(puVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2bff3f;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2bff3f" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002b6130();" (call_expression "FUN_002b6130()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(char *)(param_1 + 0x1a25) == '\0') {\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      if (*(char *)(param_1 + 0x5938) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n        *(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;\n        FUN_0023b7b0();\n      }\n      if (*(char *)(param_1 + 0x318d) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;\n        FUN_0023b7b0();\n      }\n    }\n    if (*(int *)(param_1 + 0x1478) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5642f;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0cdc;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ce4;\n      FUN_0023b7b0();\n    }\n    if (*(int *)(param_1 + 0x1428) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56424;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d10;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d18;\n      FUN_0023b7b0();\n    }\n    if ((*(char *)(param_1 + 0x318d) != '\0') && (*(int *)(param_1 + 0x3288) != 0)) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56418;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0163;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined **)(puVar18 + -0x14) = &UNK_002c016b;\n      FUN_0023b7b0();\n    }\n  }\n  else {\n    if (*(char *)(param_1 + 0x5938) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e32;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c87;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x318d) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6;\n      FUN_0023b7b0();\n    }\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0x1a25) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x1a25) == '\0'" (pointer_expression "*(char *)(param_1 + 0x1a25)" * (cast_expression "(char *)(param_1 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1a25)" ( (binary_expression "param_1 + 0x1a25" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      if (*(char *)(param_1 + 0x5938) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n        *(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;\n        FUN_0023b7b0();\n      }\n      if (*(char *)(param_1 + 0x318d) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;\n        FUN_0023b7b0();\n      }\n    }\n    if (*(int *)(param_1 + 0x1478) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5642f;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0cdc;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ce4;\n      FUN_0023b7b0();\n    }\n    if (*(int *)(param_1 + 0x1428) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56424;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d10;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d18;\n      FUN_0023b7b0();\n    }\n    if ((*(char *)(param_1 + 0x318d) != '\0') && (*(int *)(param_1 + 0x3288) != 0)) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56418;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0163;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined **)(puVar18 + -0x14) = &UNK_002c016b;\n      FUN_0023b7b0();\n    }\n  }" { (if_statement "if (*(char *)(param_1 + 0x2931) != '\0') {\n      if (*(char *)(param_1 + 0x5938) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n        *(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;\n        FUN_0023b7b0();\n      }\n      if (*(char *)(param_1 + 0x318d) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;\n        FUN_0023b7b0();\n      }\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x2931) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x2931) != '\0'" (pointer_expression "*(char *)(param_1 + 0x2931)" * (cast_expression "(char *)(param_1 + 0x2931)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2931)" ( (binary_expression "param_1 + 0x2931" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (*(char *)(param_1 + 0x5938) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n        *(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;\n        FUN_0023b7b0();\n      }\n      if (*(char *)(param_1 + 0x318d) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;\n        FUN_0023b7b0();\n      }\n    }" { (if_statement "if (*(char *)(param_1 + 0x5938) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n        *(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;\n        FUN_0023b7b0();\n      }" if (parenthesized_expression "(*(char *)(param_1 + 0x5938) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x5938) != '\0'" (pointer_expression "*(char *)(param_1 + 0x5938)" * (cast_expression "(char *)(param_1 + 0x5938)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5938)" ( (binary_expression "param_1 + 0x5938" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n        *(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;\n        FUN_0023b7b0();\n      }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x56440" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;" (assignment_expression "*(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64" (pointer_expression "*(undefined1 **)(puVar18 + -0x14)" * (cast_expression "(undefined1 **)(puVar18 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_002c0e64" & identifier)) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)(param_1 + 0x318d) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;\n        FUN_0023b7b0();\n      }" if (parenthesized_expression "(*(char *)(param_1 + 0x318d) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x318d) != '\0'" (pointer_expression "*(char *)(param_1 + 0x318d)" * (cast_expression "(char *)(param_1 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x318d)" ( (binary_expression "param_1 + 0x318d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;\n        FUN_0023b7b0();\n      }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x56e83" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })) })) (if_statement "if (*(int *)(param_1 + 0x1478) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5642f;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0cdc;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ce4;\n      FUN_0023b7b0();\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x1478) != 0)" ( (binary_expression "*(int *)(param_1 + 0x1478) != 0" (pointer_expression "*(int *)(param_1 + 0x1478)" * (cast_expression "(int *)(param_1 + 0x1478)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1478)" ( (binary_expression "param_1 + 0x1478" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5642f;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0cdc;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ce4;\n      FUN_0023b7b0();\n    }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5642f;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5642f" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x5642f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0cdc;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0cdc" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0ce4;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0ce4" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x1428) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56424;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d10;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d18;\n      FUN_0023b7b0();\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x1428) != 0)" ( (binary_expression "*(int *)(param_1 + 0x1428) != 0" (pointer_expression "*(int *)(param_1 + 0x1428)" * (cast_expression "(int *)(param_1 + 0x1428)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1428)" ( (binary_expression "param_1 + 0x1428" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56424;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d10;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d18;\n      FUN_0023b7b0();\n    }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56424;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56424" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x56424" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d10;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d10" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d18;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d18" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((*(char *)(param_1 + 0x318d) != '\0') && (*(int *)(param_1 + 0x3288) != 0)) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56418;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0163;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined **)(puVar18 + -0x14) = &UNK_002c016b;\n      FUN_0023b7b0();\n    }" if (parenthesized_expression "((*(char *)(param_1 + 0x318d) != '\0') && (*(int *)(param_1 + 0x3288) != 0))" ( (binary_expression "(*(char *)(param_1 + 0x318d) != '\0') && (*(int *)(param_1 + 0x3288) != 0)" (parenthesized_expression "(*(char *)(param_1 + 0x318d) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x318d) != '\0'" (pointer_expression "*(char *)(param_1 + 0x318d)" * (cast_expression "(char *)(param_1 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x318d)" ( (binary_expression "param_1 + 0x318d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(int *)(param_1 + 0x3288) != 0)" ( (binary_expression "*(int *)(param_1 + 0x3288) != 0" (pointer_expression "*(int *)(param_1 + 0x3288)" * (cast_expression "(int *)(param_1 + 0x3288)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3288)" ( (binary_expression "param_1 + 0x3288" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56418;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0163;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined **)(puVar18 + -0x14) = &UNK_002c016b;\n      FUN_0023b7b0();\n    }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56418;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56418" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x56418" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0163;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0163" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_002c016b;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_002c016b" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_002c016b" & identifier)) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })) }) (else_clause "else {\n    if (*(char *)(param_1 + 0x5938) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e32;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c87;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x318d) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6;\n      FUN_0023b7b0();\n    }\n  }" else (compound_statement "{\n    if (*(char *)(param_1 + 0x5938) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e32;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c87;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x318d) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6;\n      FUN_0023b7b0();\n    }\n  }" { (if_statement "if (*(char *)(param_1 + 0x5938) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e32;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a;\n      FUN_0023b7b0();\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x5938) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x5938) != '\0'" (pointer_expression "*(char *)(param_1 + 0x5938)" * (cast_expression "(char *)(param_1 + 0x5938)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5938)" ( (binary_expression "param_1 + 0x5938" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e32;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a;\n      FUN_0023b7b0();\n    }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x56453" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0e32;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0e32" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)(param_1 + 0x2931) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c87;\n      FUN_0023b7b0();\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x2931) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x2931) != '\0'" (pointer_expression "*(char *)(param_1 + 0x2931)" * (cast_expression "(char *)(param_1 + 0x2931)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2931)" ( (binary_expression "param_1 + 0x2931" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c87;\n      FUN_0023b7b0();\n    }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x56449" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c87;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c87" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)(param_1 + 0x318d) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6;\n      FUN_0023b7b0();\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x318d) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x318d) != '\0'" (pointer_expression "*(char *)(param_1 + 0x318d)" * (cast_expression "(char *)(param_1 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x318d)" ( (binary_expression "param_1 + 0x318d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6;\n      FUN_0023b7b0();\n    }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x56437" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })) }))) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(param_1 + 0x27ec);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(param_1 + 0x27ec)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 0x27ec)" * (cast_expression "(undefined4 *)(param_1 + 0x27ec)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x27ec)" ( (binary_expression "param_1 + 0x27ec" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2bff90;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2bff90" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar14 = FUN_002b5ab0();" (assignment_expression "iVar14 = FUN_002b5ab0()" identifier = (call_expression "FUN_002b5ab0()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar14 != 0) &&\n     (((*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')) ||\n      (*(char *)(param_1 + 0x318d) != '\0')))) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5640c;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c60;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c68;\n    FUN_0023b7b0();\n  }" if (parenthesized_expression "((iVar14 != 0) &&\n     (((*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')) ||\n      (*(char *)(param_1 + 0x318d) != '\0'))))" ( (binary_expression "(iVar14 != 0) &&\n     (((*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')) ||\n      (*(char *)(param_1 + 0x318d) != '\0')))" (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) && (parenthesized_expression "(((*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')) ||\n      (*(char *)(param_1 + 0x318d) != '\0')))" ( (parenthesized_expression "((*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')) ||\n      (*(char *)(param_1 + 0x318d) != '\0'))" ( (binary_expression "(*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')) ||\n      (*(char *)(param_1 + 0x318d) != '\0')" (parenthesized_expression "(*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0'))" ( (binary_expression "*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')" (binary_expression "*(char *)(param_1 + 0x1a25) != '\0'" (pointer_expression "*(char *)(param_1 + 0x1a25)" * (cast_expression "(char *)(param_1 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1a25)" ( (binary_expression "param_1 + 0x1a25" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) || (parenthesized_expression "(*(char *)(param_1 + 0x2931) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x2931) != '\0'" (pointer_expression "*(char *)(param_1 + 0x2931)" * (cast_expression "(char *)(param_1 + 0x2931)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2931)" ( (binary_expression "param_1 + 0x2931" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(*(char *)(param_1 + 0x318d) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x318d) != '\0'" (pointer_expression "*(char *)(param_1 + 0x318d)" * (cast_expression "(char *)(param_1 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x318d)" ( (binary_expression "param_1 + 0x318d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (compound_statement "{\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5640c;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c60;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c68;\n    FUN_0023b7b0();\n  }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5640c;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5640c" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x5640c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c60;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c60" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c68;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c68" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((*(char *)(param_1 + 0x1ae4) != '\0') &&\n     ((dVar1 = *(double *)(param_1 + 0x1ae8), dVar1 < 0.0 || (1.0 <= dVar1)))) {\n    local_1cc = dVar1;\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563fc;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c1c;\n    uVar11 = gettext();\n    dVar1 = local_1cc;\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(double *)(puVar18 + -0xc) = dVar1;\n                    \n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c2e;\n    FUN_0023b7b0();\n  }" if (parenthesized_expression "((*(char *)(param_1 + 0x1ae4) != '\0') &&\n     ((dVar1 = *(double *)(param_1 + 0x1ae8), dVar1 < 0.0 || (1.0 <= dVar1))))" ( (binary_expression "(*(char *)(param_1 + 0x1ae4) != '\0') &&\n     ((dVar1 = *(double *)(param_1 + 0x1ae8), dVar1 < 0.0 || (1.0 <= dVar1)))" (parenthesized_expression "(*(char *)(param_1 + 0x1ae4) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x1ae4) != '\0'" (pointer_expression "*(char *)(param_1 + 0x1ae4)" * (cast_expression "(char *)(param_1 + 0x1ae4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1ae4)" ( (binary_expression "param_1 + 0x1ae4" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((dVar1 = *(double *)(param_1 + 0x1ae8), dVar1 < 0.0 || (1.0 <= dVar1)))" ( (parenthesized_expression "(dVar1 = *(double *)(param_1 + 0x1ae8), dVar1 < 0.0 || (1.0 <= dVar1))" ( (comma_expression "dVar1 = *(double *)(param_1 + 0x1ae8), dVar1 < 0.0 || (1.0 <= dVar1)" (assignment_expression "dVar1 = *(double *)(param_1 + 0x1ae8)" identifier = (pointer_expression "*(double *)(param_1 + 0x1ae8)" * (cast_expression "(double *)(param_1 + 0x1ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1ae8)" ( (binary_expression "param_1 + 0x1ae8" identifier + number_literal) ))))) , (binary_expression "dVar1 < 0.0 || (1.0 <= dVar1)" (binary_expression "dVar1 < 0.0" identifier < number_literal) || (parenthesized_expression "(1.0 <= dVar1)" ( (binary_expression "1.0 <= dVar1" number_literal <= identifier) )))) )) ))) )) (compound_statement "{\n    local_1cc = dVar1;\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563fc;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c1c;\n    uVar11 = gettext();\n    dVar1 = local_1cc;\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(double *)(puVar18 + -0xc) = dVar1;\n                    \n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c2e;\n    FUN_0023b7b0();\n  }" { (expression_statement "local_1cc = dVar1;" (assignment_expression "local_1cc = dVar1" identifier = identifier) ;) (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563fc;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563fc" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x563fc" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c1c;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c1c" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "dVar1 = local_1cc;" (assignment_expression "dVar1 = local_1cc" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(double *)(puVar18 + -0xc) = dVar1;" (assignment_expression "*(double *)(puVar18 + -0xc) = dVar1" (pointer_expression "*(double *)(puVar18 + -0xc)" * (cast_expression "(double *)(puVar18 + -0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c2e;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c2e" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)(param_1 + 0x5a1c) == '\0') {\n    if (*(int *)(param_1 + 0x5a10) == 0) goto LAB_002c00a3;\n  }\n  else if (*(int *)(param_1 + 0x5a10) == 0) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563ec;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0db6;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dbe;\n    FUN_0023b7b0();\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0x5a1c) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x5a1c) == '\0'" (pointer_expression "*(char *)(param_1 + 0x5a1c)" * (cast_expression "(char *)(param_1 + 0x5a1c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5a1c)" ( (binary_expression "param_1 + 0x5a1c" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (*(int *)(param_1 + 0x5a10) == 0) goto LAB_002c00a3;\n  }" { (if_statement "if (*(int *)(param_1 + 0x5a10) == 0) goto LAB_002c00a3;" if (parenthesized_expression "(*(int *)(param_1 + 0x5a10) == 0)" ( (binary_expression "*(int *)(param_1 + 0x5a10) == 0" (pointer_expression "*(int *)(param_1 + 0x5a10)" * (cast_expression "(int *)(param_1 + 0x5a10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5a10)" ( (binary_expression "param_1 + 0x5a10" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_002c00a3;" goto statement_identifier ;)) }) (else_clause "else if (*(int *)(param_1 + 0x5a10) == 0) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563ec;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0db6;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dbe;\n    FUN_0023b7b0();\n  }" else (if_statement "if (*(int *)(param_1 + 0x5a10) == 0) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563ec;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0db6;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dbe;\n    FUN_0023b7b0();\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x5a10) == 0)" ( (binary_expression "*(int *)(param_1 + 0x5a10) == 0" (pointer_expression "*(int *)(param_1 + 0x5a10)" * (cast_expression "(int *)(param_1 + 0x5a10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5a10)" ( (binary_expression "param_1 + 0x5a10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563ec;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0db6;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dbe;\n    FUN_0023b7b0();\n  }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563ec;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563ec" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x563ec" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0db6;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0db6" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0dbe;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0dbe" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })))) (if_statement "if (*(char *)(param_1 + 0x318d) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563d0;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dd5;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0ddd;\n    FUN_0023b7b0();\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0x318d) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x318d) != '\0'" (pointer_expression "*(char *)(param_1 + 0x318d)" * (cast_expression "(char *)(param_1 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x318d)" ( (binary_expression "param_1 + 0x318d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563d0;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dd5;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0ddd;\n    FUN_0023b7b0();\n  }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563d0;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563d0" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x563d0" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0dd5;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0dd5" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0ddd;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0ddd" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)(param_1 + 0x3095) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563c4;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0df4;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dfc;\n    FUN_0023b7b0();\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0x3095) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x3095) != '\0'" (pointer_expression "*(char *)(param_1 + 0x3095)" * (cast_expression "(char *)(param_1 + 0x3095)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3095)" ( (binary_expression "param_1 + 0x3095" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563c4;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0df4;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dfc;\n    FUN_0023b7b0();\n  }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563c4;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563c4" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x563c4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0df4;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0df4" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0dfc;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0dfc" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x593c) != 0) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563b5;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e13;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e1b;\n    FUN_0023b7b0();\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x593c) != 0)" ( (binary_expression "*(int *)(param_1 + 0x593c) != 0" (pointer_expression "*(int *)(param_1 + 0x593c)" * (cast_expression "(int *)(param_1 + 0x593c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x593c)" ( (binary_expression "param_1 + 0x593c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563b5;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e13;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e1b;\n    FUN_0023b7b0();\n  }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563b5;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563b5" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x563b5" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0e13;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0e13" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0e1b;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0e1b" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)(param_1 + 0x56b9) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563a8;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d78;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d80;\n    FUN_0023b7b0();\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0x56b9) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x56b9) != '\0'" (pointer_expression "*(char *)(param_1 + 0x56b9)" * (cast_expression "(char *)(param_1 + 0x56b9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x56b9)" ( (binary_expression "param_1 + 0x56b9" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563a8;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d78;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d80;\n    FUN_0023b7b0();\n  }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563a8;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563a8" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x563a8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d78;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d78" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d80;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d80" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)(param_1 + 0x2931) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5639b;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d97;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d9f;\n    FUN_0023b7b0();\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0x2931) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x2931) != '\0'" (pointer_expression "*(char *)(param_1 + 0x2931)" * (cast_expression "(char *)(param_1 + 0x2931)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2931)" ( (binary_expression "param_1 + 0x2931" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5639b;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d97;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d9f;\n    FUN_0023b7b0();\n  }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5639b;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5639b" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x5639b" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d97;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d97" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d9f;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d9f" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)(param_1 + 0x18b1) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5638f;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a6f;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a77;\n    FUN_0023b840();\n    *(undefined1 *)(param_1 + 0x18b1) = 0;\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0x18b1) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x18b1) != '\0'" (pointer_expression "*(char *)(param_1 + 0x18b1)" * (cast_expression "(char *)(param_1 + 0x18b1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18b1)" ( (binary_expression "param_1 + 0x18b1" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5638f;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a6f;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a77;\n    FUN_0023b840();\n    *(undefined1 *)(param_1 + 0x18b1) = 0;\n  }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5638f;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5638f" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x5638f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0a6f;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0a6f" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0a77;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0a77" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b840();" (call_expression "FUN_0023b840()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 *)(param_1 + 0x18b1) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x18b1) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x18b1)" * (cast_expression "(undefined1 *)(param_1 + 0x18b1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18b1)" ( (binary_expression "param_1 + 0x18b1" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "bVar22 = *(int *)(param_1 + 0x5934) == 0;" (assignment_expression "bVar22 = *(int *)(param_1 + 0x5934) == 0" identifier = (binary_expression "*(int *)(param_1 + 0x5934) == 0" (pointer_expression "*(int *)(param_1 + 0x5934)" * (cast_expression "(int *)(param_1 + 0x5934)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5934)" ( (binary_expression "param_1 + 0x5934" identifier + number_literal) )))) == number_literal)) ;) (expression_statement "bVar24 = !bVar22;" (assignment_expression "bVar24 = !bVar22" identifier = (unary_expression "!bVar22" ! identifier)) ;) (if_statement "if (bVar24) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56383;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a37;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a3f;\n    FUN_0023b840();\n    *(undefined4 *)(param_1 + 0x5934) = 0;\n  }" if (parenthesized_expression "(bVar24)" ( identifier )) (compound_statement "{\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56383;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a37;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a3f;\n    FUN_0023b840();\n    *(undefined4 *)(param_1 + 0x5934) = 0;\n  }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56383;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56383" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x56383" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0a37;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0a37" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0a3f;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0a3f" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b840();" (call_expression "FUN_0023b840()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x5934) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x5934) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x5934)" * (cast_expression "(undefined4 *)(param_1 + 0x5934)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5934)" ( (binary_expression "param_1 + 0x5934" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "bVar24 = bVar24 && (undefined1 *)0xffffffef < puVar18 + -0x10;" (assignment_expression "bVar24 = bVar24 && (undefined1 *)0xffffffef < puVar18 + -0x10" identifier = (binary_expression "bVar24 && (undefined1 *)0xffffffef < puVar18 + -0x10" identifier && (binary_expression "(undefined1 *)0xffffffef < puVar18 + -0x10" (cast_expression "(undefined1 *)0xffffffef" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (binary_expression "puVar18 + -0x10" identifier + number_literal)))) ;) (expression_statement "bVar22 = bVar22 || puVar18 == (undefined1 *)0x0;" (assignment_expression "bVar22 = bVar22 || puVar18 == (undefined1 *)0x0" identifier = (binary_expression "bVar22 || puVar18 == (undefined1 *)0x0" identifier || (binary_expression "puVar18 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) ;) (expression_statement "iVar14 = 5;" (assignment_expression "iVar14 = 5" identifier = number_literal) ;) (expression_statement "pbVar19 = *(byte **)(param_1 + 0x99c);" (assignment_expression "pbVar19 = *(byte **)(param_1 + 0x99c)" identifier = (pointer_expression "*(byte **)(param_1 + 0x99c)" * (cast_expression "(byte **)(param_1 + 0x99c)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x99c)" ( (binary_expression "param_1 + 0x99c" identifier + number_literal) ))))) ;) (expression_statement "pbVar20 = local_1f0;" (assignment_expression "pbVar20 = local_1f0" identifier = identifier) ;) (do_statement "do {\n    if (iVar14 == 0) break;\n    iVar14 = iVar14 + -1;\n    bVar24 = *pbVar19 < *pbVar20;\n    bVar22 = *pbVar19 == *pbVar20;\n    pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n  } while (bVar22);" do (compound_statement "{\n    if (iVar14 == 0) break;\n    iVar14 = iVar14 + -1;\n    bVar24 = *pbVar19 < *pbVar20;\n    bVar22 = *pbVar19 == *pbVar20;\n    pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n  }" { (if_statement "if (iVar14 == 0) break;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" identifier = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (expression_statement "bVar24 = *pbVar19 < *pbVar20;" (assignment_expression "bVar24 = *pbVar19 < *pbVar20" identifier = (binary_expression "*pbVar19 < *pbVar20" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar22 = *pbVar19 == *pbVar20;" (assignment_expression "bVar22 = *pbVar19 == *pbVar20" identifier = (binary_expression "*pbVar19 == *pbVar20" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar19 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar19 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar22)" ( identifier )) ;) (if_statement "if ((!bVar24 && !bVar22) != bVar24) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56379;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c09ff;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a07;\n    FUN_0023b840();\n    *(byte **)(param_1 + 0x99c) = local_1f0;\n  }" if (parenthesized_expression "((!bVar24 && !bVar22) != bVar24)" ( (binary_expression "(!bVar24 && !bVar22) != bVar24" (parenthesized_expression "(!bVar24 && !bVar22)" ( (binary_expression "!bVar24 && !bVar22" (unary_expression "!bVar24" ! identifier) && (unary_expression "!bVar22" ! identifier)) )) != identifier) )) (compound_statement "{\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56379;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c09ff;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a07;\n    FUN_0023b840();\n    *(byte **)(param_1 + 0x99c) = local_1f0;\n  }" { (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56379;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56379" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" * (cast_expression "(undefined ***)(puVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (binary_expression "local_1c4 + -0x56379" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c09ff;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c09ff" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0a07;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0a07" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b840();" (call_expression "FUN_0023b840()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(byte **)(param_1 + 0x99c) = local_1f0;" (assignment_expression "*(byte **)(param_1 + 0x99c) = local_1f0" (pointer_expression "*(byte **)(param_1 + 0x99c)" * (cast_expression "(byte **)(param_1 + 0x99c)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x99c)" ( (binary_expression "param_1 + 0x99c" identifier + number_literal) )))) = identifier) ;) })) (labeled_statement "LAB_002c00a3:\n  if (*(char *)(param_1 + 0x3344) != '\0') {\n    *(undefined1 *)(param_1 + 0x32c9) = 1;\n  }" statement_identifier : (if_statement "if (*(char *)(param_1 + 0x3344) != '\0') {\n    *(undefined1 *)(param_1 + 0x32c9) = 1;\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0x3344) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x3344) != '\0'" (pointer_expression "*(char *)(param_1 + 0x3344)" * (cast_expression "(char *)(param_1 + 0x3344)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3344)" ( (binary_expression "param_1 + 0x3344" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    *(undefined1 *)(param_1 + 0x32c9) = 1;\n  }" { (expression_statement "*(undefined1 *)(param_1 + 0x32c9) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x32c9) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x32c9)" * (cast_expression "(undefined1 *)(param_1 + 0x32c9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x32c9)" ( (binary_expression "param_1 + 0x32c9" identifier + number_literal) )))) = number_literal) ;) }))) (if_statement "if (local_1bc != local_1ec) {\n    *(undefined1 **)(puVar18 + -0x10) = local_1bc;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c00d3;\n    FUN_003ae080();\n  }" if (parenthesized_expression "(local_1bc != local_1ec)" ( (binary_expression "local_1bc != local_1ec" identifier != identifier) )) (compound_statement "{\n    *(undefined1 **)(puVar18 + -0x10) = local_1bc;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c00d3;\n    FUN_003ae080();\n  }" { (expression_statement "*(undefined1 **)(puVar18 + -0x10) = local_1bc;" (assignment_expression "*(undefined1 **)(puVar18 + -0x10) = local_1bc" (pointer_expression "*(undefined1 **)(puVar18 + -0x10)" * (cast_expression "(undefined1 **)(puVar18 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c00d3;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c00d3" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (array_declarator IDENT [ LIT ]))) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (array_declarator IDENT [ LIT ]))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = BOOL) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) , (unary_expression ! IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ^ LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence '))) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence '))) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }))) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) + LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + 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 IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT , IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence '))) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) }))) }))) }))) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (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 * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (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 IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (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))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) , LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , LIT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT + IDENT) , LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (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) )))) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) , LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , LIT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT + IDENT) , LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (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) )))) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) , LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , LIT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT + IDENT) , LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (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) )))) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (pointer_expression & IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) , LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , LIT , LIT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (field_expression IDENT . field_identifier) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT + IDENT) , LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (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) )))) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (pointer_expression & IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT - IDENT)) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression IDENT - IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (binary_expression IDENT + IDENT) , (binary_expression (binary_expression IDENT + IDENT) + IDENT) , LIT ))) ;) (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))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT + IDENT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (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) )))) = (cast_expression ( (type_descriptor TYPE) ) 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) )))) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( BOOL )) ;) })) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (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))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = 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) ) (pointer_expression & IDENT)) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT))) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_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) )))) != (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (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 = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (pointer_expression & IDENT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , 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 = IDENT) ;) (while_statement while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (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) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT % (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (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 (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (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 (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + LIT)) )) (compound_statement { (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (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 IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = 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) ) (pointer_expression & IDENT)) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (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) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (binary_expression IDENT < LIT) || (parenthesized_expression ( (binary_expression LIT <= IDENT) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT)) ;) (expression_statement (assignment_expression IDENT = (unary_expression ! IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT && (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < (binary_expression IDENT + LIT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT || (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (return_statement return ;) })))
(function_definition "void FUN_002bf7f0(int param_1)\n\n{\n  double dVar1;\n  undefined **ppuVar2;\n  undefined1 **ppuVar3;\n  undefined **ppuVar4;\n  char cVar5;\n  uint uVar6;\n  int *piVar7;\n  undefined4 *puVar8;\n  size_t sVar9;\n  uint uVar10;\n  undefined4 uVar11;\n  char *pcVar12;\n  undefined4 uVar13;\n  int iVar14;\n  undefined *puVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  bool bVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  undefined4 uStackY_230;\n  undefined1 auStack_20c [12];\n  undefined **local_200;\n  undefined **local_1fc;\n  undefined *local_1f8;\n  undefined ***local_1f4;\n  byte *local_1f0;\n  undefined1 *local_1ec;\n  undefined ***local_1e8;\n  undefined1 *local_1e4;\n  undefined1 *local_1e0;\n  undefined ***local_1dc;\n  uint local_1d8;\n  undefined1 **local_1d4;\n  undefined ***local_1d0;\n  double local_1cc;\n  undefined **local_1c4;\n  undefined1 local_1c0 [4];\n  undefined1 *local_1bc;\n  uint local_1b8;\n  undefined1 local_1b4 [16];\n  undefined1 *local_1a4;\n  int local_1a0;\n  undefined1 local_19c [16];\n  undefined2 local_18c;\n  undefined1 *local_188;\n  int local_184;\n  undefined1 local_180 [16];\n  undefined2 local_170;\n  undefined1 *local_16c;\n  int local_168;\n  undefined1 local_164 [16];\n  undefined2 local_154;\n  undefined1 *local_150;\n  int local_14c;\n  undefined1 local_148 [16];\n  undefined2 local_138;\n  undefined ***local_134;\n  int local_130;\n  undefined **local_12c [4];\n  undefined2 local_11c;\n  undefined1 local_110 [28];\n  undefined1 local_f4 [60];\n  int aiStack_b8 [5];\n  undefined **local_a4 [5];\n  byte local_90;\n  undefined4 local_34;\n  undefined2 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  bVar25 = 0;\n  local_1c4 = &__DT_PLTGOT;\n  if (*(char *)(param_1 + 0x3469) == '\0') {\n    if (*(char *)(param_1 + 0x34e5) != '\0') goto LAB_002bfd3a;\n    if (*(char *)(param_1 + 0x3561) != '\0') {\n      bVar24 = false;\n      goto LAB_002bfd49;\n    }\n    bVar24 = false;\n    if (*(char *)(param_1 + 0x7a9) != '\0') goto LAB_002bfd5c;\n  }\n  else {\n    *(undefined1 *)(param_1 + 0x34e5) = 1;\nLAB_002bfd3a:\n    bVar24 = true;\n    *(undefined1 *)(param_1 + 0x3561) = 1;\nLAB_002bfd49:\n    *(undefined1 *)(param_1 + 0x35dd) = 1;\n    if (*(char *)(param_1 + 0x7a9) != '\0') {\nLAB_002bfd5c:\n      *(undefined1 *)(param_1 + 0x1a25) = 1;\n    }\n    if (((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')) &&\n       (*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24)) {\n      local_1c4 = &__DT_PLTGOT;\n                    \n      FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1);\n    }\n  }\n  if (*(char *)(param_1 + 0xbcd) != '\0') {\n    *(undefined1 *)(param_1 + 0xb51) = 1;\n  }\n  if (*(char *)(param_1 + 0xc49) != '\0') {\n    *(undefined1 *)(param_1 + 0xb51) = 1;\n  }\n  if (*(char *)(param_1 + 0xb50) == '\0') {\n    local_1cc = (double)CONCAT71(local_1cc._1_7_,*(byte *)(param_1 + 0x318d));\n    *(byte *)(param_1 + 0xb51) = *(byte *)(param_1 + 0x318d) ^ 1;\n  }\n  bVar24 = *(char *)(param_1 + 0x4f31) == '\0';\n  if (bVar24) {\n    bVar24 = *(char *)(param_1 + 0x5545) == '\0';\n    if (!bVar24) {\n      *(undefined4 *)(param_1 + 0x5930) = 2;\n    }\n  }\n  else {\n    *(undefined4 *)(param_1 + 0x5930) = 1;\n  }\n  bVar22 = false;\n  iVar14 = 5;\n  local_1f0 = (byte *)0x48e342;\n  pbVar19 = *(byte **)(param_1 + 0x1bec);\n  pbVar20 = local_1f0;\n  do {\n    pbVar21 = pbVar20;\n    if (iVar14 == 0) break;\n    iVar14 = iVar14 + -1;\n    pbVar21 = pbVar20 + 1;\n    bVar22 = *pbVar19 < *pbVar20;\n    bVar24 = *pbVar19 == *pbVar20;\n    pbVar19 = pbVar19 + 1;\n    pbVar20 = pbVar21;\n  } while (bVar24);\n  bVar23 = false;\n  bVar24 = (!bVar22 && !bVar24) == bVar22;\n  if (bVar24) {\n    *(undefined4 *)(param_1 + 0x5934) = 0;\n  }\n  else {\n    iVar14 = 5;\n    pbVar19 = *(byte **)(param_1 + 0x1bec);\n    pbVar20 = (byte *)0x48dc94;\n    do {\n      pbVar21 = pbVar20;\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      pbVar21 = pbVar20 + 1;\n      bVar23 = *pbVar19 < *pbVar20;\n      bVar24 = *pbVar19 == *pbVar20;\n      pbVar19 = pbVar19 + 1;\n      pbVar20 = pbVar21;\n    } while (bVar24);\n    *(uint *)(param_1 + 0x5934) = ((!bVar23 && !bVar24) == bVar23) + 1;\n  }\n  if (*(char *)(param_1 + 0xd4c) == '\0') {\n    if (*(char *)(param_1 + 0xd90) == '\0') {\n      local_1c4 = &__DT_PLTGOT;\n      pcVar12 = getenv("COLLECT_NO_DEMANGLE");\n      *(bool *)(param_1 + 0x5939) = pcVar12 == (char *)0x0;\n    }\n    else {\n      *(undefined1 *)(param_1 + 0x5939) = 0;\n    }\n  }\n  else {\n    pcVar12 = *(char **)(param_1 + 0xd50);\n    *(undefined1 *)(param_1 + 0x5939) = 1;\n    local_1c4 = &__DT_PLTGOT;\n    if (*pcVar12 != '\0') {\n      iVar14 = FUN_00395b70(pcVar12);\n      if (iVar14 == 0) {\n                    \n        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);\n      }\n      FUN_00395b20(iVar14);\n    }\n  }\n  ppuVar4 = local_1c4;\n  bVar24 = false;\n  bVar22 = *(char *)(param_1 + 0x2870) == '\0';\n  if (!bVar22) {\n    pbVar19 = *(byte **)(param_1 + 0x2874);\n    iVar14 = 6;\n    pbVar20 = pbVar19;\n    pbVar21 = (byte *)((int)local_1c4 + -0x1477fe);\n    do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      bVar24 = *pbVar20 < *pbVar21;\n      bVar22 = *pbVar20 == *pbVar21;\n      pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n      pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar24 = (!bVar24 && !bVar22) == bVar24;\n    if (bVar24) {\n      *(undefined4 *)(param_1 + 0x5a88) = 0;\n    }\n    else {\n      iVar14 = 8;\n      pbVar20 = pbVar19;\n      pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar23 = *pbVar20 < *pbVar21;\n        bVar24 = *pbVar20 == *pbVar21;\n        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      bVar22 = false;\n      bVar24 = (!bVar23 && !bVar24) == bVar23;\n      if (bVar24) {\n        *(undefined4 *)(param_1 + 0x5a88) = 1;\n      }\n      else {\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }\n    }\n  }\n  if ((*(char *)(param_1 + 0x2401) != '\0') && (*(char *)(param_1 + 0x247c) == '\0')) {\n    *(undefined1 *)(param_1 + 0x247c) = 1;\n    *(undefined ***)(param_1 + 0x2480) = local_1c4 + -0x573ca;\n  }\n  if ((*(char *)(param_1 + 0x24c1) != '\0') || (*(char *)(param_1 + 0x253d) != '\0')) {\n    *(undefined1 *)(param_1 + 0x5938) = 1;\n  }\n  iVar14 = *(int *)(param_1 + 0x3de8);\n  if (0 < iVar14) {\n    if (*(int *)(param_1 + 0x3e2c) == 0) {\n      *(int *)(param_1 + 0x3e2c) = iVar14;\n    }\n    if (*(int *)(param_1 + 0x3e70) == 0) {\n      *(int *)(param_1 + 0x3e70) = iVar14;\n    }\n    if (*(int *)(param_1 + 0x3eb4) == 0) {\n      *(int *)(param_1 + 0x3eb4) = iVar14;\n    }\n  }\n  local_1d4 = &local_1bc;\n  local_1b4[0] = 0;\n  local_1ec = local_1b4;\n  local_1b8 = 0;\n  local_1bc = local_1ec;\n  if (*(char *)(param_1 + 0x4ca8) == '\0') {\n    if (*(char *)(param_1 + 0x2729) == '\0') {\n      local_1dc = local_12c;\n      local_1d0 = (undefined ***)&local_134;\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);\n      local_1a4 = local_19c;\n                    \n      FUN_0014fca0(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_18c = 1;\n      if (local_1a0 == 0) {\n                    \n        FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      local_1d8 = param_1 + 0x2184;\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_1a4);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_1a4 != local_19c) {\n        FUN_003ae080(local_1a4);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);\n      local_188 = local_180;\n                    \n      FUN_0014fca0(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_170 = 1;\n      if (local_184 == 0) {\n                    \n        FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_188);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_188 != local_180) {\n        FUN_003ae080(local_188);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);\n      local_16c = local_164;\n                    \n      FUN_0014fca0(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_154 = 1;\n      if (local_168 == 0) {\n                    \n        FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_16c);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_16c != local_164) {\n        FUN_003ae080(local_16c);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);\n      local_1e0 = local_148;\n      local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n      local_150 = local_1e0;\n                    \n      FUN_0014fca0(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_138 = 1;\n      if (local_14c == 0) {\n                    \n        FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_150 != local_1e0) {\n        FUN_003ae080(local_150);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      goto LAB_002c0258;\n    }\n  }\n  else {\n    pcVar12 = *(char **)(param_1 + 0x4cac);\n    sVar9 = strlen(pcVar12);\n    ppuVar3 = local_1d4;\n                    \n    FUN_003b6cc0(local_1d4,0,0,pcVar12,sVar9);\n    iVar14 = FUN_003b86a0(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36);\n    if (iVar14 == 0) {\n      uVar6 = local_1b8;\n      if (2 < local_1b8) {\n        uVar6 = 2;\n      }\n                    \n      FUN_003b5ec0(local_1d4,0,uVar6);\n    }\nLAB_002c0258:\n    uVar6 = 0;\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n    if (local_1b8 != 0) {\n      do {\n        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);\n        uVar16 = 0xffffffff;\n        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    \n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    \n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    \n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    \n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }\n        uVar6 = iVar14 + 1;\n      } while( true );\n    }\n  }\n  ppuVar4 = local_1c4;\n  puVar17 = auStack_20c;\n  puVar18 = auStack_20c;\n  if (*(int *)(param_1 + 0x3288) != 0) {\n    local_1e8 = local_a4;\n    local_1d0 = (undefined ***)&local_134;\n    FUN_003f2f70(local_1e8);\n    local_1fc = ppuVar4 + -0xa0e;\n    local_34 = 0;\n    local_2c = 0;\n    local_a4[0] = ppuVar4 + -0xa0c;\n    local_30 = 0;\n    local_28 = 0;\n    local_1f4 = (undefined ***)ppuVar4[-0x9d3];\n    local_1f8 = ppuVar4[-0x9d2];\n    local_24 = 0;\n    local_20 = 0;\n    local_134 = local_1f4;\n    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;\n    local_130 = 0;\n                    \n    FUN_003d8720((int)local_1f4[-3] + (int)&local_134,0);\n    local_200 = ppuVar4 + -0x9d0;\n    local_134 = (undefined ***)(ppuVar4 + -0x9cd);\n    local_a4[0] = ppuVar4 + -0x9c8;\n    local_1dc = local_12c;\n                    \n    FUN_003da940(local_12c);\n                    \n    FUN_003d8720(local_1e8,local_12c);\n                    \n    iVar14 = FUN_003dec20(local_12c,*(undefined4 *)(param_1 + 0x3288),8);\n    puVar15 = (undefined *)((int)local_1d0 + (int)local_134[-3]);\n    if (iVar14 == 0) {\n                    \n      FUN_003d7ed0(puVar15,*(uint *)(puVar15 + 0x14) | 4);\n    }\n    else {\n      FUN_003d7ed0(puVar15,0);\n    }\n    ppuVar4 = local_1c4;\n    if ((local_90 & 5) != 0) {\n      piVar7 = __errno_location();\n      pcVar12 = strerror(*piVar7);\n      uVar11 = *(undefined4 *)(param_1 + 0x3288);\n      uVar13 = gettext(local_1c4 + -0x5645f);\n                    \n                    \n      FUN_0023b7b0(uVar13,uVar11,pcVar12);\n    }\n    local_1e0 = local_148;\n    local_148[0] = 0;\n    local_14c = 0;\n    piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n    local_150 = local_1e0;\n    if (piVar7 == (int *)0x0) {\n                    \n                    \n      FUN_003f3900();\n    }\n    if ((char)piVar7[7] == '\0') {\n                    \n      FUN_003f3f90(piVar7);\n      iVar14 = 10;\n      if (*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4) {\n        cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);\n        iVar14 = (int)cVar5;\n      }\n    }\n    else {\n      iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n    }\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n                    \n    FUN_003aef80(local_1d0,&local_150,iVar14);\n    local_1d4 = (undefined1 **)(param_1 + 0x5a3c);\n    local_1e4 = local_1c0;\n    while ((local_90 & 5) == 0) {\n      if ((local_14c != 0) && (local_150[local_14c + -1] == '\r')) {\n        *(undefined4 *)(puVar17 + -8) = 0;\n        *(int *)(puVar17 + -0xc) = local_14c + -1;\n        *(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2c0187;\n        FUN_003b6a50();\n      }\n      *(undefined4 *)(puVar17 + -8) = 0xc70f6907;\n      *(int *)(puVar17 + -0xc) = local_14c;\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc8a;\n      uVar6 = FUN_003ac580();\n      local_1d8 = uVar6 % *(uint *)(param_1 + 0x5a40);\n      *(uint *)(puVar17 + -0x14) = uVar6;\n      *(undefined4 *)(puVar17 + -0x18) = local_1cc._0_4_;\n      *(uint *)(puVar17 + -0x1c) = local_1d8;\n      *(undefined1 ***)(puVar17 + -0x20) = local_1d4;\n      *(undefined4 *)(puVar17 + -0x24) = 0x2bfcb0;\n      piVar7 = (int *)FUN_0022ed10();\n      if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n        *(undefined4 *)(puVar17 + -0x10) = 0x20;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;\n        puVar8 = (undefined4 *)FUN_003ac4d0();\n        *puVar8 = 0;\n        puVar8[1] = puVar8 + 3;\n        *(undefined4 *)(puVar17 + -4) = 0;\n        *(undefined1 **)(puVar17 + -8) = local_150 + local_14c;\n        *(undefined1 **)(puVar17 + -0xc) = local_150;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;\n        FUN_0014fca0();\n        *(undefined4 *)(puVar17 + -0xc) = 1;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8;\n        *(uint *)(puVar17 + -0x14) = uVar6;\n        *(uint *)(puVar17 + -0x18) = local_1d8;\n        *(undefined1 ***)(puVar17 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar17 + -0x20) = local_1e4;\n                    \n        *(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;\n        FUN_002c4660();\n        puVar17 = puVar17 + -4;\n      }\n      ppuVar4 = local_1c4;\n      piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n      if (piVar7 == (int *)0x0) {\n                    \n                    \n        *(undefined4 *)(puVar17 + -4) = 0x2c0bff;\n        FUN_003f3900();\n      }\n      if ((char)piVar7[7] == '\0') {\n        *(int **)(puVar17 + -0x10) = piVar7;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;\n        FUN_003f3f90();\n        ppuVar2 = *(undefined ***)(*piVar7 + 0x18);\n        iVar14 = 10;\n        if (ppuVar2 != ppuVar4 + -0xdabd4) {\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }\n      }\n      else {\n        iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n      }\n      *(int *)(puVar17 + -8) = iVar14;\n      *(undefined4 *)(puVar17 + -0xc) = local_1cc._0_4_;\n      *(undefined ****)(puVar17 + -0x10) = local_1d0;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc47;\n      FUN_003aef80();\n    }\n    if (local_150 != local_1e0) {\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfe3f;\n      FUN_003ae080();\n    }\n    ppuVar4 = local_1c4;\n    *(undefined ****)(puVar17 + -0x10) = local_1dc;\n    local_134 = (undefined ***)(local_200 + 3);\n    local_a4[0] = local_200 + 8;\n    local_12c[0] = local_1c4 + -0x9ec;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe7f;\n    FUN_003de160();\n    *(undefined1 **)(puVar17 + -0x10) = local_f4;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe8d;\n    FUN_003ae8c0();\n    local_12c[0] = ppuVar4 + -0xbd1;\n    *(undefined1 **)(puVar17 + -0x10) = local_110;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeaa;\n    FUN_003b07e0();\n    local_134 = local_1f4;\n    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;\n    local_130 = 0;\n    local_a4[0] = local_1fc + 2;\n    *(undefined ****)(puVar17 + -0x10) = local_1e8;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeeb;\n    FUN_003f3310();\n    puVar18 = puVar17;\n  }\n  if ((*(char *)(param_1 + 0x72d) != '\0') && (*(char *)(param_1 + 0x42e0) == '\0')) {\n    *(int *)(param_1 + 0x42e4) = (int)local_1c4 + -0x1a1f9b;\n  }\n  if ((*(char *)(param_1 + 0x1a25) != '\0') && (*(char *)(param_1 + 0x1fc) == '\0')) {\n    *(undefined1 *)(param_1 + 0x1fd) = 1;\n  }\n  *(int *)(puVar18 + -0x10) = param_1;\n                    \n  *(undefined4 *)(puVar18 + -0x14) = 0x2bff3f;\n  FUN_002b6130();\n  if (*(char *)(param_1 + 0x1a25) == '\0') {\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      if (*(char *)(param_1 + 0x5938) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n        *(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;\n        FUN_0023b7b0();\n      }\n      if (*(char *)(param_1 + 0x318d) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;\n        FUN_0023b7b0();\n      }\n    }\n    if (*(int *)(param_1 + 0x1478) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5642f;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0cdc;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ce4;\n      FUN_0023b7b0();\n    }\n    if (*(int *)(param_1 + 0x1428) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56424;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d10;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d18;\n      FUN_0023b7b0();\n    }\n    if ((*(char *)(param_1 + 0x318d) != '\0') && (*(int *)(param_1 + 0x3288) != 0)) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56418;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0163;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined **)(puVar18 + -0x14) = &UNK_002c016b;\n      FUN_0023b7b0();\n    }\n  }\n  else {\n    if (*(char *)(param_1 + 0x5938) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e32;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c87;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x318d) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6;\n      FUN_0023b7b0();\n    }\n  }\n  *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(param_1 + 0x27ec);\n  *(undefined4 *)(puVar18 + -0x14) = 0x2bff90;\n  iVar14 = FUN_002b5ab0();\n  if ((iVar14 != 0) &&\n     (((*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')) ||\n      (*(char *)(param_1 + 0x318d) != '\0')))) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5640c;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c60;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c68;\n    FUN_0023b7b0();\n  }\n  if ((*(char *)(param_1 + 0x1ae4) != '\0') &&\n     ((dVar1 = *(double *)(param_1 + 0x1ae8), dVar1 < 0.0 || (1.0 <= dVar1)))) {\n    local_1cc = dVar1;\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563fc;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c1c;\n    uVar11 = gettext();\n    dVar1 = local_1cc;\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(double *)(puVar18 + -0xc) = dVar1;\n                    \n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c2e;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x5a1c) == '\0') {\n    if (*(int *)(param_1 + 0x5a10) == 0) goto LAB_002c00a3;\n  }\n  else if (*(int *)(param_1 + 0x5a10) == 0) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563ec;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0db6;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dbe;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x318d) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563d0;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dd5;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0ddd;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x3095) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563c4;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0df4;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dfc;\n    FUN_0023b7b0();\n  }\n  if (*(int *)(param_1 + 0x593c) != 0) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563b5;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e13;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e1b;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x56b9) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563a8;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d78;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d80;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x2931) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5639b;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d97;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d9f;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x18b1) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5638f;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a6f;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a77;\n    FUN_0023b840();\n    *(undefined1 *)(param_1 + 0x18b1) = 0;\n  }\n  bVar22 = *(int *)(param_1 + 0x5934) == 0;\n  bVar24 = !bVar22;\n  if (bVar24) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56383;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a37;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a3f;\n    FUN_0023b840();\n    *(undefined4 *)(param_1 + 0x5934) = 0;\n  }\n  bVar24 = bVar24 && (undefined1 *)0xffffffef < puVar18 + -0x10;\n  bVar22 = bVar22 || puVar18 == (undefined1 *)0x0;\n  iVar14 = 5;\n  pbVar19 = *(byte **)(param_1 + 0x99c);\n  pbVar20 = local_1f0;\n  do {\n    if (iVar14 == 0) break;\n    iVar14 = iVar14 + -1;\n    bVar24 = *pbVar19 < *pbVar20;\n    bVar22 = *pbVar19 == *pbVar20;\n    pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n  } while (bVar22);\n  if ((!bVar24 && !bVar22) != bVar24) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56379;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c09ff;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a07;\n    FUN_0023b840();\n    *(byte **)(param_1 + 0x99c) = local_1f0;\n  }\nLAB_002c00a3:\n  if (*(char *)(param_1 + 0x3344) != '\0') {\n    *(undefined1 *)(param_1 + 0x32c9) = 1;\n  }\n  if (local_1bc != local_1ec) {\n    *(undefined1 **)(puVar18 + -0x10) = local_1bc;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c00d3;\n    FUN_003ae080();\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_002bf7f0(int param_1)" (identifier "FUN_002bf7f0") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  double dVar1;\n  undefined **ppuVar2;\n  undefined1 **ppuVar3;\n  undefined **ppuVar4;\n  char cVar5;\n  uint uVar6;\n  int *piVar7;\n  undefined4 *puVar8;\n  size_t sVar9;\n  uint uVar10;\n  undefined4 uVar11;\n  char *pcVar12;\n  undefined4 uVar13;\n  int iVar14;\n  undefined *puVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  bool bVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  undefined4 uStackY_230;\n  undefined1 auStack_20c [12];\n  undefined **local_200;\n  undefined **local_1fc;\n  undefined *local_1f8;\n  undefined ***local_1f4;\n  byte *local_1f0;\n  undefined1 *local_1ec;\n  undefined ***local_1e8;\n  undefined1 *local_1e4;\n  undefined1 *local_1e0;\n  undefined ***local_1dc;\n  uint local_1d8;\n  undefined1 **local_1d4;\n  undefined ***local_1d0;\n  double local_1cc;\n  undefined **local_1c4;\n  undefined1 local_1c0 [4];\n  undefined1 *local_1bc;\n  uint local_1b8;\n  undefined1 local_1b4 [16];\n  undefined1 *local_1a4;\n  int local_1a0;\n  undefined1 local_19c [16];\n  undefined2 local_18c;\n  undefined1 *local_188;\n  int local_184;\n  undefined1 local_180 [16];\n  undefined2 local_170;\n  undefined1 *local_16c;\n  int local_168;\n  undefined1 local_164 [16];\n  undefined2 local_154;\n  undefined1 *local_150;\n  int local_14c;\n  undefined1 local_148 [16];\n  undefined2 local_138;\n  undefined ***local_134;\n  int local_130;\n  undefined **local_12c [4];\n  undefined2 local_11c;\n  undefined1 local_110 [28];\n  undefined1 local_f4 [60];\n  int aiStack_b8 [5];\n  undefined **local_a4 [5];\n  byte local_90;\n  undefined4 local_34;\n  undefined2 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  bVar25 = 0;\n  local_1c4 = &__DT_PLTGOT;\n  if (*(char *)(param_1 + 0x3469) == '\0') {\n    if (*(char *)(param_1 + 0x34e5) != '\0') goto LAB_002bfd3a;\n    if (*(char *)(param_1 + 0x3561) != '\0') {\n      bVar24 = false;\n      goto LAB_002bfd49;\n    }\n    bVar24 = false;\n    if (*(char *)(param_1 + 0x7a9) != '\0') goto LAB_002bfd5c;\n  }\n  else {\n    *(undefined1 *)(param_1 + 0x34e5) = 1;\nLAB_002bfd3a:\n    bVar24 = true;\n    *(undefined1 *)(param_1 + 0x3561) = 1;\nLAB_002bfd49:\n    *(undefined1 *)(param_1 + 0x35dd) = 1;\n    if (*(char *)(param_1 + 0x7a9) != '\0') {\nLAB_002bfd5c:\n      *(undefined1 *)(param_1 + 0x1a25) = 1;\n    }\n    if (((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')) &&\n       (*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24)) {\n      local_1c4 = &__DT_PLTGOT;\n                    \n      FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1);\n    }\n  }\n  if (*(char *)(param_1 + 0xbcd) != '\0') {\n    *(undefined1 *)(param_1 + 0xb51) = 1;\n  }\n  if (*(char *)(param_1 + 0xc49) != '\0') {\n    *(undefined1 *)(param_1 + 0xb51) = 1;\n  }\n  if (*(char *)(param_1 + 0xb50) == '\0') {\n    local_1cc = (double)CONCAT71(local_1cc._1_7_,*(byte *)(param_1 + 0x318d));\n    *(byte *)(param_1 + 0xb51) = *(byte *)(param_1 + 0x318d) ^ 1;\n  }\n  bVar24 = *(char *)(param_1 + 0x4f31) == '\0';\n  if (bVar24) {\n    bVar24 = *(char *)(param_1 + 0x5545) == '\0';\n    if (!bVar24) {\n      *(undefined4 *)(param_1 + 0x5930) = 2;\n    }\n  }\n  else {\n    *(undefined4 *)(param_1 + 0x5930) = 1;\n  }\n  bVar22 = false;\n  iVar14 = 5;\n  local_1f0 = (byte *)0x48e342;\n  pbVar19 = *(byte **)(param_1 + 0x1bec);\n  pbVar20 = local_1f0;\n  do {\n    pbVar21 = pbVar20;\n    if (iVar14 == 0) break;\n    iVar14 = iVar14 + -1;\n    pbVar21 = pbVar20 + 1;\n    bVar22 = *pbVar19 < *pbVar20;\n    bVar24 = *pbVar19 == *pbVar20;\n    pbVar19 = pbVar19 + 1;\n    pbVar20 = pbVar21;\n  } while (bVar24);\n  bVar23 = false;\n  bVar24 = (!bVar22 && !bVar24) == bVar22;\n  if (bVar24) {\n    *(undefined4 *)(param_1 + 0x5934) = 0;\n  }\n  else {\n    iVar14 = 5;\n    pbVar19 = *(byte **)(param_1 + 0x1bec);\n    pbVar20 = (byte *)0x48dc94;\n    do {\n      pbVar21 = pbVar20;\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      pbVar21 = pbVar20 + 1;\n      bVar23 = *pbVar19 < *pbVar20;\n      bVar24 = *pbVar19 == *pbVar20;\n      pbVar19 = pbVar19 + 1;\n      pbVar20 = pbVar21;\n    } while (bVar24);\n    *(uint *)(param_1 + 0x5934) = ((!bVar23 && !bVar24) == bVar23) + 1;\n  }\n  if (*(char *)(param_1 + 0xd4c) == '\0') {\n    if (*(char *)(param_1 + 0xd90) == '\0') {\n      local_1c4 = &__DT_PLTGOT;\n      pcVar12 = getenv("COLLECT_NO_DEMANGLE");\n      *(bool *)(param_1 + 0x5939) = pcVar12 == (char *)0x0;\n    }\n    else {\n      *(undefined1 *)(param_1 + 0x5939) = 0;\n    }\n  }\n  else {\n    pcVar12 = *(char **)(param_1 + 0xd50);\n    *(undefined1 *)(param_1 + 0x5939) = 1;\n    local_1c4 = &__DT_PLTGOT;\n    if (*pcVar12 != '\0') {\n      iVar14 = FUN_00395b70(pcVar12);\n      if (iVar14 == 0) {\n                    \n        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);\n      }\n      FUN_00395b20(iVar14);\n    }\n  }\n  ppuVar4 = local_1c4;\n  bVar24 = false;\n  bVar22 = *(char *)(param_1 + 0x2870) == '\0';\n  if (!bVar22) {\n    pbVar19 = *(byte **)(param_1 + 0x2874);\n    iVar14 = 6;\n    pbVar20 = pbVar19;\n    pbVar21 = (byte *)((int)local_1c4 + -0x1477fe);\n    do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      bVar24 = *pbVar20 < *pbVar21;\n      bVar22 = *pbVar20 == *pbVar21;\n      pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n      pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar24 = (!bVar24 && !bVar22) == bVar24;\n    if (bVar24) {\n      *(undefined4 *)(param_1 + 0x5a88) = 0;\n    }\n    else {\n      iVar14 = 8;\n      pbVar20 = pbVar19;\n      pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar23 = *pbVar20 < *pbVar21;\n        bVar24 = *pbVar20 == *pbVar21;\n        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      bVar22 = false;\n      bVar24 = (!bVar23 && !bVar24) == bVar23;\n      if (bVar24) {\n        *(undefined4 *)(param_1 + 0x5a88) = 1;\n      }\n      else {\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }\n    }\n  }\n  if ((*(char *)(param_1 + 0x2401) != '\0') && (*(char *)(param_1 + 0x247c) == '\0')) {\n    *(undefined1 *)(param_1 + 0x247c) = 1;\n    *(undefined ***)(param_1 + 0x2480) = local_1c4 + -0x573ca;\n  }\n  if ((*(char *)(param_1 + 0x24c1) != '\0') || (*(char *)(param_1 + 0x253d) != '\0')) {\n    *(undefined1 *)(param_1 + 0x5938) = 1;\n  }\n  iVar14 = *(int *)(param_1 + 0x3de8);\n  if (0 < iVar14) {\n    if (*(int *)(param_1 + 0x3e2c) == 0) {\n      *(int *)(param_1 + 0x3e2c) = iVar14;\n    }\n    if (*(int *)(param_1 + 0x3e70) == 0) {\n      *(int *)(param_1 + 0x3e70) = iVar14;\n    }\n    if (*(int *)(param_1 + 0x3eb4) == 0) {\n      *(int *)(param_1 + 0x3eb4) = iVar14;\n    }\n  }\n  local_1d4 = &local_1bc;\n  local_1b4[0] = 0;\n  local_1ec = local_1b4;\n  local_1b8 = 0;\n  local_1bc = local_1ec;\n  if (*(char *)(param_1 + 0x4ca8) == '\0') {\n    if (*(char *)(param_1 + 0x2729) == '\0') {\n      local_1dc = local_12c;\n      local_1d0 = (undefined ***)&local_134;\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);\n      local_1a4 = local_19c;\n                    \n      FUN_0014fca0(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_18c = 1;\n      if (local_1a0 == 0) {\n                    \n        FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      local_1d8 = param_1 + 0x2184;\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_1a4);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_1a4 != local_19c) {\n        FUN_003ae080(local_1a4);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);\n      local_188 = local_180;\n                    \n      FUN_0014fca0(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_170 = 1;\n      if (local_184 == 0) {\n                    \n        FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_188);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_188 != local_180) {\n        FUN_003ae080(local_188);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);\n      local_16c = local_164;\n                    \n      FUN_0014fca0(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_154 = 1;\n      if (local_168 == 0) {\n                    \n        FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_16c);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_16c != local_164) {\n        FUN_003ae080(local_16c);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);\n      local_1e0 = local_148;\n      local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n      local_150 = local_1e0;\n                    \n      FUN_0014fca0(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_138 = 1;\n      if (local_14c == 0) {\n                    \n        FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_150 != local_1e0) {\n        FUN_003ae080(local_150);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      goto LAB_002c0258;\n    }\n  }\n  else {\n    pcVar12 = *(char **)(param_1 + 0x4cac);\n    sVar9 = strlen(pcVar12);\n    ppuVar3 = local_1d4;\n                    \n    FUN_003b6cc0(local_1d4,0,0,pcVar12,sVar9);\n    iVar14 = FUN_003b86a0(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36);\n    if (iVar14 == 0) {\n      uVar6 = local_1b8;\n      if (2 < local_1b8) {\n        uVar6 = 2;\n      }\n                    \n      FUN_003b5ec0(local_1d4,0,uVar6);\n    }\nLAB_002c0258:\n    uVar6 = 0;\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n    if (local_1b8 != 0) {\n      do {\n        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);\n        uVar16 = 0xffffffff;\n        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    \n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    \n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    \n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    \n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }\n        uVar6 = iVar14 + 1;\n      } while( true );\n    }\n  }\n  ppuVar4 = local_1c4;\n  puVar17 = auStack_20c;\n  puVar18 = auStack_20c;\n  if (*(int *)(param_1 + 0x3288) != 0) {\n    local_1e8 = local_a4;\n    local_1d0 = (undefined ***)&local_134;\n    FUN_003f2f70(local_1e8);\n    local_1fc = ppuVar4 + -0xa0e;\n    local_34 = 0;\n    local_2c = 0;\n    local_a4[0] = ppuVar4 + -0xa0c;\n    local_30 = 0;\n    local_28 = 0;\n    local_1f4 = (undefined ***)ppuVar4[-0x9d3];\n    local_1f8 = ppuVar4[-0x9d2];\n    local_24 = 0;\n    local_20 = 0;\n    local_134 = local_1f4;\n    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;\n    local_130 = 0;\n                    \n    FUN_003d8720((int)local_1f4[-3] + (int)&local_134,0);\n    local_200 = ppuVar4 + -0x9d0;\n    local_134 = (undefined ***)(ppuVar4 + -0x9cd);\n    local_a4[0] = ppuVar4 + -0x9c8;\n    local_1dc = local_12c;\n                    \n    FUN_003da940(local_12c);\n                    \n    FUN_003d8720(local_1e8,local_12c);\n                    \n    iVar14 = FUN_003dec20(local_12c,*(undefined4 *)(param_1 + 0x3288),8);\n    puVar15 = (undefined *)((int)local_1d0 + (int)local_134[-3]);\n    if (iVar14 == 0) {\n                    \n      FUN_003d7ed0(puVar15,*(uint *)(puVar15 + 0x14) | 4);\n    }\n    else {\n      FUN_003d7ed0(puVar15,0);\n    }\n    ppuVar4 = local_1c4;\n    if ((local_90 & 5) != 0) {\n      piVar7 = __errno_location();\n      pcVar12 = strerror(*piVar7);\n      uVar11 = *(undefined4 *)(param_1 + 0x3288);\n      uVar13 = gettext(local_1c4 + -0x5645f);\n                    \n                    \n      FUN_0023b7b0(uVar13,uVar11,pcVar12);\n    }\n    local_1e0 = local_148;\n    local_148[0] = 0;\n    local_14c = 0;\n    piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n    local_150 = local_1e0;\n    if (piVar7 == (int *)0x0) {\n                    \n                    \n      FUN_003f3900();\n    }\n    if ((char)piVar7[7] == '\0') {\n                    \n      FUN_003f3f90(piVar7);\n      iVar14 = 10;\n      if (*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4) {\n        cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);\n        iVar14 = (int)cVar5;\n      }\n    }\n    else {\n      iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n    }\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n                    \n    FUN_003aef80(local_1d0,&local_150,iVar14);\n    local_1d4 = (undefined1 **)(param_1 + 0x5a3c);\n    local_1e4 = local_1c0;\n    while ((local_90 & 5) == 0) {\n      if ((local_14c != 0) && (local_150[local_14c + -1] == '\r')) {\n        *(undefined4 *)(puVar17 + -8) = 0;\n        *(int *)(puVar17 + -0xc) = local_14c + -1;\n        *(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2c0187;\n        FUN_003b6a50();\n      }\n      *(undefined4 *)(puVar17 + -8) = 0xc70f6907;\n      *(int *)(puVar17 + -0xc) = local_14c;\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc8a;\n      uVar6 = FUN_003ac580();\n      local_1d8 = uVar6 % *(uint *)(param_1 + 0x5a40);\n      *(uint *)(puVar17 + -0x14) = uVar6;\n      *(undefined4 *)(puVar17 + -0x18) = local_1cc._0_4_;\n      *(uint *)(puVar17 + -0x1c) = local_1d8;\n      *(undefined1 ***)(puVar17 + -0x20) = local_1d4;\n      *(undefined4 *)(puVar17 + -0x24) = 0x2bfcb0;\n      piVar7 = (int *)FUN_0022ed10();\n      if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n        *(undefined4 *)(puVar17 + -0x10) = 0x20;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;\n        puVar8 = (undefined4 *)FUN_003ac4d0();\n        *puVar8 = 0;\n        puVar8[1] = puVar8 + 3;\n        *(undefined4 *)(puVar17 + -4) = 0;\n        *(undefined1 **)(puVar17 + -8) = local_150 + local_14c;\n        *(undefined1 **)(puVar17 + -0xc) = local_150;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;\n        FUN_0014fca0();\n        *(undefined4 *)(puVar17 + -0xc) = 1;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8;\n        *(uint *)(puVar17 + -0x14) = uVar6;\n        *(uint *)(puVar17 + -0x18) = local_1d8;\n        *(undefined1 ***)(puVar17 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar17 + -0x20) = local_1e4;\n                    \n        *(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;\n        FUN_002c4660();\n        puVar17 = puVar17 + -4;\n      }\n      ppuVar4 = local_1c4;\n      piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n      if (piVar7 == (int *)0x0) {\n                    \n                    \n        *(undefined4 *)(puVar17 + -4) = 0x2c0bff;\n        FUN_003f3900();\n      }\n      if ((char)piVar7[7] == '\0') {\n        *(int **)(puVar17 + -0x10) = piVar7;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;\n        FUN_003f3f90();\n        ppuVar2 = *(undefined ***)(*piVar7 + 0x18);\n        iVar14 = 10;\n        if (ppuVar2 != ppuVar4 + -0xdabd4) {\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }\n      }\n      else {\n        iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n      }\n      *(int *)(puVar17 + -8) = iVar14;\n      *(undefined4 *)(puVar17 + -0xc) = local_1cc._0_4_;\n      *(undefined ****)(puVar17 + -0x10) = local_1d0;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc47;\n      FUN_003aef80();\n    }\n    if (local_150 != local_1e0) {\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfe3f;\n      FUN_003ae080();\n    }\n    ppuVar4 = local_1c4;\n    *(undefined ****)(puVar17 + -0x10) = local_1dc;\n    local_134 = (undefined ***)(local_200 + 3);\n    local_a4[0] = local_200 + 8;\n    local_12c[0] = local_1c4 + -0x9ec;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe7f;\n    FUN_003de160();\n    *(undefined1 **)(puVar17 + -0x10) = local_f4;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe8d;\n    FUN_003ae8c0();\n    local_12c[0] = ppuVar4 + -0xbd1;\n    *(undefined1 **)(puVar17 + -0x10) = local_110;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeaa;\n    FUN_003b07e0();\n    local_134 = local_1f4;\n    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;\n    local_130 = 0;\n    local_a4[0] = local_1fc + 2;\n    *(undefined ****)(puVar17 + -0x10) = local_1e8;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeeb;\n    FUN_003f3310();\n    puVar18 = puVar17;\n  }\n  if ((*(char *)(param_1 + 0x72d) != '\0') && (*(char *)(param_1 + 0x42e0) == '\0')) {\n    *(int *)(param_1 + 0x42e4) = (int)local_1c4 + -0x1a1f9b;\n  }\n  if ((*(char *)(param_1 + 0x1a25) != '\0') && (*(char *)(param_1 + 0x1fc) == '\0')) {\n    *(undefined1 *)(param_1 + 0x1fd) = 1;\n  }\n  *(int *)(puVar18 + -0x10) = param_1;\n                    \n  *(undefined4 *)(puVar18 + -0x14) = 0x2bff3f;\n  FUN_002b6130();\n  if (*(char *)(param_1 + 0x1a25) == '\0') {\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      if (*(char *)(param_1 + 0x5938) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n        *(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;\n        FUN_0023b7b0();\n      }\n      if (*(char *)(param_1 + 0x318d) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;\n        FUN_0023b7b0();\n      }\n    }\n    if (*(int *)(param_1 + 0x1478) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5642f;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0cdc;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ce4;\n      FUN_0023b7b0();\n    }\n    if (*(int *)(param_1 + 0x1428) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56424;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d10;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d18;\n      FUN_0023b7b0();\n    }\n    if ((*(char *)(param_1 + 0x318d) != '\0') && (*(int *)(param_1 + 0x3288) != 0)) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56418;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0163;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined **)(puVar18 + -0x14) = &UNK_002c016b;\n      FUN_0023b7b0();\n    }\n  }\n  else {\n    if (*(char *)(param_1 + 0x5938) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e32;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c87;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x318d) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6;\n      FUN_0023b7b0();\n    }\n  }\n  *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(param_1 + 0x27ec);\n  *(undefined4 *)(puVar18 + -0x14) = 0x2bff90;\n  iVar14 = FUN_002b5ab0();\n  if ((iVar14 != 0) &&\n     (((*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')) ||\n      (*(char *)(param_1 + 0x318d) != '\0')))) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5640c;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c60;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c68;\n    FUN_0023b7b0();\n  }\n  if ((*(char *)(param_1 + 0x1ae4) != '\0') &&\n     ((dVar1 = *(double *)(param_1 + 0x1ae8), dVar1 < 0.0 || (1.0 <= dVar1)))) {\n    local_1cc = dVar1;\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563fc;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c1c;\n    uVar11 = gettext();\n    dVar1 = local_1cc;\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(double *)(puVar18 + -0xc) = dVar1;\n                    \n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c2e;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x5a1c) == '\0') {\n    if (*(int *)(param_1 + 0x5a10) == 0) goto LAB_002c00a3;\n  }\n  else if (*(int *)(param_1 + 0x5a10) == 0) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563ec;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0db6;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dbe;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x318d) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563d0;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dd5;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0ddd;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x3095) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563c4;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0df4;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dfc;\n    FUN_0023b7b0();\n  }\n  if (*(int *)(param_1 + 0x593c) != 0) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563b5;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e13;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e1b;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x56b9) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563a8;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d78;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d80;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x2931) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5639b;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d97;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d9f;\n    FUN_0023b7b0();\n  }\n  if (*(char *)(param_1 + 0x18b1) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5638f;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a6f;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a77;\n    FUN_0023b840();\n    *(undefined1 *)(param_1 + 0x18b1) = 0;\n  }\n  bVar22 = *(int *)(param_1 + 0x5934) == 0;\n  bVar24 = !bVar22;\n  if (bVar24) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56383;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a37;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a3f;\n    FUN_0023b840();\n    *(undefined4 *)(param_1 + 0x5934) = 0;\n  }\n  bVar24 = bVar24 && (undefined1 *)0xffffffef < puVar18 + -0x10;\n  bVar22 = bVar22 || puVar18 == (undefined1 *)0x0;\n  iVar14 = 5;\n  pbVar19 = *(byte **)(param_1 + 0x99c);\n  pbVar20 = local_1f0;\n  do {\n    if (iVar14 == 0) break;\n    iVar14 = iVar14 + -1;\n    bVar24 = *pbVar19 < *pbVar20;\n    bVar22 = *pbVar19 == *pbVar20;\n    pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n  } while (bVar22);\n  if ((!bVar24 && !bVar22) != bVar24) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56379;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c09ff;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a07;\n    FUN_0023b840();\n    *(byte **)(param_1 + 0x99c) = local_1f0;\n  }\nLAB_002c00a3:\n  if (*(char *)(param_1 + 0x3344) != '\0') {\n    *(undefined1 *)(param_1 + 0x32c9) = 1;\n  }\n  if (local_1bc != local_1ec) {\n    *(undefined1 **)(puVar18 + -0x10) = local_1bc;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c00d3;\n    FUN_003ae080();\n  }\n  return;\n}" ({ "{") (declaration "double dVar1;" (primitive_type "double") (identifier "dVar1") (; ";")) (declaration "undefined **ppuVar2;" (type_identifier "undefined") (pointer_declarator "**ppuVar2" (* "*") (pointer_declarator "*ppuVar2" (* "*") (identifier "ppuVar2"))) (; ";")) (declaration "undefined1 **ppuVar3;" (type_identifier "undefined1") (pointer_declarator "**ppuVar3" (* "*") (pointer_declarator "*ppuVar3" (* "*") (identifier "ppuVar3"))) (; ";")) (declaration "undefined **ppuVar4;" (type_identifier "undefined") (pointer_declarator "**ppuVar4" (* "*") (pointer_declarator "*ppuVar4" (* "*") (identifier "ppuVar4"))) (; ";")) (declaration "char cVar5;" (primitive_type "char") (identifier "cVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "int *piVar7;" (primitive_type "int") (pointer_declarator "*piVar7" (* "*") (identifier "piVar7")) (; ";")) (declaration "undefined4 *puVar8;" (type_identifier "undefined4") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "size_t sVar9;" (primitive_type "size_t") (identifier "sVar9") (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "undefined4 uVar11;" (type_identifier "undefined4") (identifier "uVar11") (; ";")) (declaration "char *pcVar12;" (primitive_type "char") (pointer_declarator "*pcVar12" (* "*") (identifier "pcVar12")) (; ";")) (declaration "undefined4 uVar13;" (type_identifier "undefined4") (identifier "uVar13") (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "undefined *puVar15;" (type_identifier "undefined") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "uint uVar16;" (type_identifier "uint") (identifier "uVar16") (; ";")) (declaration "undefined1 *puVar17;" (type_identifier "undefined1") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "undefined1 *puVar18;" (type_identifier "undefined1") (pointer_declarator "*puVar18" (* "*") (identifier "puVar18")) (; ";")) (declaration "byte *pbVar19;" (type_identifier "byte") (pointer_declarator "*pbVar19" (* "*") (identifier "pbVar19")) (; ";")) (declaration "byte *pbVar20;" (type_identifier "byte") (pointer_declarator "*pbVar20" (* "*") (identifier "pbVar20")) (; ";")) (declaration "byte *pbVar21;" (type_identifier "byte") (pointer_declarator "*pbVar21" (* "*") (identifier "pbVar21")) (; ";")) (declaration "bool bVar22;" (primitive_type "bool") (identifier "bVar22") (; ";")) (declaration "bool bVar23;" (primitive_type "bool") (identifier "bVar23") (; ";")) (declaration "bool bVar24;" (primitive_type "bool") (identifier "bVar24") (; ";")) (declaration "byte bVar25;" (type_identifier "byte") (identifier "bVar25") (; ";")) (declaration "undefined4 uStackY_230;" (type_identifier "undefined4") (identifier "uStackY_230") (; ";")) (declaration "undefined1 auStack_20c [12];" (type_identifier "undefined1") (array_declarator "auStack_20c [12]" (identifier "auStack_20c") ([ "[") (number_literal "12") (] "]")) (; ";")) (declaration "undefined **local_200;" (type_identifier "undefined") (pointer_declarator "**local_200" (* "*") (pointer_declarator "*local_200" (* "*") (identifier "local_200"))) (; ";")) (declaration "undefined **local_1fc;" (type_identifier "undefined") (pointer_declarator "**local_1fc" (* "*") (pointer_declarator "*local_1fc" (* "*") (identifier "local_1fc"))) (; ";")) (declaration "undefined *local_1f8;" (type_identifier "undefined") (pointer_declarator "*local_1f8" (* "*") (identifier "local_1f8")) (; ";")) (declaration "undefined ***local_1f4;" (type_identifier "undefined") (pointer_declarator "***local_1f4" (* "*") (pointer_declarator "**local_1f4" (* "*") (pointer_declarator "*local_1f4" (* "*") (identifier "local_1f4")))) (; ";")) (declaration "byte *local_1f0;" (type_identifier "byte") (pointer_declarator "*local_1f0" (* "*") (identifier "local_1f0")) (; ";")) (declaration "undefined1 *local_1ec;" (type_identifier "undefined1") (pointer_declarator "*local_1ec" (* "*") (identifier "local_1ec")) (; ";")) (declaration "undefined ***local_1e8;" (type_identifier "undefined") (pointer_declarator "***local_1e8" (* "*") (pointer_declarator "**local_1e8" (* "*") (pointer_declarator "*local_1e8" (* "*") (identifier "local_1e8")))) (; ";")) (declaration "undefined1 *local_1e4;" (type_identifier "undefined1") (pointer_declarator "*local_1e4" (* "*") (identifier "local_1e4")) (; ";")) (declaration "undefined1 *local_1e0;" (type_identifier "undefined1") (pointer_declarator "*local_1e0" (* "*") (identifier "local_1e0")) (; ";")) (declaration "undefined ***local_1dc;" (type_identifier "undefined") (pointer_declarator "***local_1dc" (* "*") (pointer_declarator "**local_1dc" (* "*") (pointer_declarator "*local_1dc" (* "*") (identifier "local_1dc")))) (; ";")) (declaration "uint local_1d8;" (type_identifier "uint") (identifier "local_1d8") (; ";")) (declaration "undefined1 **local_1d4;" (type_identifier "undefined1") (pointer_declarator "**local_1d4" (* "*") (pointer_declarator "*local_1d4" (* "*") (identifier "local_1d4"))) (; ";")) (declaration "undefined ***local_1d0;" (type_identifier "undefined") (pointer_declarator "***local_1d0" (* "*") (pointer_declarator "**local_1d0" (* "*") (pointer_declarator "*local_1d0" (* "*") (identifier "local_1d0")))) (; ";")) (declaration "double local_1cc;" (primitive_type "double") (identifier "local_1cc") (; ";")) (declaration "undefined **local_1c4;" (type_identifier "undefined") (pointer_declarator "**local_1c4" (* "*") (pointer_declarator "*local_1c4" (* "*") (identifier "local_1c4"))) (; ";")) (declaration "undefined1 local_1c0 [4];" (type_identifier "undefined1") (array_declarator "local_1c0 [4]" (identifier "local_1c0") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined1 *local_1bc;" (type_identifier "undefined1") (pointer_declarator "*local_1bc" (* "*") (identifier "local_1bc")) (; ";")) (declaration "uint local_1b8;" (type_identifier "uint") (identifier "local_1b8") (; ";")) (declaration "undefined1 local_1b4 [16];" (type_identifier "undefined1") (array_declarator "local_1b4 [16]" (identifier "local_1b4") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 *local_1a4;" (type_identifier "undefined1") (pointer_declarator "*local_1a4" (* "*") (identifier "local_1a4")) (; ";")) (declaration "int local_1a0;" (primitive_type "int") (identifier "local_1a0") (; ";")) (declaration "undefined1 local_19c [16];" (type_identifier "undefined1") (array_declarator "local_19c [16]" (identifier "local_19c") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined2 local_18c;" (type_identifier "undefined2") (identifier "local_18c") (; ";")) (declaration "undefined1 *local_188;" (type_identifier "undefined1") (pointer_declarator "*local_188" (* "*") (identifier "local_188")) (; ";")) (declaration "int local_184;" (primitive_type "int") (identifier "local_184") (; ";")) (declaration "undefined1 local_180 [16];" (type_identifier "undefined1") (array_declarator "local_180 [16]" (identifier "local_180") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined2 local_170;" (type_identifier "undefined2") (identifier "local_170") (; ";")) (declaration "undefined1 *local_16c;" (type_identifier "undefined1") (pointer_declarator "*local_16c" (* "*") (identifier "local_16c")) (; ";")) (declaration "int local_168;" (primitive_type "int") (identifier "local_168") (; ";")) (declaration "undefined1 local_164 [16];" (type_identifier "undefined1") (array_declarator "local_164 [16]" (identifier "local_164") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined2 local_154;" (type_identifier "undefined2") (identifier "local_154") (; ";")) (declaration "undefined1 *local_150;" (type_identifier "undefined1") (pointer_declarator "*local_150" (* "*") (identifier "local_150")) (; ";")) (declaration "int local_14c;" (primitive_type "int") (identifier "local_14c") (; ";")) (declaration "undefined1 local_148 [16];" (type_identifier "undefined1") (array_declarator "local_148 [16]" (identifier "local_148") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined2 local_138;" (type_identifier "undefined2") (identifier "local_138") (; ";")) (declaration "undefined ***local_134;" (type_identifier "undefined") (pointer_declarator "***local_134" (* "*") (pointer_declarator "**local_134" (* "*") (pointer_declarator "*local_134" (* "*") (identifier "local_134")))) (; ";")) (declaration "int local_130;" (primitive_type "int") (identifier "local_130") (; ";")) (declaration "undefined **local_12c [4];" (type_identifier "undefined") (pointer_declarator "**local_12c [4]" (* "*") (pointer_declarator "*local_12c [4]" (* "*") (array_declarator "local_12c [4]" (identifier "local_12c") ([ "[") (number_literal "4") (] "]")))) (; ";")) (declaration "undefined2 local_11c;" (type_identifier "undefined2") (identifier "local_11c") (; ";")) (declaration "undefined1 local_110 [28];" (type_identifier "undefined1") (array_declarator "local_110 [28]" (identifier "local_110") ([ "[") (number_literal "28") (] "]")) (; ";")) (declaration "undefined1 local_f4 [60];" (type_identifier "undefined1") (array_declarator "local_f4 [60]" (identifier "local_f4") ([ "[") (number_literal "60") (] "]")) (; ";")) (declaration "int aiStack_b8 [5];" (primitive_type "int") (array_declarator "aiStack_b8 [5]" (identifier "aiStack_b8") ([ "[") (number_literal "5") (] "]")) (; ";")) (declaration "undefined **local_a4 [5];" (type_identifier "undefined") (pointer_declarator "**local_a4 [5]" (* "*") (pointer_declarator "*local_a4 [5]" (* "*") (array_declarator "local_a4 [5]" (identifier "local_a4") ([ "[") (number_literal "5") (] "]")))) (; ";")) (declaration "byte local_90;" (type_identifier "byte") (identifier "local_90") (; ";")) (declaration "undefined4 local_34;" (type_identifier "undefined4") (identifier "local_34") (; ";")) (declaration "undefined2 local_30;" (type_identifier "undefined2") (identifier "local_30") (; ";")) (declaration "undefined4 local_2c;" (type_identifier "undefined4") (identifier "local_2c") (; ";")) (declaration "undefined4 local_28;" (type_identifier "undefined4") (identifier "local_28") (; ";")) (declaration "undefined4 local_24;" (type_identifier "undefined4") (identifier "local_24") (; ";")) (declaration "undefined4 local_20;" (type_identifier "undefined4") (identifier "local_20") (; ";")) (expression_statement "bVar25 = 0;" (assignment_expression "bVar25 = 0" (identifier "bVar25") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_1c4 = &__DT_PLTGOT;" (assignment_expression "local_1c4 = &__DT_PLTGOT" (identifier "local_1c4") (= "=") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (; ";")) (if_statement "if (*(char *)(param_1 + 0x3469) == '\0') {\n    if (*(char *)(param_1 + 0x34e5) != '\0') goto LAB_002bfd3a;\n    if (*(char *)(param_1 + 0x3561) != '\0') {\n      bVar24 = false;\n      goto LAB_002bfd49;\n    }\n    bVar24 = false;\n    if (*(char *)(param_1 + 0x7a9) != '\0') goto LAB_002bfd5c;\n  }\n  else {\n    *(undefined1 *)(param_1 + 0x34e5) = 1;\nLAB_002bfd3a:\n    bVar24 = true;\n    *(undefined1 *)(param_1 + 0x3561) = 1;\nLAB_002bfd49:\n    *(undefined1 *)(param_1 + 0x35dd) = 1;\n    if (*(char *)(param_1 + 0x7a9) != '\0') {\nLAB_002bfd5c:\n      *(undefined1 *)(param_1 + 0x1a25) = 1;\n    }\n    if (((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')) &&\n       (*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24)) {\n      local_1c4 = &__DT_PLTGOT;\n                    \n      FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1);\n    }\n  }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x3469) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x3469) == '\0'" (pointer_expression "*(char *)(param_1 + 0x3469)" (* "*") (cast_expression "(char *)(param_1 + 0x3469)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3469)" (( "(") (binary_expression "param_1 + 0x3469" (identifier "param_1") (+ "+") (number_literal "0x3469")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    if (*(char *)(param_1 + 0x34e5) != '\0') goto LAB_002bfd3a;\n    if (*(char *)(param_1 + 0x3561) != '\0') {\n      bVar24 = false;\n      goto LAB_002bfd49;\n    }\n    bVar24 = false;\n    if (*(char *)(param_1 + 0x7a9) != '\0') goto LAB_002bfd5c;\n  }" ({ "{") (if_statement "if (*(char *)(param_1 + 0x34e5) != '\0') goto LAB_002bfd3a;" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x34e5) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x34e5) != '\0'" (pointer_expression "*(char *)(param_1 + 0x34e5)" (* "*") (cast_expression "(char *)(param_1 + 0x34e5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34e5)" (( "(") (binary_expression "param_1 + 0x34e5" (identifier "param_1") (+ "+") (number_literal "0x34e5")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_002bfd3a;" (goto "goto") (statement_identifier "LAB_002bfd3a") (; ";"))) (if_statement "if (*(char *)(param_1 + 0x3561) != '\0') {\n      bVar24 = false;\n      goto LAB_002bfd49;\n    }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x3561) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x3561) != '\0'" (pointer_expression "*(char *)(param_1 + 0x3561)" (* "*") (cast_expression "(char *)(param_1 + 0x3561)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3561)" (( "(") (binary_expression "param_1 + 0x3561" (identifier "param_1") (+ "+") (number_literal "0x3561")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      bVar24 = false;\n      goto LAB_002bfd49;\n    }" ({ "{") (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" (identifier "bVar24") (= "=") (false "false")) (; ";")) (goto_statement "goto LAB_002bfd49;" (goto "goto") (statement_identifier "LAB_002bfd49") (; ";")) (} "}"))) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" (identifier "bVar24") (= "=") (false "false")) (; ";")) (if_statement "if (*(char *)(param_1 + 0x7a9) != '\0') goto LAB_002bfd5c;" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x7a9) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x7a9) != '\0'" (pointer_expression "*(char *)(param_1 + 0x7a9)" (* "*") (cast_expression "(char *)(param_1 + 0x7a9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x7a9)" (( "(") (binary_expression "param_1 + 0x7a9" (identifier "param_1") (+ "+") (number_literal "0x7a9")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_002bfd5c;" (goto "goto") (statement_identifier "LAB_002bfd5c") (; ";"))) (} "}")) (else_clause "else {\n    *(undefined1 *)(param_1 + 0x34e5) = 1;\nLAB_002bfd3a:\n    bVar24 = true;\n    *(undefined1 *)(param_1 + 0x3561) = 1;\nLAB_002bfd49:\n    *(undefined1 *)(param_1 + 0x35dd) = 1;\n    if (*(char *)(param_1 + 0x7a9) != '\0') {\nLAB_002bfd5c:\n      *(undefined1 *)(param_1 + 0x1a25) = 1;\n    }\n    if (((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')) &&\n       (*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24)) {\n      local_1c4 = &__DT_PLTGOT;\n                    \n      FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1);\n    }\n  }" (else "else") (compound_statement "{\n    *(undefined1 *)(param_1 + 0x34e5) = 1;\nLAB_002bfd3a:\n    bVar24 = true;\n    *(undefined1 *)(param_1 + 0x3561) = 1;\nLAB_002bfd49:\n    *(undefined1 *)(param_1 + 0x35dd) = 1;\n    if (*(char *)(param_1 + 0x7a9) != '\0') {\nLAB_002bfd5c:\n      *(undefined1 *)(param_1 + 0x1a25) = 1;\n    }\n    if (((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')) &&\n       (*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24)) {\n      local_1c4 = &__DT_PLTGOT;\n                    \n      FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1);\n    }\n  }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 0x34e5) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x34e5) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x34e5)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x34e5)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34e5)" (( "(") (binary_expression "param_1 + 0x34e5" (identifier "param_1") (+ "+") (number_literal "0x34e5")) () ")")))) (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_002bfd3a:\n    bVar24 = true;" (statement_identifier "LAB_002bfd3a") (: ":") (expression_statement "bVar24 = true;" (assignment_expression "bVar24 = true" (identifier "bVar24") (= "=") (true "true")) (; ";"))) (expression_statement "*(undefined1 *)(param_1 + 0x3561) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x3561) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x3561)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x3561)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3561)" (( "(") (binary_expression "param_1 + 0x3561" (identifier "param_1") (+ "+") (number_literal "0x3561")) () ")")))) (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_002bfd49:\n    *(undefined1 *)(param_1 + 0x35dd) = 1;" (statement_identifier "LAB_002bfd49") (: ":") (expression_statement "*(undefined1 *)(param_1 + 0x35dd) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x35dd) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x35dd)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x35dd)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x35dd)" (( "(") (binary_expression "param_1 + 0x35dd" (identifier "param_1") (+ "+") (number_literal "0x35dd")) () ")")))) (= "=") (number_literal "1")) (; ";"))) (if_statement "if (*(char *)(param_1 + 0x7a9) != '\0') {\nLAB_002bfd5c:\n      *(undefined1 *)(param_1 + 0x1a25) = 1;\n    }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x7a9) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x7a9) != '\0'" (pointer_expression "*(char *)(param_1 + 0x7a9)" (* "*") (cast_expression "(char *)(param_1 + 0x7a9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x7a9)" (( "(") (binary_expression "param_1 + 0x7a9" (identifier "param_1") (+ "+") (number_literal "0x7a9")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_002bfd5c:\n      *(undefined1 *)(param_1 + 0x1a25) = 1;\n    }" ({ "{") (labeled_statement "LAB_002bfd5c:\n      *(undefined1 *)(param_1 + 0x1a25) = 1;" (statement_identifier "LAB_002bfd5c") (: ":") (expression_statement "*(undefined1 *)(param_1 + 0x1a25) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x1a25) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x1a25)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x1a25)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1a25)" (( "(") (binary_expression "param_1 + 0x1a25" (identifier "param_1") (+ "+") (number_literal "0x1a25")) () ")")))) (= "=") (number_literal "1")) (; ";"))) (} "}"))) (if_statement "if (((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')) &&\n       (*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24)) {\n      local_1c4 = &__DT_PLTGOT;\n                    \n      FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1);\n    }" (if "if") (parenthesized_expression "(((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')) &&\n       (*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24))" (( "(") (binary_expression "((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')) &&\n       (*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24)" (parenthesized_expression "((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0'))" (( "(") (binary_expression "(*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')" (parenthesized_expression "(*(char *)(param_1 + 0x3469) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x3469) != '\0'" (pointer_expression "*(char *)(param_1 + 0x3469)" (* "*") (cast_expression "(char *)(param_1 + 0x3469)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3469)" (( "(") (binary_expression "param_1 + 0x3469" (identifier "param_1") (+ "+") (number_literal "0x3469")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(param_1 + 0x318d) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x318d) != '\0'" (pointer_expression "*(char *)(param_1 + 0x318d)" (* "*") (cast_expression "(char *)(param_1 + 0x318d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x318d)" (( "(") (binary_expression "param_1 + 0x318d" (identifier "param_1") (+ "+") (number_literal "0x318d")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24)" (( "(") (comma_expression "*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24" (assignment_expression "*(undefined1 *)(param_1 + 0x3469) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x3469)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x3469)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3469)" (( "(") (binary_expression "param_1 + 0x3469" (identifier "param_1") (+ "+") (number_literal "0x3469")) () ")")))) (= "=") (number_literal "0")) (, ",") (unary_expression "!bVar24" (! "!") (identifier "bVar24"))) () ")"))) () ")")) (compound_statement "{\n      local_1c4 = &__DT_PLTGOT;\n                    \n      FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1);\n    }" ({ "{") (expression_statement "local_1c4 = &__DT_PLTGOT;" (assignment_expression "local_1c4 = &__DT_PLTGOT" (identifier "local_1c4") (= "=") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (; ";")) (expression_statement "FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1);" (call_expression "FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1)" (identifier "FUN_002446e0") (argument_list "("../../gold/options.cc",0x453,"finalize",param_1)" (( "(") (string_literal ""../../gold/options.cc"" (" """) (string_content "../../gold/options.cc") (" """)) (, ",") (number_literal "0x453") (, ",") (string_literal ""finalize"" (" """) (string_content "finalize") (" """)) (, ",") (identifier "param_1") () ")"))) (; ";")) (} "}"))) (} "}")))) (if_statement "if (*(char *)(param_1 + 0xbcd) != '\0') {\n    *(undefined1 *)(param_1 + 0xb51) = 1;\n  }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0xbcd) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0xbcd) != '\0'" (pointer_expression "*(char *)(param_1 + 0xbcd)" (* "*") (cast_expression "(char *)(param_1 + 0xbcd)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xbcd)" (( "(") (binary_expression "param_1 + 0xbcd" (identifier "param_1") (+ "+") (number_literal "0xbcd")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    *(undefined1 *)(param_1 + 0xb51) = 1;\n  }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 0xb51) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0xb51) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0xb51)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0xb51)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xb51)" (( "(") (binary_expression "param_1 + 0xb51" (identifier "param_1") (+ "+") (number_literal "0xb51")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}"))) (if_statement "if (*(char *)(param_1 + 0xc49) != '\0') {\n    *(undefined1 *)(param_1 + 0xb51) = 1;\n  }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0xc49) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0xc49) != '\0'" (pointer_expression "*(char *)(param_1 + 0xc49)" (* "*") (cast_expression "(char *)(param_1 + 0xc49)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc49)" (( "(") (binary_expression "param_1 + 0xc49" (identifier "param_1") (+ "+") (number_literal "0xc49")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    *(undefined1 *)(param_1 + 0xb51) = 1;\n  }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 0xb51) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0xb51) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0xb51)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0xb51)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xb51)" (( "(") (binary_expression "param_1 + 0xb51" (identifier "param_1") (+ "+") (number_literal "0xb51")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}"))) (if_statement "if (*(char *)(param_1 + 0xb50) == '\0') {\n    local_1cc = (double)CONCAT71(local_1cc._1_7_,*(byte *)(param_1 + 0x318d));\n    *(byte *)(param_1 + 0xb51) = *(byte *)(param_1 + 0x318d) ^ 1;\n  }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0xb50) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0xb50) == '\0'" (pointer_expression "*(char *)(param_1 + 0xb50)" (* "*") (cast_expression "(char *)(param_1 + 0xb50)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xb50)" (( "(") (binary_expression "param_1 + 0xb50" (identifier "param_1") (+ "+") (number_literal "0xb50")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    local_1cc = (double)CONCAT71(local_1cc._1_7_,*(byte *)(param_1 + 0x318d));\n    *(byte *)(param_1 + 0xb51) = *(byte *)(param_1 + 0x318d) ^ 1;\n  }" ({ "{") (expression_statement "local_1cc = (double)CONCAT71(local_1cc._1_7_,*(byte *)(param_1 + 0x318d));" (assignment_expression "local_1cc = (double)CONCAT71(local_1cc._1_7_,*(byte *)(param_1 + 0x318d))" (identifier "local_1cc") (= "=") (cast_expression "(double)CONCAT71(local_1cc._1_7_,*(byte *)(param_1 + 0x318d))" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "CONCAT71(local_1cc._1_7_,*(byte *)(param_1 + 0x318d))" (identifier "CONCAT71") (argument_list "(local_1cc._1_7_,*(byte *)(param_1 + 0x318d))" (( "(") (field_expression "local_1cc._1_7_" (identifier "local_1cc") (. ".") (field_identifier "_1_7_")) (, ",") (pointer_expression "*(byte *)(param_1 + 0x318d)" (* "*") (cast_expression "(byte *)(param_1 + 0x318d)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x318d)" (( "(") (binary_expression "param_1 + 0x318d" (identifier "param_1") (+ "+") (number_literal "0x318d")) () ")")))) () ")"))))) (; ";")) (expression_statement "*(byte *)(param_1 + 0xb51) = *(byte *)(param_1 + 0x318d) ^ 1;" (assignment_expression "*(byte *)(param_1 + 0xb51) = *(byte *)(param_1 + 0x318d) ^ 1" (pointer_expression "*(byte *)(param_1 + 0xb51)" (* "*") (cast_expression "(byte *)(param_1 + 0xb51)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xb51)" (( "(") (binary_expression "param_1 + 0xb51" (identifier "param_1") (+ "+") (number_literal "0xb51")) () ")")))) (= "=") (binary_expression "*(byte *)(param_1 + 0x318d) ^ 1" (pointer_expression "*(byte *)(param_1 + 0x318d)" (* "*") (cast_expression "(byte *)(param_1 + 0x318d)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x318d)" (( "(") (binary_expression "param_1 + 0x318d" (identifier "param_1") (+ "+") (number_literal "0x318d")) () ")")))) (^ "^") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "bVar24 = *(char *)(param_1 + 0x4f31) == '\0';" (assignment_expression "bVar24 = *(char *)(param_1 + 0x4f31) == '\0'" (identifier "bVar24") (= "=") (binary_expression "*(char *)(param_1 + 0x4f31) == '\0'" (pointer_expression "*(char *)(param_1 + 0x4f31)" (* "*") (cast_expression "(char *)(param_1 + 0x4f31)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x4f31)" (( "(") (binary_expression "param_1 + 0x4f31" (identifier "param_1") (+ "+") (number_literal "0x4f31")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) (; ";")) (if_statement "if (bVar24) {\n    bVar24 = *(char *)(param_1 + 0x5545) == '\0';\n    if (!bVar24) {\n      *(undefined4 *)(param_1 + 0x5930) = 2;\n    }\n  }\n  else {\n    *(undefined4 *)(param_1 + 0x5930) = 1;\n  }" (if "if") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (compound_statement "{\n    bVar24 = *(char *)(param_1 + 0x5545) == '\0';\n    if (!bVar24) {\n      *(undefined4 *)(param_1 + 0x5930) = 2;\n    }\n  }" ({ "{") (expression_statement "bVar24 = *(char *)(param_1 + 0x5545) == '\0';" (assignment_expression "bVar24 = *(char *)(param_1 + 0x5545) == '\0'" (identifier "bVar24") (= "=") (binary_expression "*(char *)(param_1 + 0x5545) == '\0'" (pointer_expression "*(char *)(param_1 + 0x5545)" (* "*") (cast_expression "(char *)(param_1 + 0x5545)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5545)" (( "(") (binary_expression "param_1 + 0x5545" (identifier "param_1") (+ "+") (number_literal "0x5545")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) (; ";")) (if_statement "if (!bVar24) {\n      *(undefined4 *)(param_1 + 0x5930) = 2;\n    }" (if "if") (parenthesized_expression "(!bVar24)" (( "(") (unary_expression "!bVar24" (! "!") (identifier "bVar24")) () ")")) (compound_statement "{\n      *(undefined4 *)(param_1 + 0x5930) = 2;\n    }" ({ "{") (expression_statement "*(undefined4 *)(param_1 + 0x5930) = 2;" (assignment_expression "*(undefined4 *)(param_1 + 0x5930) = 2" (pointer_expression "*(undefined4 *)(param_1 + 0x5930)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x5930)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5930)" (( "(") (binary_expression "param_1 + 0x5930" (identifier "param_1") (+ "+") (number_literal "0x5930")) () ")")))) (= "=") (number_literal "2")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    *(undefined4 *)(param_1 + 0x5930) = 1;\n  }" (else "else") (compound_statement "{\n    *(undefined4 *)(param_1 + 0x5930) = 1;\n  }" ({ "{") (expression_statement "*(undefined4 *)(param_1 + 0x5930) = 1;" (assignment_expression "*(undefined4 *)(param_1 + 0x5930) = 1" (pointer_expression "*(undefined4 *)(param_1 + 0x5930)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x5930)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5930)" (( "(") (binary_expression "param_1 + 0x5930" (identifier "param_1") (+ "+") (number_literal "0x5930")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}")))) (expression_statement "bVar22 = false;" (assignment_expression "bVar22 = false" (identifier "bVar22") (= "=") (false "false")) (; ";")) (expression_statement "iVar14 = 5;" (assignment_expression "iVar14 = 5" (identifier "iVar14") (= "=") (number_literal "5")) (; ";")) (expression_statement "local_1f0 = (byte *)0x48e342;" (assignment_expression "local_1f0 = (byte *)0x48e342" (identifier "local_1f0") (= "=") (cast_expression "(byte *)0x48e342" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x48e342"))) (; ";")) (expression_statement "pbVar19 = *(byte **)(param_1 + 0x1bec);" (assignment_expression "pbVar19 = *(byte **)(param_1 + 0x1bec)" (identifier "pbVar19") (= "=") (pointer_expression "*(byte **)(param_1 + 0x1bec)" (* "*") (cast_expression "(byte **)(param_1 + 0x1bec)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x1bec)" (( "(") (binary_expression "param_1 + 0x1bec" (identifier "param_1") (+ "+") (number_literal "0x1bec")) () ")"))))) (; ";")) (expression_statement "pbVar20 = local_1f0;" (assignment_expression "pbVar20 = local_1f0" (identifier "pbVar20") (= "=") (identifier "local_1f0")) (; ";")) (do_statement "do {\n    pbVar21 = pbVar20;\n    if (iVar14 == 0) break;\n    iVar14 = iVar14 + -1;\n    pbVar21 = pbVar20 + 1;\n    bVar22 = *pbVar19 < *pbVar20;\n    bVar24 = *pbVar19 == *pbVar20;\n    pbVar19 = pbVar19 + 1;\n    pbVar20 = pbVar21;\n  } while (bVar24);" (do "do") (compound_statement "{\n    pbVar21 = pbVar20;\n    if (iVar14 == 0) break;\n    iVar14 = iVar14 + -1;\n    pbVar21 = pbVar20 + 1;\n    bVar22 = *pbVar19 < *pbVar20;\n    bVar24 = *pbVar19 == *pbVar20;\n    pbVar19 = pbVar19 + 1;\n    pbVar20 = pbVar21;\n  }" ({ "{") (expression_statement "pbVar21 = pbVar20;" (assignment_expression "pbVar21 = pbVar20" (identifier "pbVar21") (= "=") (identifier "pbVar20")) (; ";")) (if_statement "if (iVar14 == 0) break;" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" (identifier "iVar14") (= "=") (binary_expression "iVar14 + -1" (identifier "iVar14") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "pbVar21 = pbVar20 + 1;" (assignment_expression "pbVar21 = pbVar20 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar20 + 1" (identifier "pbVar20") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar22 = *pbVar19 < *pbVar20;" (assignment_expression "bVar22 = *pbVar19 < *pbVar20" (identifier "bVar22") (= "=") (binary_expression "*pbVar19 < *pbVar20" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (< "<") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "bVar24 = *pbVar19 == *pbVar20;" (assignment_expression "bVar24 = *pbVar19 == *pbVar20" (identifier "bVar24") (= "=") (binary_expression "*pbVar19 == *pbVar20" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (== "==") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "pbVar19 = pbVar19 + 1;" (assignment_expression "pbVar19 = pbVar19 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + 1" (identifier "pbVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar20 = pbVar21;" (assignment_expression "pbVar20 = pbVar21" (identifier "pbVar20") (= "=") (identifier "pbVar21")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (; ";")) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" (identifier "bVar23") (= "=") (false "false")) (; ";")) (expression_statement "bVar24 = (!bVar22 && !bVar24) == bVar22;" (assignment_expression "bVar24 = (!bVar22 && !bVar24) == bVar22" (identifier "bVar24") (= "=") (binary_expression "(!bVar22 && !bVar24) == bVar22" (parenthesized_expression "(!bVar22 && !bVar24)" (( "(") (binary_expression "!bVar22 && !bVar24" (unary_expression "!bVar22" (! "!") (identifier "bVar22")) (&& "&&") (unary_expression "!bVar24" (! "!") (identifier "bVar24"))) () ")")) (== "==") (identifier "bVar22"))) (; ";")) (if_statement "if (bVar24) {\n    *(undefined4 *)(param_1 + 0x5934) = 0;\n  }\n  else {\n    iVar14 = 5;\n    pbVar19 = *(byte **)(param_1 + 0x1bec);\n    pbVar20 = (byte *)0x48dc94;\n    do {\n      pbVar21 = pbVar20;\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      pbVar21 = pbVar20 + 1;\n      bVar23 = *pbVar19 < *pbVar20;\n      bVar24 = *pbVar19 == *pbVar20;\n      pbVar19 = pbVar19 + 1;\n      pbVar20 = pbVar21;\n    } while (bVar24);\n    *(uint *)(param_1 + 0x5934) = ((!bVar23 && !bVar24) == bVar23) + 1;\n  }" (if "if") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (compound_statement "{\n    *(undefined4 *)(param_1 + 0x5934) = 0;\n  }" ({ "{") (expression_statement "*(undefined4 *)(param_1 + 0x5934) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x5934) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x5934)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x5934)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5934)" (( "(") (binary_expression "param_1 + 0x5934" (identifier "param_1") (+ "+") (number_literal "0x5934")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    iVar14 = 5;\n    pbVar19 = *(byte **)(param_1 + 0x1bec);\n    pbVar20 = (byte *)0x48dc94;\n    do {\n      pbVar21 = pbVar20;\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      pbVar21 = pbVar20 + 1;\n      bVar23 = *pbVar19 < *pbVar20;\n      bVar24 = *pbVar19 == *pbVar20;\n      pbVar19 = pbVar19 + 1;\n      pbVar20 = pbVar21;\n    } while (bVar24);\n    *(uint *)(param_1 + 0x5934) = ((!bVar23 && !bVar24) == bVar23) + 1;\n  }" (else "else") (compound_statement "{\n    iVar14 = 5;\n    pbVar19 = *(byte **)(param_1 + 0x1bec);\n    pbVar20 = (byte *)0x48dc94;\n    do {\n      pbVar21 = pbVar20;\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      pbVar21 = pbVar20 + 1;\n      bVar23 = *pbVar19 < *pbVar20;\n      bVar24 = *pbVar19 == *pbVar20;\n      pbVar19 = pbVar19 + 1;\n      pbVar20 = pbVar21;\n    } while (bVar24);\n    *(uint *)(param_1 + 0x5934) = ((!bVar23 && !bVar24) == bVar23) + 1;\n  }" ({ "{") (expression_statement "iVar14 = 5;" (assignment_expression "iVar14 = 5" (identifier "iVar14") (= "=") (number_literal "5")) (; ";")) (expression_statement "pbVar19 = *(byte **)(param_1 + 0x1bec);" (assignment_expression "pbVar19 = *(byte **)(param_1 + 0x1bec)" (identifier "pbVar19") (= "=") (pointer_expression "*(byte **)(param_1 + 0x1bec)" (* "*") (cast_expression "(byte **)(param_1 + 0x1bec)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x1bec)" (( "(") (binary_expression "param_1 + 0x1bec" (identifier "param_1") (+ "+") (number_literal "0x1bec")) () ")"))))) (; ";")) (expression_statement "pbVar20 = (byte *)0x48dc94;" (assignment_expression "pbVar20 = (byte *)0x48dc94" (identifier "pbVar20") (= "=") (cast_expression "(byte *)0x48dc94" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x48dc94"))) (; ";")) (do_statement "do {\n      pbVar21 = pbVar20;\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      pbVar21 = pbVar20 + 1;\n      bVar23 = *pbVar19 < *pbVar20;\n      bVar24 = *pbVar19 == *pbVar20;\n      pbVar19 = pbVar19 + 1;\n      pbVar20 = pbVar21;\n    } while (bVar24);" (do "do") (compound_statement "{\n      pbVar21 = pbVar20;\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      pbVar21 = pbVar20 + 1;\n      bVar23 = *pbVar19 < *pbVar20;\n      bVar24 = *pbVar19 == *pbVar20;\n      pbVar19 = pbVar19 + 1;\n      pbVar20 = pbVar21;\n    }" ({ "{") (expression_statement "pbVar21 = pbVar20;" (assignment_expression "pbVar21 = pbVar20" (identifier "pbVar21") (= "=") (identifier "pbVar20")) (; ";")) (if_statement "if (iVar14 == 0) break;" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" (identifier "iVar14") (= "=") (binary_expression "iVar14 + -1" (identifier "iVar14") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "pbVar21 = pbVar20 + 1;" (assignment_expression "pbVar21 = pbVar20 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar20 + 1" (identifier "pbVar20") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar23 = *pbVar19 < *pbVar20;" (assignment_expression "bVar23 = *pbVar19 < *pbVar20" (identifier "bVar23") (= "=") (binary_expression "*pbVar19 < *pbVar20" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (< "<") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "bVar24 = *pbVar19 == *pbVar20;" (assignment_expression "bVar24 = *pbVar19 == *pbVar20" (identifier "bVar24") (= "=") (binary_expression "*pbVar19 == *pbVar20" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (== "==") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "pbVar19 = pbVar19 + 1;" (assignment_expression "pbVar19 = pbVar19 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + 1" (identifier "pbVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar20 = pbVar21;" (assignment_expression "pbVar20 = pbVar21" (identifier "pbVar20") (= "=") (identifier "pbVar21")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (; ";")) (expression_statement "*(uint *)(param_1 + 0x5934) = ((!bVar23 && !bVar24) == bVar23) + 1;" (assignment_expression "*(uint *)(param_1 + 0x5934) = ((!bVar23 && !bVar24) == bVar23) + 1" (pointer_expression "*(uint *)(param_1 + 0x5934)" (* "*") (cast_expression "(uint *)(param_1 + 0x5934)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5934)" (( "(") (binary_expression "param_1 + 0x5934" (identifier "param_1") (+ "+") (number_literal "0x5934")) () ")")))) (= "=") (binary_expression "((!bVar23 && !bVar24) == bVar23) + 1" (parenthesized_expression "((!bVar23 && !bVar24) == bVar23)" (( "(") (binary_expression "(!bVar23 && !bVar24) == bVar23" (parenthesized_expression "(!bVar23 && !bVar24)" (( "(") (binary_expression "!bVar23 && !bVar24" (unary_expression "!bVar23" (! "!") (identifier "bVar23")) (&& "&&") (unary_expression "!bVar24" (! "!") (identifier "bVar24"))) () ")")) (== "==") (identifier "bVar23")) () ")")) (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (if_statement "if (*(char *)(param_1 + 0xd4c) == '\0') {\n    if (*(char *)(param_1 + 0xd90) == '\0') {\n      local_1c4 = &__DT_PLTGOT;\n      pcVar12 = getenv("COLLECT_NO_DEMANGLE");\n      *(bool *)(param_1 + 0x5939) = pcVar12 == (char *)0x0;\n    }\n    else {\n      *(undefined1 *)(param_1 + 0x5939) = 0;\n    }\n  }\n  else {\n    pcVar12 = *(char **)(param_1 + 0xd50);\n    *(undefined1 *)(param_1 + 0x5939) = 1;\n    local_1c4 = &__DT_PLTGOT;\n    if (*pcVar12 != '\0') {\n      iVar14 = FUN_00395b70(pcVar12);\n      if (iVar14 == 0) {\n                    \n        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);\n      }\n      FUN_00395b20(iVar14);\n    }\n  }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0xd4c) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0xd4c) == '\0'" (pointer_expression "*(char *)(param_1 + 0xd4c)" (* "*") (cast_expression "(char *)(param_1 + 0xd4c)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xd4c)" (( "(") (binary_expression "param_1 + 0xd4c" (identifier "param_1") (+ "+") (number_literal "0xd4c")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    if (*(char *)(param_1 + 0xd90) == '\0') {\n      local_1c4 = &__DT_PLTGOT;\n      pcVar12 = getenv("COLLECT_NO_DEMANGLE");\n      *(bool *)(param_1 + 0x5939) = pcVar12 == (char *)0x0;\n    }\n    else {\n      *(undefined1 *)(param_1 + 0x5939) = 0;\n    }\n  }" ({ "{") (if_statement "if (*(char *)(param_1 + 0xd90) == '\0') {\n      local_1c4 = &__DT_PLTGOT;\n      pcVar12 = getenv("COLLECT_NO_DEMANGLE");\n      *(bool *)(param_1 + 0x5939) = pcVar12 == (char *)0x0;\n    }\n    else {\n      *(undefined1 *)(param_1 + 0x5939) = 0;\n    }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0xd90) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0xd90) == '\0'" (pointer_expression "*(char *)(param_1 + 0xd90)" (* "*") (cast_expression "(char *)(param_1 + 0xd90)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xd90)" (( "(") (binary_expression "param_1 + 0xd90" (identifier "param_1") (+ "+") (number_literal "0xd90")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      local_1c4 = &__DT_PLTGOT;\n      pcVar12 = getenv("COLLECT_NO_DEMANGLE");\n      *(bool *)(param_1 + 0x5939) = pcVar12 == (char *)0x0;\n    }" ({ "{") (expression_statement "local_1c4 = &__DT_PLTGOT;" (assignment_expression "local_1c4 = &__DT_PLTGOT" (identifier "local_1c4") (= "=") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (; ";")) (expression_statement "pcVar12 = getenv("COLLECT_NO_DEMANGLE");" (assignment_expression "pcVar12 = getenv("COLLECT_NO_DEMANGLE")" (identifier "pcVar12") (= "=") (call_expression "getenv("COLLECT_NO_DEMANGLE")" (identifier "getenv") (argument_list "("COLLECT_NO_DEMANGLE")" (( "(") (string_literal ""COLLECT_NO_DEMANGLE"" (" """) (string_content "COLLECT_NO_DEMANGLE") (" """)) () ")")))) (; ";")) (expression_statement "*(bool *)(param_1 + 0x5939) = pcVar12 == (char *)0x0;" (assignment_expression "*(bool *)(param_1 + 0x5939) = pcVar12 == (char *)0x0" (pointer_expression "*(bool *)(param_1 + 0x5939)" (* "*") (cast_expression "(bool *)(param_1 + 0x5939)" (( "(") (type_descriptor "bool *" (primitive_type "bool") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5939)" (( "(") (binary_expression "param_1 + 0x5939" (identifier "param_1") (+ "+") (number_literal "0x5939")) () ")")))) (= "=") (binary_expression "pcVar12 == (char *)0x0" (identifier "pcVar12") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";")) (} "}")) (else_clause "else {\n      *(undefined1 *)(param_1 + 0x5939) = 0;\n    }" (else "else") (compound_statement "{\n      *(undefined1 *)(param_1 + 0x5939) = 0;\n    }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 0x5939) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x5939) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x5939)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x5939)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5939)" (( "(") (binary_expression "param_1 + 0x5939" (identifier "param_1") (+ "+") (number_literal "0x5939")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    pcVar12 = *(char **)(param_1 + 0xd50);\n    *(undefined1 *)(param_1 + 0x5939) = 1;\n    local_1c4 = &__DT_PLTGOT;\n    if (*pcVar12 != '\0') {\n      iVar14 = FUN_00395b70(pcVar12);\n      if (iVar14 == 0) {\n                    \n        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);\n      }\n      FUN_00395b20(iVar14);\n    }\n  }" (else "else") (compound_statement "{\n    pcVar12 = *(char **)(param_1 + 0xd50);\n    *(undefined1 *)(param_1 + 0x5939) = 1;\n    local_1c4 = &__DT_PLTGOT;\n    if (*pcVar12 != '\0') {\n      iVar14 = FUN_00395b70(pcVar12);\n      if (iVar14 == 0) {\n                    \n        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);\n      }\n      FUN_00395b20(iVar14);\n    }\n  }" ({ "{") (expression_statement "pcVar12 = *(char **)(param_1 + 0xd50);" (assignment_expression "pcVar12 = *(char **)(param_1 + 0xd50)" (identifier "pcVar12") (= "=") (pointer_expression "*(char **)(param_1 + 0xd50)" (* "*") (cast_expression "(char **)(param_1 + 0xd50)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0xd50)" (( "(") (binary_expression "param_1 + 0xd50" (identifier "param_1") (+ "+") (number_literal "0xd50")) () ")"))))) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 0x5939) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x5939) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x5939)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x5939)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5939)" (( "(") (binary_expression "param_1 + 0x5939" (identifier "param_1") (+ "+") (number_literal "0x5939")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "local_1c4 = &__DT_PLTGOT;" (assignment_expression "local_1c4 = &__DT_PLTGOT" (identifier "local_1c4") (= "=") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (; ";")) (if_statement "if (*pcVar12 != '\0') {\n      iVar14 = FUN_00395b70(pcVar12);\n      if (iVar14 == 0) {\n                    \n        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);\n      }\n      FUN_00395b20(iVar14);\n    }" (if "if") (parenthesized_expression "(*pcVar12 != '\0')" (( "(") (binary_expression "*pcVar12 != '\0'" (pointer_expression "*pcVar12" (* "*") (identifier "pcVar12")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      iVar14 = FUN_00395b70(pcVar12);\n      if (iVar14 == 0) {\n                    \n        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);\n      }\n      FUN_00395b20(iVar14);\n    }" ({ "{") (expression_statement "iVar14 = FUN_00395b70(pcVar12);" (assignment_expression "iVar14 = FUN_00395b70(pcVar12)" (identifier "iVar14") (= "=") (call_expression "FUN_00395b70(pcVar12)" (identifier "FUN_00395b70") (argument_list "(pcVar12)" (( "(") (identifier "pcVar12") () ")")))) (; ";")) (if_statement "if (iVar14 == 0) {\n                    \n        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);\n      }" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);\n      }" ({ "{") (expression_statement "FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);" (call_expression "FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21)" (identifier "FUN_0023b7b0") (argument_list "(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21)" (( "(") (binary_expression "local_1c4 + -0x56e9a" (identifier "local_1c4") (+ "+") (number_literal "-0x56e9a")) (, ",") (identifier "pcVar12") (, ",") (identifier "pbVar21") (, ",") (identifier "pbVar21") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_00395b20(iVar14);" (call_expression "FUN_00395b20(iVar14)" (identifier "FUN_00395b20") (argument_list "(iVar14)" (( "(") (identifier "iVar14") () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "ppuVar4 = local_1c4;" (assignment_expression "ppuVar4 = local_1c4" (identifier "ppuVar4") (= "=") (identifier "local_1c4")) (; ";")) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" (identifier "bVar24") (= "=") (false "false")) (; ";")) (expression_statement "bVar22 = *(char *)(param_1 + 0x2870) == '\0';" (assignment_expression "bVar22 = *(char *)(param_1 + 0x2870) == '\0'" (identifier "bVar22") (= "=") (binary_expression "*(char *)(param_1 + 0x2870) == '\0'" (pointer_expression "*(char *)(param_1 + 0x2870)" (* "*") (cast_expression "(char *)(param_1 + 0x2870)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2870)" (( "(") (binary_expression "param_1 + 0x2870" (identifier "param_1") (+ "+") (number_literal "0x2870")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) (; ";")) (if_statement "if (!bVar22) {\n    pbVar19 = *(byte **)(param_1 + 0x2874);\n    iVar14 = 6;\n    pbVar20 = pbVar19;\n    pbVar21 = (byte *)((int)local_1c4 + -0x1477fe);\n    do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      bVar24 = *pbVar20 < *pbVar21;\n      bVar22 = *pbVar20 == *pbVar21;\n      pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n      pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar24 = (!bVar24 && !bVar22) == bVar24;\n    if (bVar24) {\n      *(undefined4 *)(param_1 + 0x5a88) = 0;\n    }\n    else {\n      iVar14 = 8;\n      pbVar20 = pbVar19;\n      pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar23 = *pbVar20 < *pbVar21;\n        bVar24 = *pbVar20 == *pbVar21;\n        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      bVar22 = false;\n      bVar24 = (!bVar23 && !bVar24) == bVar23;\n      if (bVar24) {\n        *(undefined4 *)(param_1 + 0x5a88) = 1;\n      }\n      else {\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }\n    }\n  }" (if "if") (parenthesized_expression "(!bVar22)" (( "(") (unary_expression "!bVar22" (! "!") (identifier "bVar22")) () ")")) (compound_statement "{\n    pbVar19 = *(byte **)(param_1 + 0x2874);\n    iVar14 = 6;\n    pbVar20 = pbVar19;\n    pbVar21 = (byte *)((int)local_1c4 + -0x1477fe);\n    do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      bVar24 = *pbVar20 < *pbVar21;\n      bVar22 = *pbVar20 == *pbVar21;\n      pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n      pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n    } while (bVar22);\n    bVar23 = false;\n    bVar24 = (!bVar24 && !bVar22) == bVar24;\n    if (bVar24) {\n      *(undefined4 *)(param_1 + 0x5a88) = 0;\n    }\n    else {\n      iVar14 = 8;\n      pbVar20 = pbVar19;\n      pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar23 = *pbVar20 < *pbVar21;\n        bVar24 = *pbVar20 == *pbVar21;\n        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      bVar22 = false;\n      bVar24 = (!bVar23 && !bVar24) == bVar23;\n      if (bVar24) {\n        *(undefined4 *)(param_1 + 0x5a88) = 1;\n      }\n      else {\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }\n    }\n  }" ({ "{") (expression_statement "pbVar19 = *(byte **)(param_1 + 0x2874);" (assignment_expression "pbVar19 = *(byte **)(param_1 + 0x2874)" (identifier "pbVar19") (= "=") (pointer_expression "*(byte **)(param_1 + 0x2874)" (* "*") (cast_expression "(byte **)(param_1 + 0x2874)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x2874)" (( "(") (binary_expression "param_1 + 0x2874" (identifier "param_1") (+ "+") (number_literal "0x2874")) () ")"))))) (; ";")) (expression_statement "iVar14 = 6;" (assignment_expression "iVar14 = 6" (identifier "iVar14") (= "=") (number_literal "6")) (; ";")) (expression_statement "pbVar20 = pbVar19;" (assignment_expression "pbVar20 = pbVar19" (identifier "pbVar20") (= "=") (identifier "pbVar19")) (; ";")) (expression_statement "pbVar21 = (byte *)((int)local_1c4 + -0x1477fe);" (assignment_expression "pbVar21 = (byte *)((int)local_1c4 + -0x1477fe)" (identifier "pbVar21") (= "=") (cast_expression "(byte *)((int)local_1c4 + -0x1477fe)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_1c4 + -0x1477fe)" (( "(") (binary_expression "(int)local_1c4 + -0x1477fe" (cast_expression "(int)local_1c4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1c4")) (+ "+") (number_literal "-0x1477fe")) () ")")))) (; ";")) (do_statement "do {\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      bVar24 = *pbVar20 < *pbVar21;\n      bVar22 = *pbVar20 == *pbVar21;\n      pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n      pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n    } while (bVar22);" (do "do") (compound_statement "{\n      if (iVar14 == 0) break;\n      iVar14 = iVar14 + -1;\n      bVar24 = *pbVar20 < *pbVar21;\n      bVar22 = *pbVar20 == *pbVar21;\n      pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n      pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n    }" ({ "{") (if_statement "if (iVar14 == 0) break;" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" (identifier "iVar14") (= "=") (binary_expression "iVar14 + -1" (identifier "iVar14") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar24 = *pbVar20 < *pbVar21;" (assignment_expression "bVar24 = *pbVar20 < *pbVar21" (identifier "bVar24") (= "=") (binary_expression "*pbVar20 < *pbVar21" (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")) (< "<") (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")))) (; ";")) (expression_statement "bVar22 = *pbVar20 == *pbVar21;" (assignment_expression "bVar22 = *pbVar20 == *pbVar21" (identifier "bVar22") (= "=") (binary_expression "*pbVar20 == *pbVar21" (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")) (== "==") (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar25 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar21 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar25 * -2" (identifier "pbVar21") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar22)" (( "(") (identifier "bVar22") () ")")) (; ";")) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" (identifier "bVar23") (= "=") (false "false")) (; ";")) (expression_statement "bVar24 = (!bVar24 && !bVar22) == bVar24;" (assignment_expression "bVar24 = (!bVar24 && !bVar22) == bVar24" (identifier "bVar24") (= "=") (binary_expression "(!bVar24 && !bVar22) == bVar24" (parenthesized_expression "(!bVar24 && !bVar22)" (( "(") (binary_expression "!bVar24 && !bVar22" (unary_expression "!bVar24" (! "!") (identifier "bVar24")) (&& "&&") (unary_expression "!bVar22" (! "!") (identifier "bVar22"))) () ")")) (== "==") (identifier "bVar24"))) (; ";")) (if_statement "if (bVar24) {\n      *(undefined4 *)(param_1 + 0x5a88) = 0;\n    }\n    else {\n      iVar14 = 8;\n      pbVar20 = pbVar19;\n      pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar23 = *pbVar20 < *pbVar21;\n        bVar24 = *pbVar20 == *pbVar21;\n        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      bVar22 = false;\n      bVar24 = (!bVar23 && !bVar24) == bVar23;\n      if (bVar24) {\n        *(undefined4 *)(param_1 + 0x5a88) = 1;\n      }\n      else {\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }\n    }" (if "if") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (compound_statement "{\n      *(undefined4 *)(param_1 + 0x5a88) = 0;\n    }" ({ "{") (expression_statement "*(undefined4 *)(param_1 + 0x5a88) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x5a88) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x5a88)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x5a88)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5a88)" (( "(") (binary_expression "param_1 + 0x5a88" (identifier "param_1") (+ "+") (number_literal "0x5a88")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      iVar14 = 8;\n      pbVar20 = pbVar19;\n      pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar23 = *pbVar20 < *pbVar21;\n        bVar24 = *pbVar20 == *pbVar21;\n        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      bVar22 = false;\n      bVar24 = (!bVar23 && !bVar24) == bVar23;\n      if (bVar24) {\n        *(undefined4 *)(param_1 + 0x5a88) = 1;\n      }\n      else {\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }\n    }" (else "else") (compound_statement "{\n      iVar14 = 8;\n      pbVar20 = pbVar19;\n      pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3);\n      do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar23 = *pbVar20 < *pbVar21;\n        bVar24 = *pbVar20 == *pbVar21;\n        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      bVar22 = false;\n      bVar24 = (!bVar23 && !bVar24) == bVar23;\n      if (bVar24) {\n        *(undefined4 *)(param_1 + 0x5a88) = 1;\n      }\n      else {\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }\n    }" ({ "{") (expression_statement "iVar14 = 8;" (assignment_expression "iVar14 = 8" (identifier "iVar14") (= "=") (number_literal "8")) (; ";")) (expression_statement "pbVar20 = pbVar19;" (assignment_expression "pbVar20 = pbVar19" (identifier "pbVar20") (= "=") (identifier "pbVar19")) (; ";")) (expression_statement "pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3);" (assignment_expression "pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3)" (identifier "pbVar21") (= "=") (cast_expression "(byte *)((int)local_1c4 + -0x1a1fb3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_1c4 + -0x1a1fb3)" (( "(") (binary_expression "(int)local_1c4 + -0x1a1fb3" (cast_expression "(int)local_1c4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1c4")) (+ "+") (number_literal "-0x1a1fb3")) () ")")))) (; ";")) (do_statement "do {\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar23 = *pbVar20 < *pbVar21;\n        bVar24 = *pbVar20 == *pbVar21;\n        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);" (do "do") (compound_statement "{\n        if (iVar14 == 0) break;\n        iVar14 = iVar14 + -1;\n        bVar23 = *pbVar20 < *pbVar21;\n        bVar24 = *pbVar20 == *pbVar21;\n        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      }" ({ "{") (if_statement "if (iVar14 == 0) break;" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" (identifier "iVar14") (= "=") (binary_expression "iVar14 + -1" (identifier "iVar14") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar23 = *pbVar20 < *pbVar21;" (assignment_expression "bVar23 = *pbVar20 < *pbVar21" (identifier "bVar23") (= "=") (binary_expression "*pbVar20 < *pbVar21" (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")) (< "<") (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")))) (; ";")) (expression_statement "bVar24 = *pbVar20 == *pbVar21;" (assignment_expression "bVar24 = *pbVar20 == *pbVar21" (identifier "bVar24") (= "=") (binary_expression "*pbVar20 == *pbVar21" (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")) (== "==") (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar25 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar21 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar25 * -2" (identifier "pbVar21") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (; ";")) (expression_statement "bVar22 = false;" (assignment_expression "bVar22 = false" (identifier "bVar22") (= "=") (false "false")) (; ";")) (expression_statement "bVar24 = (!bVar23 && !bVar24) == bVar23;" (assignment_expression "bVar24 = (!bVar23 && !bVar24) == bVar23" (identifier "bVar24") (= "=") (binary_expression "(!bVar23 && !bVar24) == bVar23" (parenthesized_expression "(!bVar23 && !bVar24)" (( "(") (binary_expression "!bVar23 && !bVar24" (unary_expression "!bVar23" (! "!") (identifier "bVar23")) (&& "&&") (unary_expression "!bVar24" (! "!") (identifier "bVar24"))) () ")")) (== "==") (identifier "bVar23"))) (; ";")) (if_statement "if (bVar24) {\n        *(undefined4 *)(param_1 + 0x5a88) = 1;\n      }\n      else {\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (compound_statement "{\n        *(undefined4 *)(param_1 + 0x5a88) = 1;\n      }" ({ "{") (expression_statement "*(undefined4 *)(param_1 + 0x5a88) = 1;" (assignment_expression "*(undefined4 *)(param_1 + 0x5a88) = 1" (pointer_expression "*(undefined4 *)(param_1 + 0x5a88)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x5a88)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5a88)" (( "(") (binary_expression "param_1 + 0x5a88" (identifier "param_1") (+ "+") (number_literal "0x5a88")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }" (else "else") (compound_statement "{\n        iVar14 = 5;\n        pbVar20 = pbVar19;\n        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);\n        do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);\n        bVar23 = false;\n        bVar24 = (!bVar22 && !bVar24) == bVar22;\n        if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }\n      }" ({ "{") (expression_statement "iVar14 = 5;" (assignment_expression "iVar14 = 5" (identifier "iVar14") (= "=") (number_literal "5")) (; ";")) (expression_statement "pbVar20 = pbVar19;" (assignment_expression "pbVar20 = pbVar19" (identifier "pbVar20") (= "=") (identifier "pbVar19")) (; ";")) (expression_statement "pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);" (assignment_expression "pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab)" (identifier "pbVar21") (= "=") (cast_expression "(byte *)((int)local_1c4 + -0x1a1fab)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_1c4 + -0x1a1fab)" (( "(") (binary_expression "(int)local_1c4 + -0x1a1fab" (cast_expression "(int)local_1c4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1c4")) (+ "+") (number_literal "-0x1a1fab")) () ")")))) (; ";")) (do_statement "do {\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        } while (bVar24);" (do "do") (compound_statement "{\n          if (iVar14 == 0) break;\n          iVar14 = iVar14 + -1;\n          bVar22 = *pbVar20 < *pbVar21;\n          bVar24 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n        }" ({ "{") (if_statement "if (iVar14 == 0) break;" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" (identifier "iVar14") (= "=") (binary_expression "iVar14 + -1" (identifier "iVar14") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar22 = *pbVar20 < *pbVar21;" (assignment_expression "bVar22 = *pbVar20 < *pbVar21" (identifier "bVar22") (= "=") (binary_expression "*pbVar20 < *pbVar21" (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")) (< "<") (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")))) (; ";")) (expression_statement "bVar24 = *pbVar20 == *pbVar21;" (assignment_expression "bVar24 = *pbVar20 == *pbVar21" (identifier "bVar24") (= "=") (binary_expression "*pbVar20 == *pbVar21" (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")) (== "==") (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar25 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar21 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar25 * -2" (identifier "pbVar21") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (; ";")) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" (identifier "bVar23") (= "=") (false "false")) (; ";")) (expression_statement "bVar24 = (!bVar22 && !bVar24) == bVar22;" (assignment_expression "bVar24 = (!bVar22 && !bVar24) == bVar22" (identifier "bVar24") (= "=") (binary_expression "(!bVar22 && !bVar24) == bVar22" (parenthesized_expression "(!bVar22 && !bVar24)" (( "(") (binary_expression "!bVar22 && !bVar24" (unary_expression "!bVar22" (! "!") (identifier "bVar22")) (&& "&&") (unary_expression "!bVar24" (! "!") (identifier "bVar24"))) () ")")) (== "==") (identifier "bVar22"))) (; ";")) (if_statement "if (bVar24) {\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }\n        else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }" (if "if") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (compound_statement "{\n          *(undefined4 *)(param_1 + 0x5a88) = 2;\n        }" ({ "{") (expression_statement "*(undefined4 *)(param_1 + 0x5a88) = 2;" (assignment_expression "*(undefined4 *)(param_1 + 0x5a88) = 2" (pointer_expression "*(undefined4 *)(param_1 + 0x5a88)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x5a88)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5a88)" (( "(") (binary_expression "param_1 + 0x5a88" (identifier "param_1") (+ "+") (number_literal "0x5a88")) () ")")))) (= "=") (number_literal "2")) (; ";")) (} "}")) (else_clause "else {\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }" (else "else") (compound_statement "{\n          iVar14 = 6;\n          pbVar20 = (byte *)((int)local_1c4 + -0x146582);\n          do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }\n        }" ({ "{") (expression_statement "iVar14 = 6;" (assignment_expression "iVar14 = 6" (identifier "iVar14") (= "=") (number_literal "6")) (; ";")) (expression_statement "pbVar20 = (byte *)((int)local_1c4 + -0x146582);" (assignment_expression "pbVar20 = (byte *)((int)local_1c4 + -0x146582)" (identifier "pbVar20") (= "=") (cast_expression "(byte *)((int)local_1c4 + -0x146582)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_1c4 + -0x146582)" (( "(") (binary_expression "(int)local_1c4 + -0x146582" (cast_expression "(int)local_1c4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1c4")) (+ "+") (number_literal "-0x146582")) () ")")))) (; ";")) (do_statement "do {\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);" (do "do") (compound_statement "{\n            if (iVar14 == 0) break;\n            iVar14 = iVar14 + -1;\n            bVar23 = *pbVar19 < *pbVar20;\n            bVar24 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          }" ({ "{") (if_statement "if (iVar14 == 0) break;" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" (identifier "iVar14") (= "=") (binary_expression "iVar14 + -1" (identifier "iVar14") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar23 = *pbVar19 < *pbVar20;" (assignment_expression "bVar23 = *pbVar19 < *pbVar20" (identifier "bVar23") (= "=") (binary_expression "*pbVar19 < *pbVar20" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (< "<") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "bVar24 = *pbVar19 == *pbVar20;" (assignment_expression "bVar24 = *pbVar19 == *pbVar20" (identifier "bVar24") (= "=") (binary_expression "*pbVar19 == *pbVar20" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (== "==") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar19 + (uint)bVar25 * -2" (identifier "pbVar19") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar25 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (; ";")) (if_statement "if ((!bVar23 && !bVar24) == bVar23) {\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }" (if "if") (parenthesized_expression "((!bVar23 && !bVar24) == bVar23)" (( "(") (binary_expression "(!bVar23 && !bVar24) == bVar23" (parenthesized_expression "(!bVar23 && !bVar24)" (( "(") (binary_expression "!bVar23 && !bVar24" (unary_expression "!bVar23" (! "!") (identifier "bVar23")) (&& "&&") (unary_expression "!bVar24" (! "!") (identifier "bVar24"))) () ")")) (== "==") (identifier "bVar23")) () ")")) (compound_statement "{\n            *(undefined4 *)(param_1 + 0x5a88) = 3;\n          }" ({ "{") (expression_statement "*(undefined4 *)(param_1 + 0x5a88) = 3;" (assignment_expression "*(undefined4 *)(param_1 + 0x5a88) = 3" (pointer_expression "*(undefined4 *)(param_1 + 0x5a88)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x5a88)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5a88)" (( "(") (binary_expression "param_1 + 0x5a88" (identifier "param_1") (+ "+") (number_literal "0x5a88")) () ")")))) (= "=") (number_literal "3")) (; ";")) (} "}"))) (} "}")))) (} "}")))) (} "}")))) (} "}"))) (if_statement "if ((*(char *)(param_1 + 0x2401) != '\0') && (*(char *)(param_1 + 0x247c) == '\0')) {\n    *(undefined1 *)(param_1 + 0x247c) = 1;\n    *(undefined ***)(param_1 + 0x2480) = local_1c4 + -0x573ca;\n  }" (if "if") (parenthesized_expression "((*(char *)(param_1 + 0x2401) != '\0') && (*(char *)(param_1 + 0x247c) == '\0'))" (( "(") (binary_expression "(*(char *)(param_1 + 0x2401) != '\0') && (*(char *)(param_1 + 0x247c) == '\0')" (parenthesized_expression "(*(char *)(param_1 + 0x2401) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x2401) != '\0'" (pointer_expression "*(char *)(param_1 + 0x2401)" (* "*") (cast_expression "(char *)(param_1 + 0x2401)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2401)" (( "(") (binary_expression "param_1 + 0x2401" (identifier "param_1") (+ "+") (number_literal "0x2401")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(param_1 + 0x247c) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x247c) == '\0'" (pointer_expression "*(char *)(param_1 + 0x247c)" (* "*") (cast_expression "(char *)(param_1 + 0x247c)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x247c)" (( "(") (binary_expression "param_1 + 0x247c" (identifier "param_1") (+ "+") (number_literal "0x247c")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n    *(undefined1 *)(param_1 + 0x247c) = 1;\n    *(undefined ***)(param_1 + 0x2480) = local_1c4 + -0x573ca;\n  }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 0x247c) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x247c) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x247c)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x247c)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x247c)" (( "(") (binary_expression "param_1 + 0x247c" (identifier "param_1") (+ "+") (number_literal "0x247c")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined ***)(param_1 + 0x2480) = local_1c4 + -0x573ca;" (assignment_expression "*(undefined ***)(param_1 + 0x2480) = local_1c4 + -0x573ca" (pointer_expression "*(undefined ***)(param_1 + 0x2480)" (* "*") (cast_expression "(undefined ***)(param_1 + 0x2480)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(param_1 + 0x2480)" (( "(") (binary_expression "param_1 + 0x2480" (identifier "param_1") (+ "+") (number_literal "0x2480")) () ")")))) (= "=") (binary_expression "local_1c4 + -0x573ca" (identifier "local_1c4") (+ "+") (number_literal "-0x573ca"))) (; ";")) (} "}"))) (if_statement "if ((*(char *)(param_1 + 0x24c1) != '\0') || (*(char *)(param_1 + 0x253d) != '\0')) {\n    *(undefined1 *)(param_1 + 0x5938) = 1;\n  }" (if "if") (parenthesized_expression "((*(char *)(param_1 + 0x24c1) != '\0') || (*(char *)(param_1 + 0x253d) != '\0'))" (( "(") (binary_expression "(*(char *)(param_1 + 0x24c1) != '\0') || (*(char *)(param_1 + 0x253d) != '\0')" (parenthesized_expression "(*(char *)(param_1 + 0x24c1) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x24c1) != '\0'" (pointer_expression "*(char *)(param_1 + 0x24c1)" (* "*") (cast_expression "(char *)(param_1 + 0x24c1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24c1)" (( "(") (binary_expression "param_1 + 0x24c1" (identifier "param_1") (+ "+") (number_literal "0x24c1")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(*(char *)(param_1 + 0x253d) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x253d) != '\0'" (pointer_expression "*(char *)(param_1 + 0x253d)" (* "*") (cast_expression "(char *)(param_1 + 0x253d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x253d)" (( "(") (binary_expression "param_1 + 0x253d" (identifier "param_1") (+ "+") (number_literal "0x253d")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n    *(undefined1 *)(param_1 + 0x5938) = 1;\n  }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 0x5938) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x5938) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x5938)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x5938)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5938)" (( "(") (binary_expression "param_1 + 0x5938" (identifier "param_1") (+ "+") (number_literal "0x5938")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "iVar14 = *(int *)(param_1 + 0x3de8);" (assignment_expression "iVar14 = *(int *)(param_1 + 0x3de8)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(param_1 + 0x3de8)" (* "*") (cast_expression "(int *)(param_1 + 0x3de8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3de8)" (( "(") (binary_expression "param_1 + 0x3de8" (identifier "param_1") (+ "+") (number_literal "0x3de8")) () ")"))))) (; ";")) (if_statement "if (0 < iVar14) {\n    if (*(int *)(param_1 + 0x3e2c) == 0) {\n      *(int *)(param_1 + 0x3e2c) = iVar14;\n    }\n    if (*(int *)(param_1 + 0x3e70) == 0) {\n      *(int *)(param_1 + 0x3e70) = iVar14;\n    }\n    if (*(int *)(param_1 + 0x3eb4) == 0) {\n      *(int *)(param_1 + 0x3eb4) = iVar14;\n    }\n  }" (if "if") (parenthesized_expression "(0 < iVar14)" (( "(") (binary_expression "0 < iVar14" (number_literal "0") (< "<") (identifier "iVar14")) () ")")) (compound_statement "{\n    if (*(int *)(param_1 + 0x3e2c) == 0) {\n      *(int *)(param_1 + 0x3e2c) = iVar14;\n    }\n    if (*(int *)(param_1 + 0x3e70) == 0) {\n      *(int *)(param_1 + 0x3e70) = iVar14;\n    }\n    if (*(int *)(param_1 + 0x3eb4) == 0) {\n      *(int *)(param_1 + 0x3eb4) = iVar14;\n    }\n  }" ({ "{") (if_statement "if (*(int *)(param_1 + 0x3e2c) == 0) {\n      *(int *)(param_1 + 0x3e2c) = iVar14;\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x3e2c) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x3e2c) == 0" (pointer_expression "*(int *)(param_1 + 0x3e2c)" (* "*") (cast_expression "(int *)(param_1 + 0x3e2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3e2c)" (( "(") (binary_expression "param_1 + 0x3e2c" (identifier "param_1") (+ "+") (number_literal "0x3e2c")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *(int *)(param_1 + 0x3e2c) = iVar14;\n    }" ({ "{") (expression_statement "*(int *)(param_1 + 0x3e2c) = iVar14;" (assignment_expression "*(int *)(param_1 + 0x3e2c) = iVar14" (pointer_expression "*(int *)(param_1 + 0x3e2c)" (* "*") (cast_expression "(int *)(param_1 + 0x3e2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3e2c)" (( "(") (binary_expression "param_1 + 0x3e2c" (identifier "param_1") (+ "+") (number_literal "0x3e2c")) () ")")))) (= "=") (identifier "iVar14")) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x3e70) == 0) {\n      *(int *)(param_1 + 0x3e70) = iVar14;\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x3e70) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x3e70) == 0" (pointer_expression "*(int *)(param_1 + 0x3e70)" (* "*") (cast_expression "(int *)(param_1 + 0x3e70)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3e70)" (( "(") (binary_expression "param_1 + 0x3e70" (identifier "param_1") (+ "+") (number_literal "0x3e70")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *(int *)(param_1 + 0x3e70) = iVar14;\n    }" ({ "{") (expression_statement "*(int *)(param_1 + 0x3e70) = iVar14;" (assignment_expression "*(int *)(param_1 + 0x3e70) = iVar14" (pointer_expression "*(int *)(param_1 + 0x3e70)" (* "*") (cast_expression "(int *)(param_1 + 0x3e70)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3e70)" (( "(") (binary_expression "param_1 + 0x3e70" (identifier "param_1") (+ "+") (number_literal "0x3e70")) () ")")))) (= "=") (identifier "iVar14")) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x3eb4) == 0) {\n      *(int *)(param_1 + 0x3eb4) = iVar14;\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x3eb4) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x3eb4) == 0" (pointer_expression "*(int *)(param_1 + 0x3eb4)" (* "*") (cast_expression "(int *)(param_1 + 0x3eb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3eb4)" (( "(") (binary_expression "param_1 + 0x3eb4" (identifier "param_1") (+ "+") (number_literal "0x3eb4")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *(int *)(param_1 + 0x3eb4) = iVar14;\n    }" ({ "{") (expression_statement "*(int *)(param_1 + 0x3eb4) = iVar14;" (assignment_expression "*(int *)(param_1 + 0x3eb4) = iVar14" (pointer_expression "*(int *)(param_1 + 0x3eb4)" (* "*") (cast_expression "(int *)(param_1 + 0x3eb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3eb4)" (( "(") (binary_expression "param_1 + 0x3eb4" (identifier "param_1") (+ "+") (number_literal "0x3eb4")) () ")")))) (= "=") (identifier "iVar14")) (; ";")) (} "}"))) (} "}"))) (expression_statement "local_1d4 = &local_1bc;" (assignment_expression "local_1d4 = &local_1bc" (identifier "local_1d4") (= "=") (pointer_expression "&local_1bc" (& "&") (identifier "local_1bc"))) (; ";")) (expression_statement "local_1b4[0] = 0;" (assignment_expression "local_1b4[0] = 0" (subscript_expression "local_1b4[0]" (identifier "local_1b4") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_1ec = local_1b4;" (assignment_expression "local_1ec = local_1b4" (identifier "local_1ec") (= "=") (identifier "local_1b4")) (; ";")) (expression_statement "local_1b8 = 0;" (assignment_expression "local_1b8 = 0" (identifier "local_1b8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_1bc = local_1ec;" (assignment_expression "local_1bc = local_1ec" (identifier "local_1bc") (= "=") (identifier "local_1ec")) (; ";")) (if_statement "if (*(char *)(param_1 + 0x4ca8) == '\0') {\n    if (*(char *)(param_1 + 0x2729) == '\0') {\n      local_1dc = local_12c;\n      local_1d0 = (undefined ***)&local_134;\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);\n      local_1a4 = local_19c;\n                    \n      FUN_0014fca0(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_18c = 1;\n      if (local_1a0 == 0) {\n                    \n        FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      local_1d8 = param_1 + 0x2184;\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_1a4);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_1a4 != local_19c) {\n        FUN_003ae080(local_1a4);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);\n      local_188 = local_180;\n                    \n      FUN_0014fca0(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_170 = 1;\n      if (local_184 == 0) {\n                    \n        FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_188);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_188 != local_180) {\n        FUN_003ae080(local_188);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);\n      local_16c = local_164;\n                    \n      FUN_0014fca0(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_154 = 1;\n      if (local_168 == 0) {\n                    \n        FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_16c);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_16c != local_164) {\n        FUN_003ae080(local_16c);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);\n      local_1e0 = local_148;\n      local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n      local_150 = local_1e0;\n                    \n      FUN_0014fca0(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_138 = 1;\n      if (local_14c == 0) {\n                    \n        FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_150 != local_1e0) {\n        FUN_003ae080(local_150);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      goto LAB_002c0258;\n    }\n  }\n  else {\n    pcVar12 = *(char **)(param_1 + 0x4cac);\n    sVar9 = strlen(pcVar12);\n    ppuVar3 = local_1d4;\n                    \n    FUN_003b6cc0(local_1d4,0,0,pcVar12,sVar9);\n    iVar14 = FUN_003b86a0(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36);\n    if (iVar14 == 0) {\n      uVar6 = local_1b8;\n      if (2 < local_1b8) {\n        uVar6 = 2;\n      }\n                    \n      FUN_003b5ec0(local_1d4,0,uVar6);\n    }\nLAB_002c0258:\n    uVar6 = 0;\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n    if (local_1b8 != 0) {\n      do {\n        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);\n        uVar16 = 0xffffffff;\n        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    \n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    \n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    \n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    \n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }\n        uVar6 = iVar14 + 1;\n      } while( true );\n    }\n  }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x4ca8) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x4ca8) == '\0'" (pointer_expression "*(char *)(param_1 + 0x4ca8)" (* "*") (cast_expression "(char *)(param_1 + 0x4ca8)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x4ca8)" (( "(") (binary_expression "param_1 + 0x4ca8" (identifier "param_1") (+ "+") (number_literal "0x4ca8")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    if (*(char *)(param_1 + 0x2729) == '\0') {\n      local_1dc = local_12c;\n      local_1d0 = (undefined ***)&local_134;\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);\n      local_1a4 = local_19c;\n                    \n      FUN_0014fca0(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_18c = 1;\n      if (local_1a0 == 0) {\n                    \n        FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      local_1d8 = param_1 + 0x2184;\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_1a4);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_1a4 != local_19c) {\n        FUN_003ae080(local_1a4);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);\n      local_188 = local_180;\n                    \n      FUN_0014fca0(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_170 = 1;\n      if (local_184 == 0) {\n                    \n        FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_188);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_188 != local_180) {\n        FUN_003ae080(local_188);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);\n      local_16c = local_164;\n                    \n      FUN_0014fca0(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_154 = 1;\n      if (local_168 == 0) {\n                    \n        FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_16c);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_16c != local_164) {\n        FUN_003ae080(local_16c);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);\n      local_1e0 = local_148;\n      local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n      local_150 = local_1e0;\n                    \n      FUN_0014fca0(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_138 = 1;\n      if (local_14c == 0) {\n                    \n        FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_150 != local_1e0) {\n        FUN_003ae080(local_150);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      goto LAB_002c0258;\n    }\n  }" ({ "{") (if_statement "if (*(char *)(param_1 + 0x2729) == '\0') {\n      local_1dc = local_12c;\n      local_1d0 = (undefined ***)&local_134;\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);\n      local_1a4 = local_19c;\n                    \n      FUN_0014fca0(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_18c = 1;\n      if (local_1a0 == 0) {\n                    \n        FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      local_1d8 = param_1 + 0x2184;\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_1a4);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_1a4 != local_19c) {\n        FUN_003ae080(local_1a4);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);\n      local_188 = local_180;\n                    \n      FUN_0014fca0(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_170 = 1;\n      if (local_184 == 0) {\n                    \n        FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_188);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_188 != local_180) {\n        FUN_003ae080(local_188);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);\n      local_16c = local_164;\n                    \n      FUN_0014fca0(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_154 = 1;\n      if (local_168 == 0) {\n                    \n        FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_16c);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_16c != local_164) {\n        FUN_003ae080(local_16c);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);\n      local_1e0 = local_148;\n      local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n      local_150 = local_1e0;\n                    \n      FUN_0014fca0(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_138 = 1;\n      if (local_14c == 0) {\n                    \n        FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_150 != local_1e0) {\n        FUN_003ae080(local_150);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      goto LAB_002c0258;\n    }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x2729) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x2729) == '\0'" (pointer_expression "*(char *)(param_1 + 0x2729)" (* "*") (cast_expression "(char *)(param_1 + 0x2729)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2729)" (( "(") (binary_expression "param_1 + 0x2729" (identifier "param_1") (+ "+") (number_literal "0x2729")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      local_1dc = local_12c;\n      local_1d0 = (undefined ***)&local_134;\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);\n      local_1a4 = local_19c;\n                    \n      FUN_0014fca0(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_18c = 1;\n      if (local_1a0 == 0) {\n                    \n        FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      local_1d8 = param_1 + 0x2184;\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_1a4);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_1a4 != local_19c) {\n        FUN_003ae080(local_1a4);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);\n      local_188 = local_180;\n                    \n      FUN_0014fca0(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_170 = 1;\n      if (local_184 == 0) {\n                    \n        FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_188);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_188 != local_180) {\n        FUN_003ae080(local_188);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);\n      local_16c = local_164;\n                    \n      FUN_0014fca0(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_154 = 1;\n      if (local_168 == 0) {\n                    \n        FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_16c);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_16c != local_164) {\n        FUN_003ae080(local_16c);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      local_134 = local_1dc;\n                    \n      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);\n      local_1e0 = local_148;\n      local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n      local_150 = local_1e0;\n                    \n      FUN_0014fca0(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0);\n      local_138 = 1;\n      if (local_14c == 0) {\n                    \n        FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);\n      }\n      piVar7 = *(int **)(param_1 + 0x2188);\n      if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }\n      if (local_150 != local_1e0) {\n        FUN_003ae080(local_150);\n      }\n      if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }\n      goto LAB_002c0258;\n    }" ({ "{") (expression_statement "local_1dc = local_12c;" (assignment_expression "local_1dc = local_12c" (identifier "local_1dc") (= "=") (identifier "local_12c")) (; ";")) (expression_statement "local_1d0 = (undefined ***)&local_134;" (assignment_expression "local_1d0 = (undefined ***)&local_134" (identifier "local_1d0") (= "=") (cast_expression "(undefined ***)&local_134" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (pointer_expression "&local_134" (& "&") (identifier "local_134")))) (; ";")) (expression_statement "local_134 = local_1dc;" (assignment_expression "local_134 = local_1dc" (identifier "local_134") (= "=") (identifier "local_1dc")) (; ";")) (expression_statement "FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);" (call_expression "FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0)" (identifier "FUN_00072b90") (argument_list "(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0)" (( "(") (identifier "local_1d0") (, ",") (binary_expression "(int)local_1c4 + -0x15ba2f" (cast_expression "(int)local_1c4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1c4")) (+ "+") (number_literal "-0x15ba2f")) (, ",") (binary_expression "(int)local_1c4 + -0x15ba16" (cast_expression "(int)local_1c4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1c4")) (+ "+") (number_literal "-0x15ba16")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "local_1a4 = local_19c;" (assignment_expression "local_1a4 = local_19c" (identifier "local_1a4") (= "=") (identifier "local_19c")) (; ";")) (expression_statement "FUN_0014fca0(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0);" (call_expression "FUN_0014fca0(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0)" (identifier "FUN_0014fca0") (argument_list "(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0)" (( "(") (pointer_expression "&local_1a4" (& "&") (identifier "local_1a4")) (, ",") (identifier "local_134") (, ",") (cast_expression "(undefined *)(local_130 + (int)local_134)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_130 + (int)local_134)" (( "(") (binary_expression "local_130 + (int)local_134" (identifier "local_130") (+ "+") (cast_expression "(int)local_134" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_134"))) () ")"))) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "local_18c = 1;" (assignment_expression "local_18c = 1" (identifier "local_18c") (= "=") (number_literal "1")) (; ";")) (if_statement "if (local_1a0 == 0) {\n                    \n        FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);\n      }" (if "if") (parenthesized_expression "(local_1a0 == 0)" (( "(") (binary_expression "local_1a0 == 0" (identifier "local_1a0") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n        FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);\n      }" ({ "{") (expression_statement "FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);" (call_expression "FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1)" (identifier "FUN_003b6cc0") (argument_list "(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1)" (( "(") (pointer_expression "&local_1a4" (& "&") (identifier "local_1a4")) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (binary_expression "(int)local_1c4 + -0x15ca25" (cast_expression "(int)local_1c4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1c4")) (+ "+") (number_literal "-0x15ca25")) (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (expression_statement "local_1d8 = param_1 + 0x2184;" (assignment_expression "local_1d8 = param_1 + 0x2184" (identifier "local_1d8") (= "=") (binary_expression "param_1 + 0x2184" (identifier "param_1") (+ "+") (number_literal "0x2184"))) (; ";")) (expression_statement "piVar7 = *(int **)(param_1 + 0x2188);" (assignment_expression "piVar7 = *(int **)(param_1 + 0x2188)" (identifier "piVar7") (= "=") (pointer_expression "*(int **)(param_1 + 0x2188)" (* "*") (cast_expression "(int **)(param_1 + 0x2188)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x2188)" (( "(") (binary_expression "param_1 + 0x2188" (identifier "param_1") (+ "+") (number_literal "0x2188")) () ")"))))) (; ";")) (if_statement "if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_1a4);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" (if "if") (parenthesized_expression "(piVar7 == *(int **)(param_1 + 0x218c))" (( "(") (binary_expression "piVar7 == *(int **)(param_1 + 0x218c)" (identifier "piVar7") (== "==") (pointer_expression "*(int **)(param_1 + 0x218c)" (* "*") (cast_expression "(int **)(param_1 + 0x218c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x218c)" (( "(") (binary_expression "param_1 + 0x218c" (identifier "param_1") (+ "+") (number_literal "0x218c")) () ")"))))) () ")")) (compound_statement "{\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_1a4);\n      }" ({ "{") (expression_statement "FUN_002c3140(local_1d8,piVar7,&local_1a4);" (call_expression "FUN_002c3140(local_1d8,piVar7,&local_1a4)" (identifier "FUN_002c3140") (argument_list "(local_1d8,piVar7,&local_1a4)" (( "(") (identifier "local_1d8") (, ",") (identifier "piVar7") (, ",") (pointer_expression "&local_1a4" (& "&") (identifier "local_1a4")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" (else "else") (compound_statement "{\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" ({ "{") (expression_statement "*piVar7 = (int)(piVar7 + 2);" (assignment_expression "*piVar7 = (int)(piVar7 + 2)" (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (= "=") (cast_expression "(int)(piVar7 + 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(piVar7 + 2)" (( "(") (binary_expression "piVar7 + 2" (identifier "piVar7") (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);" (call_expression "FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0)" (identifier "FUN_0014fca0") (argument_list "(piVar7,local_1a4,local_1a4 + local_1a0,0)" (( "(") (identifier "piVar7") (, ",") (identifier "local_1a4") (, ",") (binary_expression "local_1a4 + local_1a0" (identifier "local_1a4") (+ "+") (identifier "local_1a0")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "*(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;" (assignment_expression "*(undefined1 *)(piVar7 + 6) = (undefined1)local_18c" (pointer_expression "*(undefined1 *)(piVar7 + 6)" (* "*") (cast_expression "(undefined1 *)(piVar7 + 6)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar7 + 6)" (( "(") (binary_expression "piVar7 + 6" (identifier "piVar7") (+ "+") (number_literal "6")) () ")")))) (= "=") (cast_expression "(undefined1)local_18c" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "local_18c"))) (; ";")) (expression_statement "*(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;" (assignment_expression "*(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_" (pointer_expression "*(undefined1 *)((int)piVar7 + 0x19)" (* "*") (cast_expression "(undefined1 *)((int)piVar7 + 0x19)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar7 + 0x19)" (( "(") (binary_expression "(int)piVar7 + 0x19" (cast_expression "(int)piVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar7")) (+ "+") (number_literal "0x19")) () ")")))) (= "=") (field_expression "local_18c._1_1_" (identifier "local_18c") (. ".") (field_identifier "_1_1_"))) (; ";")) (expression_statement "*(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;" (assignment_expression "*(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2188)" (* "*") (cast_expression "(int *)(param_1 + 0x2188)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2188)" (( "(") (binary_expression "param_1 + 0x2188" (identifier "param_1") (+ "+") (number_literal "0x2188")) () ")")))) (= "=") (binary_expression "*(int *)(param_1 + 0x2188) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2188)" (* "*") (cast_expression "(int *)(param_1 + 0x2188)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2188)" (( "(") (binary_expression "param_1 + 0x2188" (identifier "param_1") (+ "+") (number_literal "0x2188")) () ")")))) (+ "+") (number_literal "0x1c"))) (; ";")) (} "}")))) (if_statement "if (local_1a4 != local_19c) {\n        FUN_003ae080(local_1a4);\n      }" (if "if") (parenthesized_expression "(local_1a4 != local_19c)" (( "(") (binary_expression "local_1a4 != local_19c" (identifier "local_1a4") (!= "!=") (identifier "local_19c")) () ")")) (compound_statement "{\n        FUN_003ae080(local_1a4);\n      }" ({ "{") (expression_statement "FUN_003ae080(local_1a4);" (call_expression "FUN_003ae080(local_1a4)" (identifier "FUN_003ae080") (argument_list "(local_1a4)" (( "(") (identifier "local_1a4") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }" (if "if") (parenthesized_expression "(local_134 != local_1dc)" (( "(") (binary_expression "local_134 != local_1dc" (identifier "local_134") (!= "!=") (identifier "local_1dc")) () ")")) (compound_statement "{\n        FUN_003ae080(local_134);\n      }" ({ "{") (expression_statement "FUN_003ae080(local_134);" (call_expression "FUN_003ae080(local_134)" (identifier "FUN_003ae080") (argument_list "(local_134)" (( "(") (identifier "local_134") () ")"))) (; ";")) (} "}"))) (expression_statement "local_134 = local_1dc;" (assignment_expression "local_134 = local_1dc" (identifier "local_134") (= "=") (identifier "local_1dc")) (; ";")) (expression_statement "FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);" (call_expression "FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0)" (identifier "FUN_00072b90") (argument_list "(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0)" (( "(") (identifier "local_1d0") (, ",") (binary_expression "(int)local_1c4 + -0x15ba33" (cast_expression "(int)local_1c4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1c4")) (+ "+") (number_literal "-0x15ba33")) (, ",") (binary_expression "(int)local_1c4 + -0x15ba16" (cast_expression "(int)local_1c4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1c4")) (+ "+") (number_literal "-0x15ba16")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "local_188 = local_180;" (assignment_expression "local_188 = local_180" (identifier "local_188") (= "=") (identifier "local_180")) (; ";")) (expression_statement "FUN_0014fca0(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0);" (call_expression "FUN_0014fca0(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0)" (identifier "FUN_0014fca0") (argument_list "(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0)" (( "(") (pointer_expression "&local_188" (& "&") (identifier "local_188")) (, ",") (identifier "local_134") (, ",") (cast_expression "(undefined *)(local_130 + (int)local_134)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_130 + (int)local_134)" (( "(") (binary_expression "local_130 + (int)local_134" (identifier "local_130") (+ "+") (cast_expression "(int)local_134" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_134"))) () ")"))) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "local_170 = 1;" (assignment_expression "local_170 = 1" (identifier "local_170") (= "=") (number_literal "1")) (; ";")) (if_statement "if (local_184 == 0) {\n                    \n        FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);\n      }" (if "if") (parenthesized_expression "(local_184 == 0)" (( "(") (binary_expression "local_184 == 0" (identifier "local_184") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n        FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);\n      }" ({ "{") (expression_statement "FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);" (call_expression "FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1)" (identifier "FUN_003b6cc0") (argument_list "(&local_188,0,0,(int)local_1c4 + -0x15ca25,1)" (( "(") (pointer_expression "&local_188" (& "&") (identifier "local_188")) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (binary_expression "(int)local_1c4 + -0x15ca25" (cast_expression "(int)local_1c4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1c4")) (+ "+") (number_literal "-0x15ca25")) (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar7 = *(int **)(param_1 + 0x2188);" (assignment_expression "piVar7 = *(int **)(param_1 + 0x2188)" (identifier "piVar7") (= "=") (pointer_expression "*(int **)(param_1 + 0x2188)" (* "*") (cast_expression "(int **)(param_1 + 0x2188)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x2188)" (( "(") (binary_expression "param_1 + 0x2188" (identifier "param_1") (+ "+") (number_literal "0x2188")) () ")"))))) (; ";")) (if_statement "if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_188);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" (if "if") (parenthesized_expression "(piVar7 == *(int **)(param_1 + 0x218c))" (( "(") (binary_expression "piVar7 == *(int **)(param_1 + 0x218c)" (identifier "piVar7") (== "==") (pointer_expression "*(int **)(param_1 + 0x218c)" (* "*") (cast_expression "(int **)(param_1 + 0x218c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x218c)" (( "(") (binary_expression "param_1 + 0x218c" (identifier "param_1") (+ "+") (number_literal "0x218c")) () ")"))))) () ")")) (compound_statement "{\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_188);\n      }" ({ "{") (expression_statement "FUN_002c3140(local_1d8,piVar7,&local_188);" (call_expression "FUN_002c3140(local_1d8,piVar7,&local_188)" (identifier "FUN_002c3140") (argument_list "(local_1d8,piVar7,&local_188)" (( "(") (identifier "local_1d8") (, ",") (identifier "piVar7") (, ",") (pointer_expression "&local_188" (& "&") (identifier "local_188")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" (else "else") (compound_statement "{\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" ({ "{") (expression_statement "*piVar7 = (int)(piVar7 + 2);" (assignment_expression "*piVar7 = (int)(piVar7 + 2)" (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (= "=") (cast_expression "(int)(piVar7 + 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(piVar7 + 2)" (( "(") (binary_expression "piVar7 + 2" (identifier "piVar7") (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);" (call_expression "FUN_0014fca0(piVar7,local_188,local_188 + local_184,0)" (identifier "FUN_0014fca0") (argument_list "(piVar7,local_188,local_188 + local_184,0)" (( "(") (identifier "piVar7") (, ",") (identifier "local_188") (, ",") (binary_expression "local_188 + local_184" (identifier "local_188") (+ "+") (identifier "local_184")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "*(undefined1 *)(piVar7 + 6) = (undefined1)local_170;" (assignment_expression "*(undefined1 *)(piVar7 + 6) = (undefined1)local_170" (pointer_expression "*(undefined1 *)(piVar7 + 6)" (* "*") (cast_expression "(undefined1 *)(piVar7 + 6)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar7 + 6)" (( "(") (binary_expression "piVar7 + 6" (identifier "piVar7") (+ "+") (number_literal "6")) () ")")))) (= "=") (cast_expression "(undefined1)local_170" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "local_170"))) (; ";")) (expression_statement "*(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;" (assignment_expression "*(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_" (pointer_expression "*(undefined1 *)((int)piVar7 + 0x19)" (* "*") (cast_expression "(undefined1 *)((int)piVar7 + 0x19)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar7 + 0x19)" (( "(") (binary_expression "(int)piVar7 + 0x19" (cast_expression "(int)piVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar7")) (+ "+") (number_literal "0x19")) () ")")))) (= "=") (field_expression "local_170._1_1_" (identifier "local_170") (. ".") (field_identifier "_1_1_"))) (; ";")) (expression_statement "*(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;" (assignment_expression "*(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2188)" (* "*") (cast_expression "(int *)(param_1 + 0x2188)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2188)" (( "(") (binary_expression "param_1 + 0x2188" (identifier "param_1") (+ "+") (number_literal "0x2188")) () ")")))) (= "=") (binary_expression "*(int *)(param_1 + 0x2188) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2188)" (* "*") (cast_expression "(int *)(param_1 + 0x2188)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2188)" (( "(") (binary_expression "param_1 + 0x2188" (identifier "param_1") (+ "+") (number_literal "0x2188")) () ")")))) (+ "+") (number_literal "0x1c"))) (; ";")) (} "}")))) (if_statement "if (local_188 != local_180) {\n        FUN_003ae080(local_188);\n      }" (if "if") (parenthesized_expression "(local_188 != local_180)" (( "(") (binary_expression "local_188 != local_180" (identifier "local_188") (!= "!=") (identifier "local_180")) () ")")) (compound_statement "{\n        FUN_003ae080(local_188);\n      }" ({ "{") (expression_statement "FUN_003ae080(local_188);" (call_expression "FUN_003ae080(local_188)" (identifier "FUN_003ae080") (argument_list "(local_188)" (( "(") (identifier "local_188") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }" (if "if") (parenthesized_expression "(local_134 != local_1dc)" (( "(") (binary_expression "local_134 != local_1dc" (identifier "local_134") (!= "!=") (identifier "local_1dc")) () ")")) (compound_statement "{\n        FUN_003ae080(local_134);\n      }" ({ "{") (expression_statement "FUN_003ae080(local_134);" (call_expression "FUN_003ae080(local_134)" (identifier "FUN_003ae080") (argument_list "(local_134)" (( "(") (identifier "local_134") () ")"))) (; ";")) (} "}"))) (expression_statement "local_134 = local_1dc;" (assignment_expression "local_134 = local_1dc" (identifier "local_134") (= "=") (identifier "local_1dc")) (; ";")) (expression_statement "FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);" (call_expression "FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0)" (identifier "FUN_00072b90") (argument_list "(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0)" (( "(") (identifier "local_1d0") (, ",") (binary_expression "(int)local_1c4 + -0x15ba11" (cast_expression "(int)local_1c4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1c4")) (+ "+") (number_literal "-0x15ba11")) (, ",") (binary_expression "(int)local_1c4 + -0x15ba0d" (cast_expression "(int)local_1c4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1c4")) (+ "+") (number_literal "-0x15ba0d")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "local_16c = local_164;" (assignment_expression "local_16c = local_164" (identifier "local_16c") (= "=") (identifier "local_164")) (; ";")) (expression_statement "FUN_0014fca0(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0);" (call_expression "FUN_0014fca0(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0)" (identifier "FUN_0014fca0") (argument_list "(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0)" (( "(") (pointer_expression "&local_16c" (& "&") (identifier "local_16c")) (, ",") (identifier "local_134") (, ",") (cast_expression "(undefined *)(local_130 + (int)local_134)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_130 + (int)local_134)" (( "(") (binary_expression "local_130 + (int)local_134" (identifier "local_130") (+ "+") (cast_expression "(int)local_134" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_134"))) () ")"))) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "local_154 = 1;" (assignment_expression "local_154 = 1" (identifier "local_154") (= "=") (number_literal "1")) (; ";")) (if_statement "if (local_168 == 0) {\n                    \n        FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);\n      }" (if "if") (parenthesized_expression "(local_168 == 0)" (( "(") (binary_expression "local_168 == 0" (identifier "local_168") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n        FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);\n      }" ({ "{") (expression_statement "FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);" (call_expression "FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1)" (identifier "FUN_003b6cc0") (argument_list "(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1)" (( "(") (pointer_expression "&local_16c" (& "&") (identifier "local_16c")) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (binary_expression "(int)local_1c4 + -0x15ca25" (cast_expression "(int)local_1c4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1c4")) (+ "+") (number_literal "-0x15ca25")) (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar7 = *(int **)(param_1 + 0x2188);" (assignment_expression "piVar7 = *(int **)(param_1 + 0x2188)" (identifier "piVar7") (= "=") (pointer_expression "*(int **)(param_1 + 0x2188)" (* "*") (cast_expression "(int **)(param_1 + 0x2188)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x2188)" (( "(") (binary_expression "param_1 + 0x2188" (identifier "param_1") (+ "+") (number_literal "0x2188")) () ")"))))) (; ";")) (if_statement "if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_16c);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" (if "if") (parenthesized_expression "(piVar7 == *(int **)(param_1 + 0x218c))" (( "(") (binary_expression "piVar7 == *(int **)(param_1 + 0x218c)" (identifier "piVar7") (== "==") (pointer_expression "*(int **)(param_1 + 0x218c)" (* "*") (cast_expression "(int **)(param_1 + 0x218c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x218c)" (( "(") (binary_expression "param_1 + 0x218c" (identifier "param_1") (+ "+") (number_literal "0x218c")) () ")"))))) () ")")) (compound_statement "{\n                    \n        FUN_002c3140(local_1d8,piVar7,&local_16c);\n      }" ({ "{") (expression_statement "FUN_002c3140(local_1d8,piVar7,&local_16c);" (call_expression "FUN_002c3140(local_1d8,piVar7,&local_16c)" (identifier "FUN_002c3140") (argument_list "(local_1d8,piVar7,&local_16c)" (( "(") (identifier "local_1d8") (, ",") (identifier "piVar7") (, ",") (pointer_expression "&local_16c" (& "&") (identifier "local_16c")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" (else "else") (compound_statement "{\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" ({ "{") (expression_statement "*piVar7 = (int)(piVar7 + 2);" (assignment_expression "*piVar7 = (int)(piVar7 + 2)" (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (= "=") (cast_expression "(int)(piVar7 + 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(piVar7 + 2)" (( "(") (binary_expression "piVar7 + 2" (identifier "piVar7") (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);" (call_expression "FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0)" (identifier "FUN_0014fca0") (argument_list "(piVar7,local_16c,local_16c + local_168,0)" (( "(") (identifier "piVar7") (, ",") (identifier "local_16c") (, ",") (binary_expression "local_16c + local_168" (identifier "local_16c") (+ "+") (identifier "local_168")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "*(undefined1 *)(piVar7 + 6) = (undefined1)local_154;" (assignment_expression "*(undefined1 *)(piVar7 + 6) = (undefined1)local_154" (pointer_expression "*(undefined1 *)(piVar7 + 6)" (* "*") (cast_expression "(undefined1 *)(piVar7 + 6)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar7 + 6)" (( "(") (binary_expression "piVar7 + 6" (identifier "piVar7") (+ "+") (number_literal "6")) () ")")))) (= "=") (cast_expression "(undefined1)local_154" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "local_154"))) (; ";")) (expression_statement "*(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;" (assignment_expression "*(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_" (pointer_expression "*(undefined1 *)((int)piVar7 + 0x19)" (* "*") (cast_expression "(undefined1 *)((int)piVar7 + 0x19)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar7 + 0x19)" (( "(") (binary_expression "(int)piVar7 + 0x19" (cast_expression "(int)piVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar7")) (+ "+") (number_literal "0x19")) () ")")))) (= "=") (field_expression "local_154._1_1_" (identifier "local_154") (. ".") (field_identifier "_1_1_"))) (; ";")) (expression_statement "*(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;" (assignment_expression "*(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2188)" (* "*") (cast_expression "(int *)(param_1 + 0x2188)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2188)" (( "(") (binary_expression "param_1 + 0x2188" (identifier "param_1") (+ "+") (number_literal "0x2188")) () ")")))) (= "=") (binary_expression "*(int *)(param_1 + 0x2188) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2188)" (* "*") (cast_expression "(int *)(param_1 + 0x2188)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2188)" (( "(") (binary_expression "param_1 + 0x2188" (identifier "param_1") (+ "+") (number_literal "0x2188")) () ")")))) (+ "+") (number_literal "0x1c"))) (; ";")) (} "}")))) (if_statement "if (local_16c != local_164) {\n        FUN_003ae080(local_16c);\n      }" (if "if") (parenthesized_expression "(local_16c != local_164)" (( "(") (binary_expression "local_16c != local_164" (identifier "local_16c") (!= "!=") (identifier "local_164")) () ")")) (compound_statement "{\n        FUN_003ae080(local_16c);\n      }" ({ "{") (expression_statement "FUN_003ae080(local_16c);" (call_expression "FUN_003ae080(local_16c)" (identifier "FUN_003ae080") (argument_list "(local_16c)" (( "(") (identifier "local_16c") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }" (if "if") (parenthesized_expression "(local_134 != local_1dc)" (( "(") (binary_expression "local_134 != local_1dc" (identifier "local_134") (!= "!=") (identifier "local_1dc")) () ")")) (compound_statement "{\n        FUN_003ae080(local_134);\n      }" ({ "{") (expression_statement "FUN_003ae080(local_134);" (call_expression "FUN_003ae080(local_134)" (identifier "FUN_003ae080") (argument_list "(local_134)" (( "(") (identifier "local_134") () ")"))) (; ";")) (} "}"))) (expression_statement "local_134 = local_1dc;" (assignment_expression "local_134 = local_1dc" (identifier "local_134") (= "=") (identifier "local_1dc")) (; ";")) (expression_statement "FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);" (call_expression "FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0)" (identifier "FUN_00072b90") (argument_list "(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0)" (( "(") (identifier "local_1d0") (, ",") (binary_expression "(int)local_1c4 + -0x15ba15" (cast_expression "(int)local_1c4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1c4")) (+ "+") (number_literal "-0x15ba15")) (, ",") (binary_expression "(int)local_1c4 + -0x15ba0d" (cast_expression "(int)local_1c4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1c4")) (+ "+") (number_literal "-0x15ba0d")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "local_1e0 = local_148;" (assignment_expression "local_1e0 = local_148" (identifier "local_1e0") (= "=") (identifier "local_148")) (; ";")) (expression_statement "local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);" (assignment_expression "local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150)" (identifier "local_1cc") (= "=") (cast_expression "(double)CONCAT44(local_1cc._4_4_,&local_150)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "CONCAT44(local_1cc._4_4_,&local_150)" (identifier "CONCAT44") (argument_list "(local_1cc._4_4_,&local_150)" (( "(") (field_expression "local_1cc._4_4_" (identifier "local_1cc") (. ".") (field_identifier "_4_4_")) (, ",") (pointer_expression "&local_150" (& "&") (identifier "local_150")) () ")"))))) (; ";")) (expression_statement "local_150 = local_1e0;" (assignment_expression "local_150 = local_1e0" (identifier "local_150") (= "=") (identifier "local_1e0")) (; ";")) (expression_statement "FUN_0014fca0(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0);" (call_expression "FUN_0014fca0(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0)" (identifier "FUN_0014fca0") (argument_list "(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0)" (( "(") (pointer_expression "&local_150" (& "&") (identifier "local_150")) (, ",") (identifier "local_134") (, ",") (cast_expression "(undefined *)(local_130 + (int)local_134)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_130 + (int)local_134)" (( "(") (binary_expression "local_130 + (int)local_134" (identifier "local_130") (+ "+") (cast_expression "(int)local_134" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_134"))) () ")"))) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "local_138 = 1;" (assignment_expression "local_138 = 1" (identifier "local_138") (= "=") (number_literal "1")) (; ";")) (if_statement "if (local_14c == 0) {\n                    \n        FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);\n      }" (if "if") (parenthesized_expression "(local_14c == 0)" (( "(") (binary_expression "local_14c == 0" (identifier "local_14c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n        FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);\n      }" ({ "{") (expression_statement "FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);" (call_expression "FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1)" (identifier "FUN_003b6cc0") (argument_list "(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1)" (( "(") (field_expression "local_1cc._0_4_" (identifier "local_1cc") (. ".") (field_identifier "_0_4_")) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (binary_expression "(int)local_1c4 + -0x15ca25" (cast_expression "(int)local_1c4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1c4")) (+ "+") (number_literal "-0x15ca25")) (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar7 = *(int **)(param_1 + 0x2188);" (assignment_expression "piVar7 = *(int **)(param_1 + 0x2188)" (identifier "piVar7") (= "=") (pointer_expression "*(int **)(param_1 + 0x2188)" (* "*") (cast_expression "(int **)(param_1 + 0x2188)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x2188)" (( "(") (binary_expression "param_1 + 0x2188" (identifier "param_1") (+ "+") (number_literal "0x2188")) () ")"))))) (; ";")) (if_statement "if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n        FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);\n      }\n      else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" (if "if") (parenthesized_expression "(piVar7 == *(int **)(param_1 + 0x218c))" (( "(") (binary_expression "piVar7 == *(int **)(param_1 + 0x218c)" (identifier "piVar7") (== "==") (pointer_expression "*(int **)(param_1 + 0x218c)" (* "*") (cast_expression "(int **)(param_1 + 0x218c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x218c)" (( "(") (binary_expression "param_1 + 0x218c" (identifier "param_1") (+ "+") (number_literal "0x218c")) () ")"))))) () ")")) (compound_statement "{\n                    \n        FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);\n      }" ({ "{") (expression_statement "FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);" (call_expression "FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_)" (identifier "FUN_002c3140") (argument_list "(local_1d8,piVar7,local_1cc._0_4_)" (( "(") (identifier "local_1d8") (, ",") (identifier "piVar7") (, ",") (field_expression "local_1cc._0_4_" (identifier "local_1cc") (. ".") (field_identifier "_0_4_")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" (else "else") (compound_statement "{\n        *piVar7 = (int)(piVar7 + 2);\n                    \n        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);\n        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;\n        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;\n        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n      }" ({ "{") (expression_statement "*piVar7 = (int)(piVar7 + 2);" (assignment_expression "*piVar7 = (int)(piVar7 + 2)" (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (= "=") (cast_expression "(int)(piVar7 + 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(piVar7 + 2)" (( "(") (binary_expression "piVar7 + 2" (identifier "piVar7") (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);" (call_expression "FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0)" (identifier "FUN_0014fca0") (argument_list "(piVar7,local_150,local_150 + local_14c,0)" (( "(") (identifier "piVar7") (, ",") (identifier "local_150") (, ",") (binary_expression "local_150 + local_14c" (identifier "local_150") (+ "+") (identifier "local_14c")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "*(undefined1 *)(piVar7 + 6) = (undefined1)local_138;" (assignment_expression "*(undefined1 *)(piVar7 + 6) = (undefined1)local_138" (pointer_expression "*(undefined1 *)(piVar7 + 6)" (* "*") (cast_expression "(undefined1 *)(piVar7 + 6)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar7 + 6)" (( "(") (binary_expression "piVar7 + 6" (identifier "piVar7") (+ "+") (number_literal "6")) () ")")))) (= "=") (cast_expression "(undefined1)local_138" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "local_138"))) (; ";")) (expression_statement "*(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;" (assignment_expression "*(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_" (pointer_expression "*(undefined1 *)((int)piVar7 + 0x19)" (* "*") (cast_expression "(undefined1 *)((int)piVar7 + 0x19)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar7 + 0x19)" (( "(") (binary_expression "(int)piVar7 + 0x19" (cast_expression "(int)piVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar7")) (+ "+") (number_literal "0x19")) () ")")))) (= "=") (field_expression "local_138._1_1_" (identifier "local_138") (. ".") (field_identifier "_1_1_"))) (; ";")) (expression_statement "*(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;" (assignment_expression "*(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2188)" (* "*") (cast_expression "(int *)(param_1 + 0x2188)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2188)" (( "(") (binary_expression "param_1 + 0x2188" (identifier "param_1") (+ "+") (number_literal "0x2188")) () ")")))) (= "=") (binary_expression "*(int *)(param_1 + 0x2188) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2188)" (* "*") (cast_expression "(int *)(param_1 + 0x2188)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2188)" (( "(") (binary_expression "param_1 + 0x2188" (identifier "param_1") (+ "+") (number_literal "0x2188")) () ")")))) (+ "+") (number_literal "0x1c"))) (; ";")) (} "}")))) (if_statement "if (local_150 != local_1e0) {\n        FUN_003ae080(local_150);\n      }" (if "if") (parenthesized_expression "(local_150 != local_1e0)" (( "(") (binary_expression "local_150 != local_1e0" (identifier "local_150") (!= "!=") (identifier "local_1e0")) () ")")) (compound_statement "{\n        FUN_003ae080(local_150);\n      }" ({ "{") (expression_statement "FUN_003ae080(local_150);" (call_expression "FUN_003ae080(local_150)" (identifier "FUN_003ae080") (argument_list "(local_150)" (( "(") (identifier "local_150") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_134 != local_1dc) {\n        FUN_003ae080(local_134);\n      }" (if "if") (parenthesized_expression "(local_134 != local_1dc)" (( "(") (binary_expression "local_134 != local_1dc" (identifier "local_134") (!= "!=") (identifier "local_1dc")) () ")")) (compound_statement "{\n        FUN_003ae080(local_134);\n      }" ({ "{") (expression_statement "FUN_003ae080(local_134);" (call_expression "FUN_003ae080(local_134)" (identifier "FUN_003ae080") (argument_list "(local_134)" (( "(") (identifier "local_134") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_002c0258;" (goto "goto") (statement_identifier "LAB_002c0258") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    pcVar12 = *(char **)(param_1 + 0x4cac);\n    sVar9 = strlen(pcVar12);\n    ppuVar3 = local_1d4;\n                    \n    FUN_003b6cc0(local_1d4,0,0,pcVar12,sVar9);\n    iVar14 = FUN_003b86a0(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36);\n    if (iVar14 == 0) {\n      uVar6 = local_1b8;\n      if (2 < local_1b8) {\n        uVar6 = 2;\n      }\n                    \n      FUN_003b5ec0(local_1d4,0,uVar6);\n    }\nLAB_002c0258:\n    uVar6 = 0;\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n    if (local_1b8 != 0) {\n      do {\n        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);\n        uVar16 = 0xffffffff;\n        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    \n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    \n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    \n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    \n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }\n        uVar6 = iVar14 + 1;\n      } while( true );\n    }\n  }" (else "else") (compound_statement "{\n    pcVar12 = *(char **)(param_1 + 0x4cac);\n    sVar9 = strlen(pcVar12);\n    ppuVar3 = local_1d4;\n                    \n    FUN_003b6cc0(local_1d4,0,0,pcVar12,sVar9);\n    iVar14 = FUN_003b86a0(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36);\n    if (iVar14 == 0) {\n      uVar6 = local_1b8;\n      if (2 < local_1b8) {\n        uVar6 = 2;\n      }\n                    \n      FUN_003b5ec0(local_1d4,0,uVar6);\n    }\nLAB_002c0258:\n    uVar6 = 0;\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n    if (local_1b8 != 0) {\n      do {\n        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);\n        uVar16 = 0xffffffff;\n        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    \n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    \n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    \n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    \n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }\n        uVar6 = iVar14 + 1;\n      } while( true );\n    }\n  }" ({ "{") (expression_statement "pcVar12 = *(char **)(param_1 + 0x4cac);" (assignment_expression "pcVar12 = *(char **)(param_1 + 0x4cac)" (identifier "pcVar12") (= "=") (pointer_expression "*(char **)(param_1 + 0x4cac)" (* "*") (cast_expression "(char **)(param_1 + 0x4cac)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x4cac)" (( "(") (binary_expression "param_1 + 0x4cac" (identifier "param_1") (+ "+") (number_literal "0x4cac")) () ")"))))) (; ";")) (expression_statement "sVar9 = strlen(pcVar12);" (assignment_expression "sVar9 = strlen(pcVar12)" (identifier "sVar9") (= "=") (call_expression "strlen(pcVar12)" (identifier "strlen") (argument_list "(pcVar12)" (( "(") (identifier "pcVar12") () ")")))) (; ";")) (expression_statement "ppuVar3 = local_1d4;" (assignment_expression "ppuVar3 = local_1d4" (identifier "ppuVar3") (= "=") (identifier "local_1d4")) (; ";")) (expression_statement "FUN_003b6cc0(local_1d4,0,0,pcVar12,sVar9);" (call_expression "FUN_003b6cc0(local_1d4,0,0,pcVar12,sVar9)" (identifier "FUN_003b6cc0") (argument_list "(local_1d4,0,0,pcVar12,sVar9)" (( "(") (identifier "local_1d4") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "pcVar12") (, ",") (identifier "sVar9") () ")"))) (; ";")) (expression_statement "iVar14 = FUN_003b86a0(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36);" (assignment_expression "iVar14 = FUN_003b86a0(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36)" (identifier "iVar14") (= "=") (call_expression "FUN_003b86a0(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36)" (identifier "FUN_003b86a0") (argument_list "(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36)" (( "(") (identifier "ppuVar3") (, ",") (number_literal "0") (, ",") (number_literal "2") (, ",") (binary_expression "(int)ppuVar4 + -0x15ba36" (cast_expression "(int)ppuVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar4")) (+ "+") (number_literal "-0x15ba36")) () ")")))) (; ";")) (if_statement "if (iVar14 == 0) {\n      uVar6 = local_1b8;\n      if (2 < local_1b8) {\n        uVar6 = 2;\n      }\n                    \n      FUN_003b5ec0(local_1d4,0,uVar6);\n    }" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar6 = local_1b8;\n      if (2 < local_1b8) {\n        uVar6 = 2;\n      }\n                    \n      FUN_003b5ec0(local_1d4,0,uVar6);\n    }" ({ "{") (expression_statement "uVar6 = local_1b8;" (assignment_expression "uVar6 = local_1b8" (identifier "uVar6") (= "=") (identifier "local_1b8")) (; ";")) (if_statement "if (2 < local_1b8) {\n        uVar6 = 2;\n      }" (if "if") (parenthesized_expression "(2 < local_1b8)" (( "(") (binary_expression "2 < local_1b8" (number_literal "2") (< "<") (identifier "local_1b8")) () ")")) (compound_statement "{\n        uVar6 = 2;\n      }" ({ "{") (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" (identifier "uVar6") (= "=") (number_literal "2")) (; ";")) (} "}"))) (expression_statement "FUN_003b5ec0(local_1d4,0,uVar6);" (call_expression "FUN_003b5ec0(local_1d4,0,uVar6)" (identifier "FUN_003b5ec0") (argument_list "(local_1d4,0,uVar6)" (( "(") (identifier "local_1d4") (, ",") (number_literal "0") (, ",") (identifier "uVar6") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_002c0258:\n    uVar6 = 0;" (statement_identifier "LAB_002c0258") (: ":") (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";"))) (expression_statement "local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);" (assignment_expression "local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150)" (identifier "local_1cc") (= "=") (cast_expression "(double)CONCAT44(local_1cc._4_4_,&local_150)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "CONCAT44(local_1cc._4_4_,&local_150)" (identifier "CONCAT44") (argument_list "(local_1cc._4_4_,&local_150)" (( "(") (field_expression "local_1cc._4_4_" (identifier "local_1cc") (. ".") (field_identifier "_4_4_")) (, ",") (pointer_expression "&local_150" (& "&") (identifier "local_150")) () ")"))))) (; ";")) (if_statement "if (local_1b8 != 0) {\n      do {\n        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);\n        uVar16 = 0xffffffff;\n        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    \n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    \n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    \n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    \n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }\n        uVar6 = iVar14 + 1;\n      } while( true );\n    }" (if "if") (parenthesized_expression "(local_1b8 != 0)" (( "(") (binary_expression "local_1b8 != 0" (identifier "local_1b8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      do {\n        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);\n        uVar16 = 0xffffffff;\n        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    \n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    \n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    \n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    \n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }\n        uVar6 = iVar14 + 1;\n      } while( true );\n    }" ({ "{") (do_statement "do {\n        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);\n        uVar16 = 0xffffffff;\n        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    \n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    \n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    \n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    \n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }\n        uVar6 = iVar14 + 1;\n      } while( true );" (do "do") (compound_statement "{\n        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);\n        uVar16 = 0xffffffff;\n        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    \n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    \n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    \n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    \n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }\n        uVar6 = iVar14 + 1;\n      }" ({ "{") (expression_statement "iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);" (assignment_expression "iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6)" (identifier "iVar14") (= "=") (call_expression "FUN_003b7ee0(local_1d4,0x3a,uVar6)" (identifier "FUN_003b7ee0") (argument_list "(local_1d4,0x3a,uVar6)" (( "(") (identifier "local_1d4") (, ",") (number_literal "0x3a") (, ",") (identifier "uVar6") () ")")))) (; ";")) (expression_statement "uVar16 = 0xffffffff;" (assignment_expression "uVar16 = 0xffffffff" (identifier "uVar16") (= "=") (number_literal "0xffffffff")) (; ";")) (if_statement "if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {\n          if (local_1b8 < uVar6) {\n                    \n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    \n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    \n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    \n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }" (if "if") (parenthesized_expression "((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0))" (( "(") (binary_expression "(iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)" (parenthesized_expression "(iVar14 == -1)" (( "(") (binary_expression "iVar14 == -1" (identifier "iVar14") (== "==") (number_literal "-1")) () ")")) (|| "||") (parenthesized_expression "(uVar16 = iVar14 - uVar6, uVar16 != 0)" (( "(") (comma_expression "uVar16 = iVar14 - uVar6, uVar16 != 0" (assignment_expression "uVar16 = iVar14 - uVar6" (identifier "uVar16") (= "=") (binary_expression "iVar14 - uVar6" (identifier "iVar14") (- "-") (identifier "uVar6"))) (, ",") (binary_expression "uVar16 != 0" (identifier "uVar16") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          if (local_1b8 < uVar6) {\n                    \n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }\n          local_1e0 = local_148;\n          uVar10 = local_1b8 - uVar6;\n          if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }\n          local_150 = local_1e0;\n          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);\n          local_1dc = local_12c;\n          local_1d0 = (undefined ***)&local_134;\n          local_134 = local_1dc;\n                    \n          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);\n          local_11c = 1;\n          if (local_130 == 0) {\n                    \n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }\n          piVar7 = *(int **)(param_1 + 0x2188);\n          if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    \n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }\n          if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }\n          if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }\n          if (iVar14 == -1) break;\n        }" ({ "{") (if_statement "if (local_1b8 < uVar6) {\n                    \n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }" (if "if") (parenthesized_expression "(local_1b8 < uVar6)" (( "(") (binary_expression "local_1b8 < uVar6" (identifier "local_1b8") (< "<") (identifier "uVar6")) () ")")) (compound_statement "{\n                    \n            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);\n          }" ({ "{") (expression_statement "FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);" (call_expression "FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8)" (identifier "FUN_003f3b10") (argument_list "(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8)" (( "(") (binary_expression "local_1c4 + -0x58f98" (identifier "local_1c4") (+ "+") (number_literal "-0x58f98")) (, ",") (binary_expression "(int)local_1c4 + -0x1641fb" (cast_expression "(int)local_1c4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1c4")) (+ "+") (number_literal "-0x1641fb")) (, ",") (identifier "uVar6") (, ",") (identifier "local_1b8") () ")"))) (; ";")) (} "}"))) (expression_statement "local_1e0 = local_148;" (assignment_expression "local_1e0 = local_148" (identifier "local_1e0") (= "=") (identifier "local_148")) (; ";")) (expression_statement "uVar10 = local_1b8 - uVar6;" (assignment_expression "uVar10 = local_1b8 - uVar6" (identifier "uVar10") (= "=") (binary_expression "local_1b8 - uVar6" (identifier "local_1b8") (- "-") (identifier "uVar6"))) (; ";")) (if_statement "if (uVar16 < local_1b8 - uVar6) {\n            uVar10 = uVar16;\n          }" (if "if") (parenthesized_expression "(uVar16 < local_1b8 - uVar6)" (( "(") (binary_expression "uVar16 < local_1b8 - uVar6" (identifier "uVar16") (< "<") (binary_expression "local_1b8 - uVar6" (identifier "local_1b8") (- "-") (identifier "uVar6"))) () ")")) (compound_statement "{\n            uVar10 = uVar16;\n          }" ({ "{") (expression_statement "uVar10 = uVar16;" (assignment_expression "uVar10 = uVar16" (identifier "uVar10") (= "=") (identifier "uVar16")) (; ";")) (} "}"))) (expression_statement "local_150 = local_1e0;" (assignment_expression "local_150 = local_1e0" (identifier "local_150") (= "=") (identifier "local_1e0")) (; ";")) (expression_statement "FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);" (call_expression "FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0)" (identifier "FUN_00072b90") (argument_list "(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0)" (( "(") (field_expression "local_1cc._0_4_" (identifier "local_1cc") (. ".") (field_identifier "_0_4_")) (, ",") (binary_expression "local_1bc + uVar6" (identifier "local_1bc") (+ "+") (identifier "uVar6")) (, ",") (binary_expression "local_1bc + uVar6 + uVar10" (binary_expression "local_1bc + uVar6" (identifier "local_1bc") (+ "+") (identifier "uVar6")) (+ "+") (identifier "uVar10")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "local_1dc = local_12c;" (assignment_expression "local_1dc = local_12c" (identifier "local_1dc") (= "=") (identifier "local_12c")) (; ";")) (expression_statement "local_1d0 = (undefined ***)&local_134;" (assignment_expression "local_1d0 = (undefined ***)&local_134" (identifier "local_1d0") (= "=") (cast_expression "(undefined ***)&local_134" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (pointer_expression "&local_134" (& "&") (identifier "local_134")))) (; ";")) (expression_statement "local_134 = local_1dc;" (assignment_expression "local_134 = local_1dc" (identifier "local_134") (= "=") (identifier "local_1dc")) (; ";")) (expression_statement "FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);" (call_expression "FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0)" (identifier "FUN_0014fca0") (argument_list "(local_1d0,local_150,local_150 + local_14c,0)" (( "(") (identifier "local_1d0") (, ",") (identifier "local_150") (, ",") (binary_expression "local_150 + local_14c" (identifier "local_150") (+ "+") (identifier "local_14c")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "local_11c = 1;" (assignment_expression "local_11c = 1" (identifier "local_11c") (= "=") (number_literal "1")) (; ";")) (if_statement "if (local_130 == 0) {\n                    \n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }" (if "if") (parenthesized_expression "(local_130 == 0)" (( "(") (binary_expression "local_130 == 0" (identifier "local_130") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);\n          }" ({ "{") (expression_statement "FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);" (call_expression "FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1)" (identifier "FUN_003b6cc0") (argument_list "(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1)" (( "(") (identifier "local_1d0") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (binary_expression "(int)local_1c4 + -0x15ca25" (cast_expression "(int)local_1c4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1c4")) (+ "+") (number_literal "-0x15ca25")) (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar7 = *(int **)(param_1 + 0x2188);" (assignment_expression "piVar7 = *(int **)(param_1 + 0x2188)" (identifier "piVar7") (= "=") (pointer_expression "*(int **)(param_1 + 0x2188)" (* "*") (cast_expression "(int **)(param_1 + 0x2188)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x2188)" (( "(") (binary_expression "param_1 + 0x2188" (identifier "param_1") (+ "+") (number_literal "0x2188")) () ")"))))) (; ";")) (if_statement "if (piVar7 == *(int **)(param_1 + 0x218c)) {\n                    \n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }\n          else {\n            *piVar7 = (int)(piVar7 + 2);\n                    \n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }" (if "if") (parenthesized_expression "(piVar7 == *(int **)(param_1 + 0x218c))" (( "(") (binary_expression "piVar7 == *(int **)(param_1 + 0x218c)" (identifier "piVar7") (== "==") (pointer_expression "*(int **)(param_1 + 0x218c)" (* "*") (cast_expression "(int **)(param_1 + 0x218c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x218c)" (( "(") (binary_expression "param_1 + 0x218c" (identifier "param_1") (+ "+") (number_literal "0x218c")) () ")"))))) () ")")) (compound_statement "{\n                    \n            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);\n          }" ({ "{") (expression_statement "FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);" (call_expression "FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0)" (identifier "FUN_002c3140") (argument_list "(param_1 + 0x2184,piVar7,local_1d0)" (( "(") (binary_expression "param_1 + 0x2184" (identifier "param_1") (+ "+") (number_literal "0x2184")) (, ",") (identifier "piVar7") (, ",") (identifier "local_1d0") () ")"))) (; ";")) (} "}")) (else_clause "else {\n            *piVar7 = (int)(piVar7 + 2);\n                    \n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }" (else "else") (compound_statement "{\n            *piVar7 = (int)(piVar7 + 2);\n                    \n            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);\n            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;\n            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;\n            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;\n          }" ({ "{") (expression_statement "*piVar7 = (int)(piVar7 + 2);" (assignment_expression "*piVar7 = (int)(piVar7 + 2)" (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (= "=") (cast_expression "(int)(piVar7 + 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(piVar7 + 2)" (( "(") (binary_expression "piVar7 + 2" (identifier "piVar7") (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);" (call_expression "FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0)" (identifier "FUN_0014fca0") (argument_list "(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0)" (( "(") (identifier "piVar7") (, ",") (identifier "local_134") (, ",") (cast_expression "(undefined *)(local_130 + (int)local_134)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_130 + (int)local_134)" (( "(") (binary_expression "local_130 + (int)local_134" (identifier "local_130") (+ "+") (cast_expression "(int)local_134" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_134"))) () ")"))) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "*(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;" (assignment_expression "*(undefined1 *)(piVar7 + 6) = (undefined1)local_11c" (pointer_expression "*(undefined1 *)(piVar7 + 6)" (* "*") (cast_expression "(undefined1 *)(piVar7 + 6)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar7 + 6)" (( "(") (binary_expression "piVar7 + 6" (identifier "piVar7") (+ "+") (number_literal "6")) () ")")))) (= "=") (cast_expression "(undefined1)local_11c" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "local_11c"))) (; ";")) (expression_statement "*(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;" (assignment_expression "*(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_" (pointer_expression "*(undefined1 *)((int)piVar7 + 0x19)" (* "*") (cast_expression "(undefined1 *)((int)piVar7 + 0x19)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar7 + 0x19)" (( "(") (binary_expression "(int)piVar7 + 0x19" (cast_expression "(int)piVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar7")) (+ "+") (number_literal "0x19")) () ")")))) (= "=") (field_expression "local_11c._1_1_" (identifier "local_11c") (. ".") (field_identifier "_1_1_"))) (; ";")) (expression_statement "*(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;" (assignment_expression "*(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2188)" (* "*") (cast_expression "(int *)(param_1 + 0x2188)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2188)" (( "(") (binary_expression "param_1 + 0x2188" (identifier "param_1") (+ "+") (number_literal "0x2188")) () ")")))) (= "=") (binary_expression "*(int *)(param_1 + 0x2188) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2188)" (* "*") (cast_expression "(int *)(param_1 + 0x2188)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2188)" (( "(") (binary_expression "param_1 + 0x2188" (identifier "param_1") (+ "+") (number_literal "0x2188")) () ")")))) (+ "+") (number_literal "0x1c"))) (; ";")) (} "}")))) (if_statement "if (local_134 != local_1dc) {\n            FUN_003ae080(local_134);\n          }" (if "if") (parenthesized_expression "(local_134 != local_1dc)" (( "(") (binary_expression "local_134 != local_1dc" (identifier "local_134") (!= "!=") (identifier "local_1dc")) () ")")) (compound_statement "{\n            FUN_003ae080(local_134);\n          }" ({ "{") (expression_statement "FUN_003ae080(local_134);" (call_expression "FUN_003ae080(local_134)" (identifier "FUN_003ae080") (argument_list "(local_134)" (( "(") (identifier "local_134") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_150 != local_1e0) {\n            FUN_003ae080(local_150);\n          }" (if "if") (parenthesized_expression "(local_150 != local_1e0)" (( "(") (binary_expression "local_150 != local_1e0" (identifier "local_150") (!= "!=") (identifier "local_1e0")) () ")")) (compound_statement "{\n            FUN_003ae080(local_150);\n          }" ({ "{") (expression_statement "FUN_003ae080(local_150);" (call_expression "FUN_003ae080(local_150)" (identifier "FUN_003ae080") (argument_list "(local_150)" (( "(") (identifier "local_150") () ")"))) (; ";")) (} "}"))) (if_statement "if (iVar14 == -1) break;" (if "if") (parenthesized_expression "(iVar14 == -1)" (( "(") (binary_expression "iVar14 == -1" (identifier "iVar14") (== "==") (number_literal "-1")) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}"))) (expression_statement "uVar6 = iVar14 + 1;" (assignment_expression "uVar6 = iVar14 + 1" (identifier "uVar6") (= "=") (binary_expression "iVar14 + 1" (identifier "iVar14") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (} "}")))) (expression_statement "ppuVar4 = local_1c4;" (assignment_expression "ppuVar4 = local_1c4" (identifier "ppuVar4") (= "=") (identifier "local_1c4")) (; ";")) (expression_statement "puVar17 = auStack_20c;" (assignment_expression "puVar17 = auStack_20c" (identifier "puVar17") (= "=") (identifier "auStack_20c")) (; ";")) (expression_statement "puVar18 = auStack_20c;" (assignment_expression "puVar18 = auStack_20c" (identifier "puVar18") (= "=") (identifier "auStack_20c")) (; ";")) (if_statement "if (*(int *)(param_1 + 0x3288) != 0) {\n    local_1e8 = local_a4;\n    local_1d0 = (undefined ***)&local_134;\n    FUN_003f2f70(local_1e8);\n    local_1fc = ppuVar4 + -0xa0e;\n    local_34 = 0;\n    local_2c = 0;\n    local_a4[0] = ppuVar4 + -0xa0c;\n    local_30 = 0;\n    local_28 = 0;\n    local_1f4 = (undefined ***)ppuVar4[-0x9d3];\n    local_1f8 = ppuVar4[-0x9d2];\n    local_24 = 0;\n    local_20 = 0;\n    local_134 = local_1f4;\n    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;\n    local_130 = 0;\n                    \n    FUN_003d8720((int)local_1f4[-3] + (int)&local_134,0);\n    local_200 = ppuVar4 + -0x9d0;\n    local_134 = (undefined ***)(ppuVar4 + -0x9cd);\n    local_a4[0] = ppuVar4 + -0x9c8;\n    local_1dc = local_12c;\n                    \n    FUN_003da940(local_12c);\n                    \n    FUN_003d8720(local_1e8,local_12c);\n                    \n    iVar14 = FUN_003dec20(local_12c,*(undefined4 *)(param_1 + 0x3288),8);\n    puVar15 = (undefined *)((int)local_1d0 + (int)local_134[-3]);\n    if (iVar14 == 0) {\n                    \n      FUN_003d7ed0(puVar15,*(uint *)(puVar15 + 0x14) | 4);\n    }\n    else {\n      FUN_003d7ed0(puVar15,0);\n    }\n    ppuVar4 = local_1c4;\n    if ((local_90 & 5) != 0) {\n      piVar7 = __errno_location();\n      pcVar12 = strerror(*piVar7);\n      uVar11 = *(undefined4 *)(param_1 + 0x3288);\n      uVar13 = gettext(local_1c4 + -0x5645f);\n                    \n                    \n      FUN_0023b7b0(uVar13,uVar11,pcVar12);\n    }\n    local_1e0 = local_148;\n    local_148[0] = 0;\n    local_14c = 0;\n    piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n    local_150 = local_1e0;\n    if (piVar7 == (int *)0x0) {\n                    \n                    \n      FUN_003f3900();\n    }\n    if ((char)piVar7[7] == '\0') {\n                    \n      FUN_003f3f90(piVar7);\n      iVar14 = 10;\n      if (*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4) {\n        cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);\n        iVar14 = (int)cVar5;\n      }\n    }\n    else {\n      iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n    }\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n                    \n    FUN_003aef80(local_1d0,&local_150,iVar14);\n    local_1d4 = (undefined1 **)(param_1 + 0x5a3c);\n    local_1e4 = local_1c0;\n    while ((local_90 & 5) == 0) {\n      if ((local_14c != 0) && (local_150[local_14c + -1] == '\r')) {\n        *(undefined4 *)(puVar17 + -8) = 0;\n        *(int *)(puVar17 + -0xc) = local_14c + -1;\n        *(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2c0187;\n        FUN_003b6a50();\n      }\n      *(undefined4 *)(puVar17 + -8) = 0xc70f6907;\n      *(int *)(puVar17 + -0xc) = local_14c;\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc8a;\n      uVar6 = FUN_003ac580();\n      local_1d8 = uVar6 % *(uint *)(param_1 + 0x5a40);\n      *(uint *)(puVar17 + -0x14) = uVar6;\n      *(undefined4 *)(puVar17 + -0x18) = local_1cc._0_4_;\n      *(uint *)(puVar17 + -0x1c) = local_1d8;\n      *(undefined1 ***)(puVar17 + -0x20) = local_1d4;\n      *(undefined4 *)(puVar17 + -0x24) = 0x2bfcb0;\n      piVar7 = (int *)FUN_0022ed10();\n      if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n        *(undefined4 *)(puVar17 + -0x10) = 0x20;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;\n        puVar8 = (undefined4 *)FUN_003ac4d0();\n        *puVar8 = 0;\n        puVar8[1] = puVar8 + 3;\n        *(undefined4 *)(puVar17 + -4) = 0;\n        *(undefined1 **)(puVar17 + -8) = local_150 + local_14c;\n        *(undefined1 **)(puVar17 + -0xc) = local_150;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;\n        FUN_0014fca0();\n        *(undefined4 *)(puVar17 + -0xc) = 1;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8;\n        *(uint *)(puVar17 + -0x14) = uVar6;\n        *(uint *)(puVar17 + -0x18) = local_1d8;\n        *(undefined1 ***)(puVar17 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar17 + -0x20) = local_1e4;\n                    \n        *(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;\n        FUN_002c4660();\n        puVar17 = puVar17 + -4;\n      }\n      ppuVar4 = local_1c4;\n      piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n      if (piVar7 == (int *)0x0) {\n                    \n                    \n        *(undefined4 *)(puVar17 + -4) = 0x2c0bff;\n        FUN_003f3900();\n      }\n      if ((char)piVar7[7] == '\0') {\n        *(int **)(puVar17 + -0x10) = piVar7;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;\n        FUN_003f3f90();\n        ppuVar2 = *(undefined ***)(*piVar7 + 0x18);\n        iVar14 = 10;\n        if (ppuVar2 != ppuVar4 + -0xdabd4) {\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }\n      }\n      else {\n        iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n      }\n      *(int *)(puVar17 + -8) = iVar14;\n      *(undefined4 *)(puVar17 + -0xc) = local_1cc._0_4_;\n      *(undefined ****)(puVar17 + -0x10) = local_1d0;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc47;\n      FUN_003aef80();\n    }\n    if (local_150 != local_1e0) {\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfe3f;\n      FUN_003ae080();\n    }\n    ppuVar4 = local_1c4;\n    *(undefined ****)(puVar17 + -0x10) = local_1dc;\n    local_134 = (undefined ***)(local_200 + 3);\n    local_a4[0] = local_200 + 8;\n    local_12c[0] = local_1c4 + -0x9ec;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe7f;\n    FUN_003de160();\n    *(undefined1 **)(puVar17 + -0x10) = local_f4;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe8d;\n    FUN_003ae8c0();\n    local_12c[0] = ppuVar4 + -0xbd1;\n    *(undefined1 **)(puVar17 + -0x10) = local_110;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeaa;\n    FUN_003b07e0();\n    local_134 = local_1f4;\n    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;\n    local_130 = 0;\n    local_a4[0] = local_1fc + 2;\n    *(undefined ****)(puVar17 + -0x10) = local_1e8;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeeb;\n    FUN_003f3310();\n    puVar18 = puVar17;\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x3288) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x3288) != 0" (pointer_expression "*(int *)(param_1 + 0x3288)" (* "*") (cast_expression "(int *)(param_1 + 0x3288)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3288)" (( "(") (binary_expression "param_1 + 0x3288" (identifier "param_1") (+ "+") (number_literal "0x3288")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    local_1e8 = local_a4;\n    local_1d0 = (undefined ***)&local_134;\n    FUN_003f2f70(local_1e8);\n    local_1fc = ppuVar4 + -0xa0e;\n    local_34 = 0;\n    local_2c = 0;\n    local_a4[0] = ppuVar4 + -0xa0c;\n    local_30 = 0;\n    local_28 = 0;\n    local_1f4 = (undefined ***)ppuVar4[-0x9d3];\n    local_1f8 = ppuVar4[-0x9d2];\n    local_24 = 0;\n    local_20 = 0;\n    local_134 = local_1f4;\n    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;\n    local_130 = 0;\n                    \n    FUN_003d8720((int)local_1f4[-3] + (int)&local_134,0);\n    local_200 = ppuVar4 + -0x9d0;\n    local_134 = (undefined ***)(ppuVar4 + -0x9cd);\n    local_a4[0] = ppuVar4 + -0x9c8;\n    local_1dc = local_12c;\n                    \n    FUN_003da940(local_12c);\n                    \n    FUN_003d8720(local_1e8,local_12c);\n                    \n    iVar14 = FUN_003dec20(local_12c,*(undefined4 *)(param_1 + 0x3288),8);\n    puVar15 = (undefined *)((int)local_1d0 + (int)local_134[-3]);\n    if (iVar14 == 0) {\n                    \n      FUN_003d7ed0(puVar15,*(uint *)(puVar15 + 0x14) | 4);\n    }\n    else {\n      FUN_003d7ed0(puVar15,0);\n    }\n    ppuVar4 = local_1c4;\n    if ((local_90 & 5) != 0) {\n      piVar7 = __errno_location();\n      pcVar12 = strerror(*piVar7);\n      uVar11 = *(undefined4 *)(param_1 + 0x3288);\n      uVar13 = gettext(local_1c4 + -0x5645f);\n                    \n                    \n      FUN_0023b7b0(uVar13,uVar11,pcVar12);\n    }\n    local_1e0 = local_148;\n    local_148[0] = 0;\n    local_14c = 0;\n    piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n    local_150 = local_1e0;\n    if (piVar7 == (int *)0x0) {\n                    \n                    \n      FUN_003f3900();\n    }\n    if ((char)piVar7[7] == '\0') {\n                    \n      FUN_003f3f90(piVar7);\n      iVar14 = 10;\n      if (*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4) {\n        cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);\n        iVar14 = (int)cVar5;\n      }\n    }\n    else {\n      iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n    }\n    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);\n                    \n    FUN_003aef80(local_1d0,&local_150,iVar14);\n    local_1d4 = (undefined1 **)(param_1 + 0x5a3c);\n    local_1e4 = local_1c0;\n    while ((local_90 & 5) == 0) {\n      if ((local_14c != 0) && (local_150[local_14c + -1] == '\r')) {\n        *(undefined4 *)(puVar17 + -8) = 0;\n        *(int *)(puVar17 + -0xc) = local_14c + -1;\n        *(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2c0187;\n        FUN_003b6a50();\n      }\n      *(undefined4 *)(puVar17 + -8) = 0xc70f6907;\n      *(int *)(puVar17 + -0xc) = local_14c;\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc8a;\n      uVar6 = FUN_003ac580();\n      local_1d8 = uVar6 % *(uint *)(param_1 + 0x5a40);\n      *(uint *)(puVar17 + -0x14) = uVar6;\n      *(undefined4 *)(puVar17 + -0x18) = local_1cc._0_4_;\n      *(uint *)(puVar17 + -0x1c) = local_1d8;\n      *(undefined1 ***)(puVar17 + -0x20) = local_1d4;\n      *(undefined4 *)(puVar17 + -0x24) = 0x2bfcb0;\n      piVar7 = (int *)FUN_0022ed10();\n      if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n        *(undefined4 *)(puVar17 + -0x10) = 0x20;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;\n        puVar8 = (undefined4 *)FUN_003ac4d0();\n        *puVar8 = 0;\n        puVar8[1] = puVar8 + 3;\n        *(undefined4 *)(puVar17 + -4) = 0;\n        *(undefined1 **)(puVar17 + -8) = local_150 + local_14c;\n        *(undefined1 **)(puVar17 + -0xc) = local_150;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;\n        FUN_0014fca0();\n        *(undefined4 *)(puVar17 + -0xc) = 1;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8;\n        *(uint *)(puVar17 + -0x14) = uVar6;\n        *(uint *)(puVar17 + -0x18) = local_1d8;\n        *(undefined1 ***)(puVar17 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar17 + -0x20) = local_1e4;\n                    \n        *(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;\n        FUN_002c4660();\n        puVar17 = puVar17 + -4;\n      }\n      ppuVar4 = local_1c4;\n      piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n      if (piVar7 == (int *)0x0) {\n                    \n                    \n        *(undefined4 *)(puVar17 + -4) = 0x2c0bff;\n        FUN_003f3900();\n      }\n      if ((char)piVar7[7] == '\0') {\n        *(int **)(puVar17 + -0x10) = piVar7;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;\n        FUN_003f3f90();\n        ppuVar2 = *(undefined ***)(*piVar7 + 0x18);\n        iVar14 = 10;\n        if (ppuVar2 != ppuVar4 + -0xdabd4) {\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }\n      }\n      else {\n        iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n      }\n      *(int *)(puVar17 + -8) = iVar14;\n      *(undefined4 *)(puVar17 + -0xc) = local_1cc._0_4_;\n      *(undefined ****)(puVar17 + -0x10) = local_1d0;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc47;\n      FUN_003aef80();\n    }\n    if (local_150 != local_1e0) {\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfe3f;\n      FUN_003ae080();\n    }\n    ppuVar4 = local_1c4;\n    *(undefined ****)(puVar17 + -0x10) = local_1dc;\n    local_134 = (undefined ***)(local_200 + 3);\n    local_a4[0] = local_200 + 8;\n    local_12c[0] = local_1c4 + -0x9ec;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe7f;\n    FUN_003de160();\n    *(undefined1 **)(puVar17 + -0x10) = local_f4;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe8d;\n    FUN_003ae8c0();\n    local_12c[0] = ppuVar4 + -0xbd1;\n    *(undefined1 **)(puVar17 + -0x10) = local_110;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeaa;\n    FUN_003b07e0();\n    local_134 = local_1f4;\n    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;\n    local_130 = 0;\n    local_a4[0] = local_1fc + 2;\n    *(undefined ****)(puVar17 + -0x10) = local_1e8;\n    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeeb;\n    FUN_003f3310();\n    puVar18 = puVar17;\n  }" ({ "{") (expression_statement "local_1e8 = local_a4;" (assignment_expression "local_1e8 = local_a4" (identifier "local_1e8") (= "=") (identifier "local_a4")) (; ";")) (expression_statement "local_1d0 = (undefined ***)&local_134;" (assignment_expression "local_1d0 = (undefined ***)&local_134" (identifier "local_1d0") (= "=") (cast_expression "(undefined ***)&local_134" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (pointer_expression "&local_134" (& "&") (identifier "local_134")))) (; ";")) (expression_statement "FUN_003f2f70(local_1e8);" (call_expression "FUN_003f2f70(local_1e8)" (identifier "FUN_003f2f70") (argument_list "(local_1e8)" (( "(") (identifier "local_1e8") () ")"))) (; ";")) (expression_statement "local_1fc = ppuVar4 + -0xa0e;" (assignment_expression "local_1fc = ppuVar4 + -0xa0e" (identifier "local_1fc") (= "=") (binary_expression "ppuVar4 + -0xa0e" (identifier "ppuVar4") (+ "+") (number_literal "-0xa0e"))) (; ";")) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" (identifier "local_34") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" (identifier "local_2c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_a4[0] = ppuVar4 + -0xa0c;" (assignment_expression "local_a4[0] = ppuVar4 + -0xa0c" (subscript_expression "local_a4[0]" (identifier "local_a4") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "ppuVar4 + -0xa0c" (identifier "ppuVar4") (+ "+") (number_literal "-0xa0c"))) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_1f4 = (undefined ***)ppuVar4[-0x9d3];" (assignment_expression "local_1f4 = (undefined ***)ppuVar4[-0x9d3]" (identifier "local_1f4") (= "=") (cast_expression "(undefined ***)ppuVar4[-0x9d3]" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (subscript_expression "ppuVar4[-0x9d3]" (identifier "ppuVar4") ([ "[") (number_literal "-0x9d3") (] "]")))) (; ";")) (expression_statement "local_1f8 = ppuVar4[-0x9d2];" (assignment_expression "local_1f8 = ppuVar4[-0x9d2]" (identifier "local_1f8") (= "=") (subscript_expression "ppuVar4[-0x9d2]" (identifier "ppuVar4") ([ "[") (number_literal "-0x9d2") (] "]"))) (; ";")) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" (identifier "local_24") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" (identifier "local_20") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_134 = local_1f4;" (assignment_expression "local_134 = local_1f4" (identifier "local_134") (= "=") (identifier "local_1f4")) (; ";")) (expression_statement "*(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;" (assignment_expression "*(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8" (pointer_expression "*(undefined **)((int)&local_134 + (int)local_1f4[-3])" (* "*") (cast_expression "(undefined **)((int)&local_134 + (int)local_1f4[-3])" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)&local_134 + (int)local_1f4[-3])" (( "(") (binary_expression "(int)&local_134 + (int)local_1f4[-3]" (cast_expression "(int)&local_134" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&local_134" (& "&") (identifier "local_134"))) (+ "+") (cast_expression "(int)local_1f4[-3]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_1f4[-3]" (identifier "local_1f4") ([ "[") (number_literal "-3") (] "]")))) () ")")))) (= "=") (identifier "local_1f8")) (; ";")) (expression_statement "local_130 = 0;" (assignment_expression "local_130 = 0" (identifier "local_130") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_003d8720((int)local_1f4[-3] + (int)&local_134,0);" (call_expression "FUN_003d8720((int)local_1f4[-3] + (int)&local_134,0)" (identifier "FUN_003d8720") (argument_list "((int)local_1f4[-3] + (int)&local_134,0)" (( "(") (binary_expression "(int)local_1f4[-3] + (int)&local_134" (cast_expression "(int)local_1f4[-3]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_1f4[-3]" (identifier "local_1f4") ([ "[") (number_literal "-3") (] "]"))) (+ "+") (cast_expression "(int)&local_134" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&local_134" (& "&") (identifier "local_134")))) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "local_200 = ppuVar4 + -0x9d0;" (assignment_expression "local_200 = ppuVar4 + -0x9d0" (identifier "local_200") (= "=") (binary_expression "ppuVar4 + -0x9d0" (identifier "ppuVar4") (+ "+") (number_literal "-0x9d0"))) (; ";")) (expression_statement "local_134 = (undefined ***)(ppuVar4 + -0x9cd);" (assignment_expression "local_134 = (undefined ***)(ppuVar4 + -0x9cd)" (identifier "local_134") (= "=") (cast_expression "(undefined ***)(ppuVar4 + -0x9cd)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(ppuVar4 + -0x9cd)" (( "(") (binary_expression "ppuVar4 + -0x9cd" (identifier "ppuVar4") (+ "+") (number_literal "-0x9cd")) () ")")))) (; ";")) (expression_statement "local_a4[0] = ppuVar4 + -0x9c8;" (assignment_expression "local_a4[0] = ppuVar4 + -0x9c8" (subscript_expression "local_a4[0]" (identifier "local_a4") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "ppuVar4 + -0x9c8" (identifier "ppuVar4") (+ "+") (number_literal "-0x9c8"))) (; ";")) (expression_statement "local_1dc = local_12c;" (assignment_expression "local_1dc = local_12c" (identifier "local_1dc") (= "=") (identifier "local_12c")) (; ";")) (expression_statement "FUN_003da940(local_12c);" (call_expression "FUN_003da940(local_12c)" (identifier "FUN_003da940") (argument_list "(local_12c)" (( "(") (identifier "local_12c") () ")"))) (; ";")) (expression_statement "FUN_003d8720(local_1e8,local_12c);" (call_expression "FUN_003d8720(local_1e8,local_12c)" (identifier "FUN_003d8720") (argument_list "(local_1e8,local_12c)" (( "(") (identifier "local_1e8") (, ",") (identifier "local_12c") () ")"))) (; ";")) (expression_statement "iVar14 = FUN_003dec20(local_12c,*(undefined4 *)(param_1 + 0x3288),8);" (assignment_expression "iVar14 = FUN_003dec20(local_12c,*(undefined4 *)(param_1 + 0x3288),8)" (identifier "iVar14") (= "=") (call_expression "FUN_003dec20(local_12c,*(undefined4 *)(param_1 + 0x3288),8)" (identifier "FUN_003dec20") (argument_list "(local_12c,*(undefined4 *)(param_1 + 0x3288),8)" (( "(") (identifier "local_12c") (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x3288)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x3288)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3288)" (( "(") (binary_expression "param_1 + 0x3288" (identifier "param_1") (+ "+") (number_literal "0x3288")) () ")")))) (, ",") (number_literal "8") () ")")))) (; ";")) (expression_statement "puVar15 = (undefined *)((int)local_1d0 + (int)local_134[-3]);" (assignment_expression "puVar15 = (undefined *)((int)local_1d0 + (int)local_134[-3])" (identifier "puVar15") (= "=") (cast_expression "(undefined *)((int)local_1d0 + (int)local_134[-3])" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_1d0 + (int)local_134[-3])" (( "(") (binary_expression "(int)local_1d0 + (int)local_134[-3]" (cast_expression "(int)local_1d0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1d0")) (+ "+") (cast_expression "(int)local_134[-3]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_134[-3]" (identifier "local_134") ([ "[") (number_literal "-3") (] "]")))) () ")")))) (; ";")) (if_statement "if (iVar14 == 0) {\n                    \n      FUN_003d7ed0(puVar15,*(uint *)(puVar15 + 0x14) | 4);\n    }\n    else {\n      FUN_003d7ed0(puVar15,0);\n    }" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n      FUN_003d7ed0(puVar15,*(uint *)(puVar15 + 0x14) | 4);\n    }" ({ "{") (expression_statement "FUN_003d7ed0(puVar15,*(uint *)(puVar15 + 0x14) | 4);" (call_expression "FUN_003d7ed0(puVar15,*(uint *)(puVar15 + 0x14) | 4)" (identifier "FUN_003d7ed0") (argument_list "(puVar15,*(uint *)(puVar15 + 0x14) | 4)" (( "(") (identifier "puVar15") (, ",") (binary_expression "*(uint *)(puVar15 + 0x14) | 4" (pointer_expression "*(uint *)(puVar15 + 0x14)" (* "*") (cast_expression "(uint *)(puVar15 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x14)" (( "(") (binary_expression "puVar15 + 0x14" (identifier "puVar15") (+ "+") (number_literal "0x14")) () ")")))) (| "|") (number_literal "4")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n      FUN_003d7ed0(puVar15,0);\n    }" (else "else") (compound_statement "{\n      FUN_003d7ed0(puVar15,0);\n    }" ({ "{") (expression_statement "FUN_003d7ed0(puVar15,0);" (call_expression "FUN_003d7ed0(puVar15,0)" (identifier "FUN_003d7ed0") (argument_list "(puVar15,0)" (( "(") (identifier "puVar15") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")))) (expression_statement "ppuVar4 = local_1c4;" (assignment_expression "ppuVar4 = local_1c4" (identifier "ppuVar4") (= "=") (identifier "local_1c4")) (; ";")) (if_statement "if ((local_90 & 5) != 0) {\n      piVar7 = __errno_location();\n      pcVar12 = strerror(*piVar7);\n      uVar11 = *(undefined4 *)(param_1 + 0x3288);\n      uVar13 = gettext(local_1c4 + -0x5645f);\n                    \n                    \n      FUN_0023b7b0(uVar13,uVar11,pcVar12);\n    }" (if "if") (parenthesized_expression "((local_90 & 5) != 0)" (( "(") (binary_expression "(local_90 & 5) != 0" (parenthesized_expression "(local_90 & 5)" (( "(") (binary_expression "local_90 & 5" (identifier "local_90") (& "&") (number_literal "5")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      piVar7 = __errno_location();\n      pcVar12 = strerror(*piVar7);\n      uVar11 = *(undefined4 *)(param_1 + 0x3288);\n      uVar13 = gettext(local_1c4 + -0x5645f);\n                    \n                    \n      FUN_0023b7b0(uVar13,uVar11,pcVar12);\n    }" ({ "{") (expression_statement "piVar7 = __errno_location();" (assignment_expression "piVar7 = __errno_location()" (identifier "piVar7") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pcVar12 = strerror(*piVar7);" (assignment_expression "pcVar12 = strerror(*piVar7)" (identifier "pcVar12") (= "=") (call_expression "strerror(*piVar7)" (identifier "strerror") (argument_list "(*piVar7)" (( "(") (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) () ")")))) (; ";")) (expression_statement "uVar11 = *(undefined4 *)(param_1 + 0x3288);" (assignment_expression "uVar11 = *(undefined4 *)(param_1 + 0x3288)" (identifier "uVar11") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x3288)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x3288)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3288)" (( "(") (binary_expression "param_1 + 0x3288" (identifier "param_1") (+ "+") (number_literal "0x3288")) () ")"))))) (; ";")) (expression_statement "uVar13 = gettext(local_1c4 + -0x5645f);" (assignment_expression "uVar13 = gettext(local_1c4 + -0x5645f)" (identifier "uVar13") (= "=") (call_expression "gettext(local_1c4 + -0x5645f)" (identifier "gettext") (argument_list "(local_1c4 + -0x5645f)" (( "(") (binary_expression "local_1c4 + -0x5645f" (identifier "local_1c4") (+ "+") (number_literal "-0x5645f")) () ")")))) (; ";")) (expression_statement "FUN_0023b7b0(uVar13,uVar11,pcVar12);" (call_expression "FUN_0023b7b0(uVar13,uVar11,pcVar12)" (identifier "FUN_0023b7b0") (argument_list "(uVar13,uVar11,pcVar12)" (( "(") (identifier "uVar13") (, ",") (identifier "uVar11") (, ",") (identifier "pcVar12") () ")"))) (; ";")) (} "}"))) (expression_statement "local_1e0 = local_148;" (assignment_expression "local_1e0 = local_148" (identifier "local_1e0") (= "=") (identifier "local_148")) (; ";")) (expression_statement "local_148[0] = 0;" (assignment_expression "local_148[0] = 0" (subscript_expression "local_148[0]" (identifier "local_148") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_14c = 0;" (assignment_expression "local_14c = 0" (identifier "local_14c") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);" (assignment_expression "piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3])" (identifier "piVar7") (= "=") (pointer_expression "*(int **)((int)aiStack_b8 + (int)local_134[-3])" (* "*") (cast_expression "(int **)((int)aiStack_b8 + (int)local_134[-3])" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)aiStack_b8 + (int)local_134[-3])" (( "(") (binary_expression "(int)aiStack_b8 + (int)local_134[-3]" (cast_expression "(int)aiStack_b8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_b8")) (+ "+") (cast_expression "(int)local_134[-3]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_134[-3]" (identifier "local_134") ([ "[") (number_literal "-3") (] "]")))) () ")"))))) (; ";")) (expression_statement "local_150 = local_1e0;" (assignment_expression "local_150 = local_1e0" (identifier "local_150") (= "=") (identifier "local_1e0")) (; ";")) (if_statement "if (piVar7 == (int *)0x0) {\n                    \n                    \n      FUN_003f3900();\n    }" (if "if") (parenthesized_expression "(piVar7 == (int *)0x0)" (( "(") (binary_expression "piVar7 == (int *)0x0" (identifier "piVar7") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n                    \n      FUN_003f3900();\n    }" ({ "{") (expression_statement "FUN_003f3900();" (call_expression "FUN_003f3900()" (identifier "FUN_003f3900") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if ((char)piVar7[7] == '\0') {\n                    \n      FUN_003f3f90(piVar7);\n      iVar14 = 10;\n      if (*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4) {\n        cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);\n        iVar14 = (int)cVar5;\n      }\n    }\n    else {\n      iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n    }" (if "if") (parenthesized_expression "((char)piVar7[7] == '\0')" (( "(") (binary_expression "(char)piVar7[7] == '\0'" (cast_expression "(char)piVar7[7]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar7[7]" (identifier "piVar7") ([ "[") (number_literal "7") (] "]"))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    \n      FUN_003f3f90(piVar7);\n      iVar14 = 10;\n      if (*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4) {\n        cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);\n        iVar14 = (int)cVar5;\n      }\n    }" ({ "{") (expression_statement "FUN_003f3f90(piVar7);" (call_expression "FUN_003f3f90(piVar7)" (identifier "FUN_003f3f90") (argument_list "(piVar7)" (( "(") (identifier "piVar7") () ")"))) (; ";")) (expression_statement "iVar14 = 10;" (assignment_expression "iVar14 = 10" (identifier "iVar14") (= "=") (number_literal "10")) (; ";")) (if_statement "if (*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4) {\n        cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);\n        iVar14 = (int)cVar5;\n      }" (if "if") (parenthesized_expression "(*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4)" (( "(") (binary_expression "*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4" (pointer_expression "*(undefined ***)(*piVar7 + 0x18)" (* "*") (cast_expression "(undefined ***)(*piVar7 + 0x18)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*piVar7 + 0x18)" (( "(") (binary_expression "*piVar7 + 0x18" (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (+ "+") (number_literal "0x18")) () ")")))) (!= "!=") (binary_expression "ppuVar4 + -0xdabd4" (identifier "ppuVar4") (+ "+") (number_literal "-0xdabd4"))) () ")")) (compound_statement "{\n        cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);\n        iVar14 = (int)cVar5;\n      }" ({ "{") (expression_statement "cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);" (assignment_expression "cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10)" (identifier "cVar5") (= "=") (call_expression "(*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10)" (parenthesized_expression "(*(code *)*(undefined ***)(*piVar7 + 0x18))" (( "(") (pointer_expression "*(code *)*(undefined ***)(*piVar7 + 0x18)" (* "*") (cast_expression "(code *)*(undefined ***)(*piVar7 + 0x18)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*(undefined ***)(*piVar7 + 0x18)" (* "*") (cast_expression "(undefined ***)(*piVar7 + 0x18)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*piVar7 + 0x18)" (( "(") (binary_expression "*piVar7 + 0x18" (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (+ "+") (number_literal "0x18")) () ")")))))) () ")")) (argument_list "(piVar7,10)" (( "(") (identifier "piVar7") (, ",") (number_literal "10") () ")")))) (; ";")) (expression_statement "iVar14 = (int)cVar5;" (assignment_expression "iVar14 = (int)cVar5" (identifier "iVar14") (= "=") (cast_expression "(int)cVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "cVar5"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n    }" (else "else") (compound_statement "{\n      iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n    }" ({ "{") (expression_statement "iVar14 = (int)*(char *)((int)piVar7 + 0x27);" (assignment_expression "iVar14 = (int)*(char *)((int)piVar7 + 0x27)" (identifier "iVar14") (= "=") (cast_expression "(int)*(char *)((int)piVar7 + 0x27)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(char *)((int)piVar7 + 0x27)" (* "*") (cast_expression "(char *)((int)piVar7 + 0x27)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar7 + 0x27)" (( "(") (binary_expression "(int)piVar7 + 0x27" (cast_expression "(int)piVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar7")) (+ "+") (number_literal "0x27")) () ")")))))) (; ";")) (} "}")))) (expression_statement "local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);" (assignment_expression "local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150)" (identifier "local_1cc") (= "=") (cast_expression "(double)CONCAT44(local_1cc._4_4_,&local_150)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "CONCAT44(local_1cc._4_4_,&local_150)" (identifier "CONCAT44") (argument_list "(local_1cc._4_4_,&local_150)" (( "(") (field_expression "local_1cc._4_4_" (identifier "local_1cc") (. ".") (field_identifier "_4_4_")) (, ",") (pointer_expression "&local_150" (& "&") (identifier "local_150")) () ")"))))) (; ";")) (expression_statement "FUN_003aef80(local_1d0,&local_150,iVar14);" (call_expression "FUN_003aef80(local_1d0,&local_150,iVar14)" (identifier "FUN_003aef80") (argument_list "(local_1d0,&local_150,iVar14)" (( "(") (identifier "local_1d0") (, ",") (pointer_expression "&local_150" (& "&") (identifier "local_150")) (, ",") (identifier "iVar14") () ")"))) (; ";")) (expression_statement "local_1d4 = (undefined1 **)(param_1 + 0x5a3c);" (assignment_expression "local_1d4 = (undefined1 **)(param_1 + 0x5a3c)" (identifier "local_1d4") (= "=") (cast_expression "(undefined1 **)(param_1 + 0x5a3c)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x5a3c)" (( "(") (binary_expression "param_1 + 0x5a3c" (identifier "param_1") (+ "+") (number_literal "0x5a3c")) () ")")))) (; ";")) (expression_statement "local_1e4 = local_1c0;" (assignment_expression "local_1e4 = local_1c0" (identifier "local_1e4") (= "=") (identifier "local_1c0")) (; ";")) (while_statement "while ((local_90 & 5) == 0) {\n      if ((local_14c != 0) && (local_150[local_14c + -1] == '\r')) {\n        *(undefined4 *)(puVar17 + -8) = 0;\n        *(int *)(puVar17 + -0xc) = local_14c + -1;\n        *(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2c0187;\n        FUN_003b6a50();\n      }\n      *(undefined4 *)(puVar17 + -8) = 0xc70f6907;\n      *(int *)(puVar17 + -0xc) = local_14c;\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc8a;\n      uVar6 = FUN_003ac580();\n      local_1d8 = uVar6 % *(uint *)(param_1 + 0x5a40);\n      *(uint *)(puVar17 + -0x14) = uVar6;\n      *(undefined4 *)(puVar17 + -0x18) = local_1cc._0_4_;\n      *(uint *)(puVar17 + -0x1c) = local_1d8;\n      *(undefined1 ***)(puVar17 + -0x20) = local_1d4;\n      *(undefined4 *)(puVar17 + -0x24) = 0x2bfcb0;\n      piVar7 = (int *)FUN_0022ed10();\n      if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n        *(undefined4 *)(puVar17 + -0x10) = 0x20;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;\n        puVar8 = (undefined4 *)FUN_003ac4d0();\n        *puVar8 = 0;\n        puVar8[1] = puVar8 + 3;\n        *(undefined4 *)(puVar17 + -4) = 0;\n        *(undefined1 **)(puVar17 + -8) = local_150 + local_14c;\n        *(undefined1 **)(puVar17 + -0xc) = local_150;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;\n        FUN_0014fca0();\n        *(undefined4 *)(puVar17 + -0xc) = 1;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8;\n        *(uint *)(puVar17 + -0x14) = uVar6;\n        *(uint *)(puVar17 + -0x18) = local_1d8;\n        *(undefined1 ***)(puVar17 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar17 + -0x20) = local_1e4;\n                    \n        *(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;\n        FUN_002c4660();\n        puVar17 = puVar17 + -4;\n      }\n      ppuVar4 = local_1c4;\n      piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n      if (piVar7 == (int *)0x0) {\n                    \n                    \n        *(undefined4 *)(puVar17 + -4) = 0x2c0bff;\n        FUN_003f3900();\n      }\n      if ((char)piVar7[7] == '\0') {\n        *(int **)(puVar17 + -0x10) = piVar7;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;\n        FUN_003f3f90();\n        ppuVar2 = *(undefined ***)(*piVar7 + 0x18);\n        iVar14 = 10;\n        if (ppuVar2 != ppuVar4 + -0xdabd4) {\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }\n      }\n      else {\n        iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n      }\n      *(int *)(puVar17 + -8) = iVar14;\n      *(undefined4 *)(puVar17 + -0xc) = local_1cc._0_4_;\n      *(undefined ****)(puVar17 + -0x10) = local_1d0;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc47;\n      FUN_003aef80();\n    }" (while "while") (parenthesized_expression "((local_90 & 5) == 0)" (( "(") (binary_expression "(local_90 & 5) == 0" (parenthesized_expression "(local_90 & 5)" (( "(") (binary_expression "local_90 & 5" (identifier "local_90") (& "&") (number_literal "5")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if ((local_14c != 0) && (local_150[local_14c + -1] == '\r')) {\n        *(undefined4 *)(puVar17 + -8) = 0;\n        *(int *)(puVar17 + -0xc) = local_14c + -1;\n        *(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2c0187;\n        FUN_003b6a50();\n      }\n      *(undefined4 *)(puVar17 + -8) = 0xc70f6907;\n      *(int *)(puVar17 + -0xc) = local_14c;\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc8a;\n      uVar6 = FUN_003ac580();\n      local_1d8 = uVar6 % *(uint *)(param_1 + 0x5a40);\n      *(uint *)(puVar17 + -0x14) = uVar6;\n      *(undefined4 *)(puVar17 + -0x18) = local_1cc._0_4_;\n      *(uint *)(puVar17 + -0x1c) = local_1d8;\n      *(undefined1 ***)(puVar17 + -0x20) = local_1d4;\n      *(undefined4 *)(puVar17 + -0x24) = 0x2bfcb0;\n      piVar7 = (int *)FUN_0022ed10();\n      if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n        *(undefined4 *)(puVar17 + -0x10) = 0x20;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;\n        puVar8 = (undefined4 *)FUN_003ac4d0();\n        *puVar8 = 0;\n        puVar8[1] = puVar8 + 3;\n        *(undefined4 *)(puVar17 + -4) = 0;\n        *(undefined1 **)(puVar17 + -8) = local_150 + local_14c;\n        *(undefined1 **)(puVar17 + -0xc) = local_150;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;\n        FUN_0014fca0();\n        *(undefined4 *)(puVar17 + -0xc) = 1;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8;\n        *(uint *)(puVar17 + -0x14) = uVar6;\n        *(uint *)(puVar17 + -0x18) = local_1d8;\n        *(undefined1 ***)(puVar17 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar17 + -0x20) = local_1e4;\n                    \n        *(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;\n        FUN_002c4660();\n        puVar17 = puVar17 + -4;\n      }\n      ppuVar4 = local_1c4;\n      piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);\n      if (piVar7 == (int *)0x0) {\n                    \n                    \n        *(undefined4 *)(puVar17 + -4) = 0x2c0bff;\n        FUN_003f3900();\n      }\n      if ((char)piVar7[7] == '\0') {\n        *(int **)(puVar17 + -0x10) = piVar7;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;\n        FUN_003f3f90();\n        ppuVar2 = *(undefined ***)(*piVar7 + 0x18);\n        iVar14 = 10;\n        if (ppuVar2 != ppuVar4 + -0xdabd4) {\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }\n      }\n      else {\n        iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n      }\n      *(int *)(puVar17 + -8) = iVar14;\n      *(undefined4 *)(puVar17 + -0xc) = local_1cc._0_4_;\n      *(undefined ****)(puVar17 + -0x10) = local_1d0;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc47;\n      FUN_003aef80();\n    }" ({ "{") (if_statement "if ((local_14c != 0) && (local_150[local_14c + -1] == '\r')) {\n        *(undefined4 *)(puVar17 + -8) = 0;\n        *(int *)(puVar17 + -0xc) = local_14c + -1;\n        *(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2c0187;\n        FUN_003b6a50();\n      }" (if "if") (parenthesized_expression "((local_14c != 0) && (local_150[local_14c + -1] == '\r'))" (( "(") (binary_expression "(local_14c != 0) && (local_150[local_14c + -1] == '\r')" (parenthesized_expression "(local_14c != 0)" (( "(") (binary_expression "local_14c != 0" (identifier "local_14c") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_150[local_14c + -1] == '\r')" (( "(") (binary_expression "local_150[local_14c + -1] == '\r'" (subscript_expression "local_150[local_14c + -1]" (identifier "local_150") ([ "[") (binary_expression "local_14c + -1" (identifier "local_14c") (+ "+") (number_literal "-1")) (] "]")) (== "==") (char_literal "'\r'" (' "'") (escape_sequence "\r") (' "'"))) () ")"))) () ")")) (compound_statement "{\n        *(undefined4 *)(puVar17 + -8) = 0;\n        *(int *)(puVar17 + -0xc) = local_14c + -1;\n        *(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2c0187;\n        FUN_003b6a50();\n      }" ({ "{") (expression_statement "*(undefined4 *)(puVar17 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(puVar17 + -0xc) = local_14c + -1;" (assignment_expression "*(int *)(puVar17 + -0xc) = local_14c + -1" (pointer_expression "*(int *)(puVar17 + -0xc)" (* "*") (cast_expression "(int *)(puVar17 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "local_14c + -1" (identifier "local_14c") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (field_expression "local_1cc._0_4_" (identifier "local_1cc") (. ".") (field_identifier "_0_4_"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2c0187;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2c0187" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0187")) (; ";")) (expression_statement "FUN_003b6a50();" (call_expression "FUN_003b6a50()" (identifier "FUN_003b6a50") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar17 + -8) = 0xc70f6907;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 0xc70f6907" (pointer_expression "*(undefined4 *)(puVar17 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0xc70f6907")) (; ";")) (expression_statement "*(int *)(puVar17 + -0xc) = local_14c;" (assignment_expression "*(int *)(puVar17 + -0xc) = local_14c" (pointer_expression "*(int *)(puVar17 + -0xc)" (* "*") (cast_expression "(int *)(puVar17 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_14c")) (; ";")) (expression_statement "*(undefined1 **)(puVar17 + -0x10) = local_150;" (assignment_expression "*(undefined1 **)(puVar17 + -0x10) = local_150" (pointer_expression "*(undefined1 **)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined1 **)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_150")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfc8a;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfc8a" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2bfc8a")) (; ";")) (expression_statement "uVar6 = FUN_003ac580();" (assignment_expression "uVar6 = FUN_003ac580()" (identifier "uVar6") (= "=") (call_expression "FUN_003ac580()" (identifier "FUN_003ac580") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_1d8 = uVar6 % *(uint *)(param_1 + 0x5a40);" (assignment_expression "local_1d8 = uVar6 % *(uint *)(param_1 + 0x5a40)" (identifier "local_1d8") (= "=") (binary_expression "uVar6 % *(uint *)(param_1 + 0x5a40)" (identifier "uVar6") (% "%") (pointer_expression "*(uint *)(param_1 + 0x5a40)" (* "*") (cast_expression "(uint *)(param_1 + 0x5a40)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5a40)" (( "(") (binary_expression "param_1 + 0x5a40" (identifier "param_1") (+ "+") (number_literal "0x5a40")) () ")")))))) (; ";")) (expression_statement "*(uint *)(puVar17 + -0x14) = uVar6;" (assignment_expression "*(uint *)(puVar17 + -0x14) = uVar6" (pointer_expression "*(uint *)(puVar17 + -0x14)" (* "*") (cast_expression "(uint *)(puVar17 + -0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = local_1cc._0_4_;" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = local_1cc._0_4_" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x18)" (( "(") (binary_expression "puVar17 + -0x18" (identifier "puVar17") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (field_expression "local_1cc._0_4_" (identifier "local_1cc") (. ".") (field_identifier "_0_4_"))) (; ";")) (expression_statement "*(uint *)(puVar17 + -0x1c) = local_1d8;" (assignment_expression "*(uint *)(puVar17 + -0x1c) = local_1d8" (pointer_expression "*(uint *)(puVar17 + -0x1c)" (* "*") (cast_expression "(uint *)(puVar17 + -0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x1c)" (( "(") (binary_expression "puVar17 + -0x1c" (identifier "puVar17") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "local_1d8")) (; ";")) (expression_statement "*(undefined1 ***)(puVar17 + -0x20) = local_1d4;" (assignment_expression "*(undefined1 ***)(puVar17 + -0x20) = local_1d4" (pointer_expression "*(undefined1 ***)(puVar17 + -0x20)" (* "*") (cast_expression "(undefined1 ***)(puVar17 + -0x20)" (( "(") (type_descriptor "undefined1 ***" (type_identifier "undefined1") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0x20)" (( "(") (binary_expression "puVar17 + -0x20" (identifier "puVar17") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "local_1d4")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x24) = 0x2bfcb0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x2bfcb0" (pointer_expression "*(undefined4 *)(puVar17 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x24)" (( "(") (binary_expression "puVar17 + -0x24" (identifier "puVar17") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x2bfcb0")) (; ";")) (expression_statement "piVar7 = (int *)FUN_0022ed10();" (assignment_expression "piVar7 = (int *)FUN_0022ed10()" (identifier "piVar7") (= "=") (cast_expression "(int *)FUN_0022ed10()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0022ed10()" (identifier "FUN_0022ed10") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {\n        *(undefined4 *)(puVar17 + -0x10) = 0x20;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;\n        puVar8 = (undefined4 *)FUN_003ac4d0();\n        *puVar8 = 0;\n        puVar8[1] = puVar8 + 3;\n        *(undefined4 *)(puVar17 + -4) = 0;\n        *(undefined1 **)(puVar17 + -8) = local_150 + local_14c;\n        *(undefined1 **)(puVar17 + -0xc) = local_150;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;\n        FUN_0014fca0();\n        *(undefined4 *)(puVar17 + -0xc) = 1;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8;\n        *(uint *)(puVar17 + -0x14) = uVar6;\n        *(uint *)(puVar17 + -0x18) = local_1d8;\n        *(undefined1 ***)(puVar17 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar17 + -0x20) = local_1e4;\n                    \n        *(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;\n        FUN_002c4660();\n        puVar17 = puVar17 + -4;\n      }" (if "if") (parenthesized_expression "((piVar7 == (int *)0x0) || (*piVar7 == 0))" (( "(") (binary_expression "(piVar7 == (int *)0x0) || (*piVar7 == 0)" (parenthesized_expression "(piVar7 == (int *)0x0)" (( "(") (binary_expression "piVar7 == (int *)0x0" (identifier "piVar7") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(*piVar7 == 0)" (( "(") (binary_expression "*piVar7 == 0" (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        *(undefined4 *)(puVar17 + -0x10) = 0x20;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;\n        puVar8 = (undefined4 *)FUN_003ac4d0();\n        *puVar8 = 0;\n        puVar8[1] = puVar8 + 3;\n        *(undefined4 *)(puVar17 + -4) = 0;\n        *(undefined1 **)(puVar17 + -8) = local_150 + local_14c;\n        *(undefined1 **)(puVar17 + -0xc) = local_150;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;\n        FUN_0014fca0();\n        *(undefined4 *)(puVar17 + -0xc) = 1;\n        *(undefined4 **)(puVar17 + -0x10) = puVar8;\n        *(uint *)(puVar17 + -0x14) = uVar6;\n        *(uint *)(puVar17 + -0x18) = local_1d8;\n        *(undefined1 ***)(puVar17 + -0x1c) = local_1d4;\n        *(undefined1 **)(puVar17 + -0x20) = local_1e4;\n                    \n        *(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;\n        FUN_002c4660();\n        puVar17 = puVar17 + -4;\n      }" ({ "{") (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0x20;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0x20" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0x20")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2bfdd0")) (; ";")) (expression_statement "puVar8 = (undefined4 *)FUN_003ac4d0();" (assignment_expression "puVar8 = (undefined4 *)FUN_003ac4d0()" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)FUN_003ac4d0()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_003ac4d0()" (identifier "FUN_003ac4d0") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*puVar8 = 0;" (assignment_expression "*puVar8 = 0" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar8[1] = puVar8 + 3;" (assignment_expression "puVar8[1] = puVar8 + 3" (subscript_expression "puVar8[1]" (identifier "puVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "puVar8 + 3" (identifier "puVar8") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 **)(puVar17 + -8) = local_150 + local_14c;" (assignment_expression "*(undefined1 **)(puVar17 + -8) = local_150 + local_14c" (pointer_expression "*(undefined1 **)(puVar17 + -8)" (* "*") (cast_expression "(undefined1 **)(puVar17 + -8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_150 + local_14c" (identifier "local_150") (+ "+") (identifier "local_14c"))) (; ";")) (expression_statement "*(undefined1 **)(puVar17 + -0xc) = local_150;" (assignment_expression "*(undefined1 **)(puVar17 + -0xc) = local_150" (pointer_expression "*(undefined1 **)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined1 **)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_150")) (; ";")) (expression_statement "*(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;" (assignment_expression "*(undefined4 **)(puVar17 + -0x10) = puVar8 + 1" (pointer_expression "*(undefined4 **)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 **)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "puVar8 + 1" (identifier "puVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2bfdfc")) (; ";")) (expression_statement "FUN_0014fca0();" (call_expression "FUN_0014fca0()" (identifier "FUN_0014fca0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 **)(puVar17 + -0x10) = puVar8;" (assignment_expression "*(undefined4 **)(puVar17 + -0x10) = puVar8" (pointer_expression "*(undefined4 **)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 **)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar8")) (; ";")) (expression_statement "*(uint *)(puVar17 + -0x14) = uVar6;" (assignment_expression "*(uint *)(puVar17 + -0x14) = uVar6" (pointer_expression "*(uint *)(puVar17 + -0x14)" (* "*") (cast_expression "(uint *)(puVar17 + -0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "*(uint *)(puVar17 + -0x18) = local_1d8;" (assignment_expression "*(uint *)(puVar17 + -0x18) = local_1d8" (pointer_expression "*(uint *)(puVar17 + -0x18)" (* "*") (cast_expression "(uint *)(puVar17 + -0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x18)" (( "(") (binary_expression "puVar17 + -0x18" (identifier "puVar17") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "local_1d8")) (; ";")) (expression_statement "*(undefined1 ***)(puVar17 + -0x1c) = local_1d4;" (assignment_expression "*(undefined1 ***)(puVar17 + -0x1c) = local_1d4" (pointer_expression "*(undefined1 ***)(puVar17 + -0x1c)" (* "*") (cast_expression "(undefined1 ***)(puVar17 + -0x1c)" (( "(") (type_descriptor "undefined1 ***" (type_identifier "undefined1") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0x1c)" (( "(") (binary_expression "puVar17 + -0x1c" (identifier "puVar17") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "local_1d4")) (; ";")) (expression_statement "*(undefined1 **)(puVar17 + -0x20) = local_1e4;" (assignment_expression "*(undefined1 **)(puVar17 + -0x20) = local_1e4" (pointer_expression "*(undefined1 **)(puVar17 + -0x20)" (* "*") (cast_expression "(undefined1 **)(puVar17 + -0x20)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x20)" (( "(") (binary_expression "puVar17 + -0x20" (identifier "puVar17") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "local_1e4")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x2bfe19" (pointer_expression "*(undefined4 *)(puVar17 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x24)" (( "(") (binary_expression "puVar17 + -0x24" (identifier "puVar17") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x2bfe19")) (; ";")) (expression_statement "FUN_002c4660();" (call_expression "FUN_002c4660()" (identifier "FUN_002c4660") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar17 = puVar17 + -4;" (assignment_expression "puVar17 = puVar17 + -4" (identifier "puVar17") (= "=") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4"))) (; ";")) (} "}"))) (expression_statement "ppuVar4 = local_1c4;" (assignment_expression "ppuVar4 = local_1c4" (identifier "ppuVar4") (= "=") (identifier "local_1c4")) (; ";")) (expression_statement "piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);" (assignment_expression "piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3])" (identifier "piVar7") (= "=") (pointer_expression "*(int **)((int)aiStack_b8 + (int)local_134[-3])" (* "*") (cast_expression "(int **)((int)aiStack_b8 + (int)local_134[-3])" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)aiStack_b8 + (int)local_134[-3])" (( "(") (binary_expression "(int)aiStack_b8 + (int)local_134[-3]" (cast_expression "(int)aiStack_b8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_b8")) (+ "+") (cast_expression "(int)local_134[-3]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_134[-3]" (identifier "local_134") ([ "[") (number_literal "-3") (] "]")))) () ")"))))) (; ";")) (if_statement "if (piVar7 == (int *)0x0) {\n                    \n                    \n        *(undefined4 *)(puVar17 + -4) = 0x2c0bff;\n        FUN_003f3900();\n      }" (if "if") (parenthesized_expression "(piVar7 == (int *)0x0)" (( "(") (binary_expression "piVar7 == (int *)0x0" (identifier "piVar7") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n                    \n        *(undefined4 *)(puVar17 + -4) = 0x2c0bff;\n        FUN_003f3900();\n      }" ({ "{") (expression_statement "*(undefined4 *)(puVar17 + -4) = 0x2c0bff;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = 0x2c0bff" (pointer_expression "*(undefined4 *)(puVar17 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x2c0bff")) (; ";")) (expression_statement "FUN_003f3900();" (call_expression "FUN_003f3900()" (identifier "FUN_003f3900") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if ((char)piVar7[7] == '\0') {\n        *(int **)(puVar17 + -0x10) = piVar7;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;\n        FUN_003f3f90();\n        ppuVar2 = *(undefined ***)(*piVar7 + 0x18);\n        iVar14 = 10;\n        if (ppuVar2 != ppuVar4 + -0xdabd4) {\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }\n      }\n      else {\n        iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n      }" (if "if") (parenthesized_expression "((char)piVar7[7] == '\0')" (( "(") (binary_expression "(char)piVar7[7] == '\0'" (cast_expression "(char)piVar7[7]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar7[7]" (identifier "piVar7") ([ "[") (number_literal "7") (] "]"))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        *(int **)(puVar17 + -0x10) = piVar7;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;\n        FUN_003f3f90();\n        ppuVar2 = *(undefined ***)(*piVar7 + 0x18);\n        iVar14 = 10;\n        if (ppuVar2 != ppuVar4 + -0xdabd4) {\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }\n      }" ({ "{") (expression_statement "*(int **)(puVar17 + -0x10) = piVar7;" (assignment_expression "*(int **)(puVar17 + -0x10) = piVar7" (pointer_expression "*(int **)(puVar17 + -0x10)" (* "*") (cast_expression "(int **)(puVar17 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar7")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2bfcf8")) (; ";")) (expression_statement "FUN_003f3f90();" (call_expression "FUN_003f3f90()" (identifier "FUN_003f3f90") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppuVar2 = *(undefined ***)(*piVar7 + 0x18);" (assignment_expression "ppuVar2 = *(undefined ***)(*piVar7 + 0x18)" (identifier "ppuVar2") (= "=") (pointer_expression "*(undefined ***)(*piVar7 + 0x18)" (* "*") (cast_expression "(undefined ***)(*piVar7 + 0x18)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*piVar7 + 0x18)" (( "(") (binary_expression "*piVar7 + 0x18" (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "iVar14 = 10;" (assignment_expression "iVar14 = 10" (identifier "iVar14") (= "=") (number_literal "10")) (; ";")) (if_statement "if (ppuVar2 != ppuVar4 + -0xdabd4) {\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }" (if "if") (parenthesized_expression "(ppuVar2 != ppuVar4 + -0xdabd4)" (( "(") (binary_expression "ppuVar2 != ppuVar4 + -0xdabd4" (identifier "ppuVar2") (!= "!=") (binary_expression "ppuVar4 + -0xdabd4" (identifier "ppuVar4") (+ "+") (number_literal "-0xdabd4"))) () ")")) (compound_statement "{\n          *(undefined4 *)(puVar17 + -0xc) = 10;\n          *(int **)(puVar17 + -0x10) = piVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;\n          cVar5 = (*(code *)ppuVar2)();\n          iVar14 = (int)cVar5;\n        }" ({ "{") (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 10;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 10" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "10")) (; ";")) (expression_statement "*(int **)(puVar17 + -0x10) = piVar7;" (assignment_expression "*(int **)(puVar17 + -0x10) = piVar7" (pointer_expression "*(int **)(puVar17 + -0x10)" (* "*") (cast_expression "(int **)(puVar17 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar7")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2bfd1b")) (; ";")) (expression_statement "cVar5 = (*(code *)ppuVar2)();" (assignment_expression "cVar5 = (*(code *)ppuVar2)()" (identifier "cVar5") (= "=") (call_expression "(*(code *)ppuVar2)()" (parenthesized_expression "(*(code *)ppuVar2)" (( "(") (pointer_expression "*(code *)ppuVar2" (* "*") (cast_expression "(code *)ppuVar2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar2"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar14 = (int)cVar5;" (assignment_expression "iVar14 = (int)cVar5" (identifier "iVar14") (= "=") (cast_expression "(int)cVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "cVar5"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n      }" (else "else") (compound_statement "{\n        iVar14 = (int)*(char *)((int)piVar7 + 0x27);\n      }" ({ "{") (expression_statement "iVar14 = (int)*(char *)((int)piVar7 + 0x27);" (assignment_expression "iVar14 = (int)*(char *)((int)piVar7 + 0x27)" (identifier "iVar14") (= "=") (cast_expression "(int)*(char *)((int)piVar7 + 0x27)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(char *)((int)piVar7 + 0x27)" (* "*") (cast_expression "(char *)((int)piVar7 + 0x27)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar7 + 0x27)" (( "(") (binary_expression "(int)piVar7 + 0x27" (cast_expression "(int)piVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar7")) (+ "+") (number_literal "0x27")) () ")")))))) (; ";")) (} "}")))) (expression_statement "*(int *)(puVar17 + -8) = iVar14;" (assignment_expression "*(int *)(puVar17 + -8) = iVar14" (pointer_expression "*(int *)(puVar17 + -8)" (* "*") (cast_expression "(int *)(puVar17 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar14")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = local_1cc._0_4_;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = local_1cc._0_4_" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (field_expression "local_1cc._0_4_" (identifier "local_1cc") (. ".") (field_identifier "_0_4_"))) (; ";")) (expression_statement "*(undefined ****)(puVar17 + -0x10) = local_1d0;" (assignment_expression "*(undefined ****)(puVar17 + -0x10) = local_1d0" (pointer_expression "*(undefined ****)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined ****)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_1d0")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfc47;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfc47" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2bfc47")) (; ";")) (expression_statement "FUN_003aef80();" (call_expression "FUN_003aef80()" (identifier "FUN_003aef80") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_150 != local_1e0) {\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfe3f;\n      FUN_003ae080();\n    }" (if "if") (parenthesized_expression "(local_150 != local_1e0)" (( "(") (binary_expression "local_150 != local_1e0" (identifier "local_150") (!= "!=") (identifier "local_1e0")) () ")")) (compound_statement "{\n      *(undefined1 **)(puVar17 + -0x10) = local_150;\n      *(undefined4 *)(puVar17 + -0x14) = 0x2bfe3f;\n      FUN_003ae080();\n    }" ({ "{") (expression_statement "*(undefined1 **)(puVar17 + -0x10) = local_150;" (assignment_expression "*(undefined1 **)(puVar17 + -0x10) = local_150" (pointer_expression "*(undefined1 **)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined1 **)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_150")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfe3f;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfe3f" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2bfe3f")) (; ";")) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" (identifier "FUN_003ae080") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "ppuVar4 = local_1c4;" (assignment_expression "ppuVar4 = local_1c4" (identifier "ppuVar4") (= "=") (identifier "local_1c4")) (; ";")) (expression_statement "*(undefined ****)(puVar17 + -0x10) = local_1dc;" (assignment_expression "*(undefined ****)(puVar17 + -0x10) = local_1dc" (pointer_expression "*(undefined ****)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined ****)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_1dc")) (; ";")) (expression_statement "local_134 = (undefined ***)(local_200 + 3);" (assignment_expression "local_134 = (undefined ***)(local_200 + 3)" (identifier "local_134") (= "=") (cast_expression "(undefined ***)(local_200 + 3)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(local_200 + 3)" (( "(") (binary_expression "local_200 + 3" (identifier "local_200") (+ "+") (number_literal "3")) () ")")))) (; ";")) (expression_statement "local_a4[0] = local_200 + 8;" (assignment_expression "local_a4[0] = local_200 + 8" (subscript_expression "local_a4[0]" (identifier "local_a4") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "local_200 + 8" (identifier "local_200") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "local_12c[0] = local_1c4 + -0x9ec;" (assignment_expression "local_12c[0] = local_1c4 + -0x9ec" (subscript_expression "local_12c[0]" (identifier "local_12c") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "local_1c4 + -0x9ec" (identifier "local_1c4") (+ "+") (number_literal "-0x9ec"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfe7f;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfe7f" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2bfe7f")) (; ";")) (expression_statement "FUN_003de160();" (call_expression "FUN_003de160()" (identifier "FUN_003de160") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined1 **)(puVar17 + -0x10) = local_f4;" (assignment_expression "*(undefined1 **)(puVar17 + -0x10) = local_f4" (pointer_expression "*(undefined1 **)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined1 **)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_f4")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfe8d;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfe8d" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2bfe8d")) (; ";")) (expression_statement "FUN_003ae8c0();" (call_expression "FUN_003ae8c0()" (identifier "FUN_003ae8c0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_12c[0] = ppuVar4 + -0xbd1;" (assignment_expression "local_12c[0] = ppuVar4 + -0xbd1" (subscript_expression "local_12c[0]" (identifier "local_12c") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "ppuVar4 + -0xbd1" (identifier "ppuVar4") (+ "+") (number_literal "-0xbd1"))) (; ";")) (expression_statement "*(undefined1 **)(puVar17 + -0x10) = local_110;" (assignment_expression "*(undefined1 **)(puVar17 + -0x10) = local_110" (pointer_expression "*(undefined1 **)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined1 **)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_110")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfeaa;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfeaa" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2bfeaa")) (; ";")) (expression_statement "FUN_003b07e0();" (call_expression "FUN_003b07e0()" (identifier "FUN_003b07e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_134 = local_1f4;" (assignment_expression "local_134 = local_1f4" (identifier "local_134") (= "=") (identifier "local_1f4")) (; ";")) (expression_statement "*(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;" (assignment_expression "*(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8" (pointer_expression "*(undefined **)((int)&local_134 + (int)local_1f4[-3])" (* "*") (cast_expression "(undefined **)((int)&local_134 + (int)local_1f4[-3])" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)&local_134 + (int)local_1f4[-3])" (( "(") (binary_expression "(int)&local_134 + (int)local_1f4[-3]" (cast_expression "(int)&local_134" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&local_134" (& "&") (identifier "local_134"))) (+ "+") (cast_expression "(int)local_1f4[-3]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_1f4[-3]" (identifier "local_1f4") ([ "[") (number_literal "-3") (] "]")))) () ")")))) (= "=") (identifier "local_1f8")) (; ";")) (expression_statement "local_130 = 0;" (assignment_expression "local_130 = 0" (identifier "local_130") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_a4[0] = local_1fc + 2;" (assignment_expression "local_a4[0] = local_1fc + 2" (subscript_expression "local_a4[0]" (identifier "local_a4") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "local_1fc + 2" (identifier "local_1fc") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*(undefined ****)(puVar17 + -0x10) = local_1e8;" (assignment_expression "*(undefined ****)(puVar17 + -0x10) = local_1e8" (pointer_expression "*(undefined ****)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined ****)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_1e8")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2bfeeb;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2bfeeb" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2bfeeb")) (; ";")) (expression_statement "FUN_003f3310();" (call_expression "FUN_003f3310()" (identifier "FUN_003f3310") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar18 = puVar17;" (assignment_expression "puVar18 = puVar17" (identifier "puVar18") (= "=") (identifier "puVar17")) (; ";")) (} "}"))) (if_statement "if ((*(char *)(param_1 + 0x72d) != '\0') && (*(char *)(param_1 + 0x42e0) == '\0')) {\n    *(int *)(param_1 + 0x42e4) = (int)local_1c4 + -0x1a1f9b;\n  }" (if "if") (parenthesized_expression "((*(char *)(param_1 + 0x72d) != '\0') && (*(char *)(param_1 + 0x42e0) == '\0'))" (( "(") (binary_expression "(*(char *)(param_1 + 0x72d) != '\0') && (*(char *)(param_1 + 0x42e0) == '\0')" (parenthesized_expression "(*(char *)(param_1 + 0x72d) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x72d) != '\0'" (pointer_expression "*(char *)(param_1 + 0x72d)" (* "*") (cast_expression "(char *)(param_1 + 0x72d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x72d)" (( "(") (binary_expression "param_1 + 0x72d" (identifier "param_1") (+ "+") (number_literal "0x72d")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(param_1 + 0x42e0) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x42e0) == '\0'" (pointer_expression "*(char *)(param_1 + 0x42e0)" (* "*") (cast_expression "(char *)(param_1 + 0x42e0)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x42e0)" (( "(") (binary_expression "param_1 + 0x42e0" (identifier "param_1") (+ "+") (number_literal "0x42e0")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n    *(int *)(param_1 + 0x42e4) = (int)local_1c4 + -0x1a1f9b;\n  }" ({ "{") (expression_statement "*(int *)(param_1 + 0x42e4) = (int)local_1c4 + -0x1a1f9b;" (assignment_expression "*(int *)(param_1 + 0x42e4) = (int)local_1c4 + -0x1a1f9b" (pointer_expression "*(int *)(param_1 + 0x42e4)" (* "*") (cast_expression "(int *)(param_1 + 0x42e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x42e4)" (( "(") (binary_expression "param_1 + 0x42e4" (identifier "param_1") (+ "+") (number_literal "0x42e4")) () ")")))) (= "=") (binary_expression "(int)local_1c4 + -0x1a1f9b" (cast_expression "(int)local_1c4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1c4")) (+ "+") (number_literal "-0x1a1f9b"))) (; ";")) (} "}"))) (if_statement "if ((*(char *)(param_1 + 0x1a25) != '\0') && (*(char *)(param_1 + 0x1fc) == '\0')) {\n    *(undefined1 *)(param_1 + 0x1fd) = 1;\n  }" (if "if") (parenthesized_expression "((*(char *)(param_1 + 0x1a25) != '\0') && (*(char *)(param_1 + 0x1fc) == '\0'))" (( "(") (binary_expression "(*(char *)(param_1 + 0x1a25) != '\0') && (*(char *)(param_1 + 0x1fc) == '\0')" (parenthesized_expression "(*(char *)(param_1 + 0x1a25) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x1a25) != '\0'" (pointer_expression "*(char *)(param_1 + 0x1a25)" (* "*") (cast_expression "(char *)(param_1 + 0x1a25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1a25)" (( "(") (binary_expression "param_1 + 0x1a25" (identifier "param_1") (+ "+") (number_literal "0x1a25")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(param_1 + 0x1fc) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x1fc) == '\0'" (pointer_expression "*(char *)(param_1 + 0x1fc)" (* "*") (cast_expression "(char *)(param_1 + 0x1fc)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n    *(undefined1 *)(param_1 + 0x1fd) = 1;\n  }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 0x1fd) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x1fd) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x1fd)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x1fd)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1fd)" (( "(") (binary_expression "param_1 + 0x1fd" (identifier "param_1") (+ "+") (number_literal "0x1fd")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "*(int *)(puVar18 + -0x10) = param_1;" (assignment_expression "*(int *)(puVar18 + -0x10) = param_1" (pointer_expression "*(int *)(puVar18 + -0x10)" (* "*") (cast_expression "(int *)(puVar18 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2bff3f;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2bff3f" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2bff3f")) (; ";")) (expression_statement "FUN_002b6130();" (call_expression "FUN_002b6130()" (identifier "FUN_002b6130") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (*(char *)(param_1 + 0x1a25) == '\0') {\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      if (*(char *)(param_1 + 0x5938) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n        *(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;\n        FUN_0023b7b0();\n      }\n      if (*(char *)(param_1 + 0x318d) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;\n        FUN_0023b7b0();\n      }\n    }\n    if (*(int *)(param_1 + 0x1478) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5642f;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0cdc;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ce4;\n      FUN_0023b7b0();\n    }\n    if (*(int *)(param_1 + 0x1428) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56424;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d10;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d18;\n      FUN_0023b7b0();\n    }\n    if ((*(char *)(param_1 + 0x318d) != '\0') && (*(int *)(param_1 + 0x3288) != 0)) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56418;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0163;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined **)(puVar18 + -0x14) = &UNK_002c016b;\n      FUN_0023b7b0();\n    }\n  }\n  else {\n    if (*(char *)(param_1 + 0x5938) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e32;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c87;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x318d) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6;\n      FUN_0023b7b0();\n    }\n  }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x1a25) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x1a25) == '\0'" (pointer_expression "*(char *)(param_1 + 0x1a25)" (* "*") (cast_expression "(char *)(param_1 + 0x1a25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1a25)" (( "(") (binary_expression "param_1 + 0x1a25" (identifier "param_1") (+ "+") (number_literal "0x1a25")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      if (*(char *)(param_1 + 0x5938) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n        *(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;\n        FUN_0023b7b0();\n      }\n      if (*(char *)(param_1 + 0x318d) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;\n        FUN_0023b7b0();\n      }\n    }\n    if (*(int *)(param_1 + 0x1478) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5642f;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0cdc;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ce4;\n      FUN_0023b7b0();\n    }\n    if (*(int *)(param_1 + 0x1428) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56424;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d10;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d18;\n      FUN_0023b7b0();\n    }\n    if ((*(char *)(param_1 + 0x318d) != '\0') && (*(int *)(param_1 + 0x3288) != 0)) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56418;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0163;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined **)(puVar18 + -0x14) = &UNK_002c016b;\n      FUN_0023b7b0();\n    }\n  }" ({ "{") (if_statement "if (*(char *)(param_1 + 0x2931) != '\0') {\n      if (*(char *)(param_1 + 0x5938) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n        *(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;\n        FUN_0023b7b0();\n      }\n      if (*(char *)(param_1 + 0x318d) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;\n        FUN_0023b7b0();\n      }\n    }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x2931) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x2931) != '\0'" (pointer_expression "*(char *)(param_1 + 0x2931)" (* "*") (cast_expression "(char *)(param_1 + 0x2931)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2931)" (( "(") (binary_expression "param_1 + 0x2931" (identifier "param_1") (+ "+") (number_literal "0x2931")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      if (*(char *)(param_1 + 0x5938) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n        *(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;\n        FUN_0023b7b0();\n      }\n      if (*(char *)(param_1 + 0x318d) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;\n        FUN_0023b7b0();\n      }\n    }" ({ "{") (if_statement "if (*(char *)(param_1 + 0x5938) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n        *(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;\n        FUN_0023b7b0();\n      }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x5938) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x5938) != '\0'" (pointer_expression "*(char *)(param_1 + 0x5938)" (* "*") (cast_expression "(char *)(param_1 + 0x5938)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5938)" (( "(") (binary_expression "param_1 + 0x5938" (identifier "param_1") (+ "+") (number_literal "0x5938")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n        *(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;\n        FUN_0023b7b0();\n      }" ({ "{") (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_1c4 + -0x56440" (identifier "local_1c4") (+ "+") (number_literal "-0x56440"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0e5c")) (; ";")) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" (identifier "uVar11") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;" (assignment_expression "*(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64" (pointer_expression "*(undefined1 **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined1 **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&LAB_002c0e64" (& "&") (identifier "LAB_002c0e64"))) (; ";")) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" (identifier "FUN_0023b7b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(param_1 + 0x318d) != '\0') {\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;\n        FUN_0023b7b0();\n      }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x318d) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x318d) != '\0'" (pointer_expression "*(char *)(param_1 + 0x318d)" (* "*") (cast_expression "(char *)(param_1 + 0x318d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x318d)" (( "(") (binary_expression "param_1 + 0x318d" (identifier "param_1") (+ "+") (number_literal "0x318d")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;\n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;\n        uVar11 = gettext();\n        *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;\n        FUN_0023b7b0();\n      }" ({ "{") (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_1c4 + -0x56e83" (identifier "local_1c4") (+ "+") (number_literal "-0x56e83"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0cbd")) (; ";")) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" (identifier "uVar11") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0cc5")) (; ";")) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" (identifier "FUN_0023b7b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x1478) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5642f;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0cdc;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ce4;\n      FUN_0023b7b0();\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x1478) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x1478) != 0" (pointer_expression "*(int *)(param_1 + 0x1478)" (* "*") (cast_expression "(int *)(param_1 + 0x1478)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1478)" (( "(") (binary_expression "param_1 + 0x1478" (identifier "param_1") (+ "+") (number_literal "0x1478")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5642f;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0cdc;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ce4;\n      FUN_0023b7b0();\n    }" ({ "{") (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5642f;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5642f" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_1c4 + -0x5642f" (identifier "local_1c4") (+ "+") (number_literal "-0x5642f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0cdc;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0cdc" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0cdc")) (; ";")) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" (identifier "uVar11") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0ce4;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0ce4" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0ce4")) (; ";")) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" (identifier "FUN_0023b7b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x1428) != 0) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56424;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d10;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d18;\n      FUN_0023b7b0();\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x1428) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x1428) != 0" (pointer_expression "*(int *)(param_1 + 0x1428)" (* "*") (cast_expression "(int *)(param_1 + 0x1428)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1428)" (( "(") (binary_expression "param_1 + 0x1428" (identifier "param_1") (+ "+") (number_literal "0x1428")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56424;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d10;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d18;\n      FUN_0023b7b0();\n    }" ({ "{") (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56424;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56424" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_1c4 + -0x56424" (identifier "local_1c4") (+ "+") (number_literal "-0x56424"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d10;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d10" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0d10")) (; ";")) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" (identifier "uVar11") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d18;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d18" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0d18")) (; ";")) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" (identifier "FUN_0023b7b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if ((*(char *)(param_1 + 0x318d) != '\0') && (*(int *)(param_1 + 0x3288) != 0)) {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56418;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0163;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined **)(puVar18 + -0x14) = &UNK_002c016b;\n      FUN_0023b7b0();\n    }" (if "if") (parenthesized_expression "((*(char *)(param_1 + 0x318d) != '\0') && (*(int *)(param_1 + 0x3288) != 0))" (( "(") (binary_expression "(*(char *)(param_1 + 0x318d) != '\0') && (*(int *)(param_1 + 0x3288) != 0)" (parenthesized_expression "(*(char *)(param_1 + 0x318d) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x318d) != '\0'" (pointer_expression "*(char *)(param_1 + 0x318d)" (* "*") (cast_expression "(char *)(param_1 + 0x318d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x318d)" (( "(") (binary_expression "param_1 + 0x318d" (identifier "param_1") (+ "+") (number_literal "0x318d")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(param_1 + 0x3288) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x3288) != 0" (pointer_expression "*(int *)(param_1 + 0x3288)" (* "*") (cast_expression "(int *)(param_1 + 0x3288)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3288)" (( "(") (binary_expression "param_1 + 0x3288" (identifier "param_1") (+ "+") (number_literal "0x3288")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56418;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0163;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined **)(puVar18 + -0x14) = &UNK_002c016b;\n      FUN_0023b7b0();\n    }" ({ "{") (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56418;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56418" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_1c4 + -0x56418" (identifier "local_1c4") (+ "+") (number_literal "-0x56418"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0163;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0163" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0163")) (; ";")) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" (identifier "uVar11") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_002c016b;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_002c016b" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_002c016b" (& "&") (identifier "UNK_002c016b"))) (; ";")) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" (identifier "FUN_0023b7b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    if (*(char *)(param_1 + 0x5938) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e32;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c87;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x318d) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6;\n      FUN_0023b7b0();\n    }\n  }" (else "else") (compound_statement "{\n    if (*(char *)(param_1 + 0x5938) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e32;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x2931) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c87;\n      FUN_0023b7b0();\n    }\n    if (*(char *)(param_1 + 0x318d) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6;\n      FUN_0023b7b0();\n    }\n  }" ({ "{") (if_statement "if (*(char *)(param_1 + 0x5938) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e32;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a;\n      FUN_0023b7b0();\n    }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x5938) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x5938) != '\0'" (pointer_expression "*(char *)(param_1 + 0x5938)" (* "*") (cast_expression "(char *)(param_1 + 0x5938)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5938)" (( "(") (binary_expression "param_1 + 0x5938" (identifier "param_1") (+ "+") (number_literal "0x5938")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e32;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a;\n      FUN_0023b7b0();\n    }" ({ "{") (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_1c4 + -0x56453" (identifier "local_1c4") (+ "+") (number_literal "-0x56453"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0e32;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0e32" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0e32")) (; ";")) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" (identifier "uVar11") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0e3a")) (; ";")) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" (identifier "FUN_0023b7b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(param_1 + 0x2931) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c87;\n      FUN_0023b7b0();\n    }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x2931) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x2931) != '\0'" (pointer_expression "*(char *)(param_1 + 0x2931)" (* "*") (cast_expression "(char *)(param_1 + 0x2931)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2931)" (( "(") (binary_expression "param_1 + 0x2931" (identifier "param_1") (+ "+") (number_literal "0x2931")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c87;\n      FUN_0023b7b0();\n    }" ({ "{") (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_1c4 + -0x56449" (identifier "local_1c4") (+ "+") (number_literal "-0x56449"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0c7f")) (; ";")) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" (identifier "uVar11") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c87;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c87" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0c87")) (; ";")) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" (identifier "FUN_0023b7b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(param_1 + 0x318d) != '\0') {\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6;\n      FUN_0023b7b0();\n    }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x318d) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x318d) != '\0'" (pointer_expression "*(char *)(param_1 + 0x318d)" (* "*") (cast_expression "(char *)(param_1 + 0x318d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x318d)" (( "(") (binary_expression "param_1 + 0x318d" (identifier "param_1") (+ "+") (number_literal "0x318d")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437;\n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e;\n      uVar11 = gettext();\n      *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6;\n      FUN_0023b7b0();\n    }" ({ "{") (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_1c4 + -0x56437" (identifier "local_1c4") (+ "+") (number_literal "-0x56437"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0c9e")) (; ";")) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" (identifier "uVar11") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0ca6")) (; ";")) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" (identifier "FUN_0023b7b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(param_1 + 0x27ec);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(param_1 + 0x27ec)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x27ec)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x27ec)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x27ec)" (( "(") (binary_expression "param_1 + 0x27ec" (identifier "param_1") (+ "+") (number_literal "0x27ec")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2bff90;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2bff90" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2bff90")) (; ";")) (expression_statement "iVar14 = FUN_002b5ab0();" (assignment_expression "iVar14 = FUN_002b5ab0()" (identifier "iVar14") (= "=") (call_expression "FUN_002b5ab0()" (identifier "FUN_002b5ab0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((iVar14 != 0) &&\n     (((*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')) ||\n      (*(char *)(param_1 + 0x318d) != '\0')))) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5640c;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c60;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c68;\n    FUN_0023b7b0();\n  }" (if "if") (parenthesized_expression "((iVar14 != 0) &&\n     (((*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')) ||\n      (*(char *)(param_1 + 0x318d) != '\0'))))" (( "(") (binary_expression "(iVar14 != 0) &&\n     (((*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')) ||\n      (*(char *)(param_1 + 0x318d) != '\0')))" (parenthesized_expression "(iVar14 != 0)" (( "(") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(((*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')) ||\n      (*(char *)(param_1 + 0x318d) != '\0')))" (( "(") (parenthesized_expression "((*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')) ||\n      (*(char *)(param_1 + 0x318d) != '\0'))" (( "(") (binary_expression "(*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')) ||\n      (*(char *)(param_1 + 0x318d) != '\0')" (parenthesized_expression "(*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0'))" (( "(") (binary_expression "*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')" (binary_expression "*(char *)(param_1 + 0x1a25) != '\0'" (pointer_expression "*(char *)(param_1 + 0x1a25)" (* "*") (cast_expression "(char *)(param_1 + 0x1a25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1a25)" (( "(") (binary_expression "param_1 + 0x1a25" (identifier "param_1") (+ "+") (number_literal "0x1a25")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (|| "||") (parenthesized_expression "(*(char *)(param_1 + 0x2931) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x2931) != '\0'" (pointer_expression "*(char *)(param_1 + 0x2931)" (* "*") (cast_expression "(char *)(param_1 + 0x2931)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2931)" (( "(") (binary_expression "param_1 + 0x2931" (identifier "param_1") (+ "+") (number_literal "0x2931")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(*(char *)(param_1 + 0x318d) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x318d) != '\0'" (pointer_expression "*(char *)(param_1 + 0x318d)" (* "*") (cast_expression "(char *)(param_1 + 0x318d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x318d)" (( "(") (binary_expression "param_1 + 0x318d" (identifier "param_1") (+ "+") (number_literal "0x318d")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5640c;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c60;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c68;\n    FUN_0023b7b0();\n  }" ({ "{") (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5640c;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5640c" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_1c4 + -0x5640c" (identifier "local_1c4") (+ "+") (number_literal "-0x5640c"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c60;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c60" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0c60")) (; ";")) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" (identifier "uVar11") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c68;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c68" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0c68")) (; ";")) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" (identifier "FUN_0023b7b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if ((*(char *)(param_1 + 0x1ae4) != '\0') &&\n     ((dVar1 = *(double *)(param_1 + 0x1ae8), dVar1 < 0.0 || (1.0 <= dVar1)))) {\n    local_1cc = dVar1;\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563fc;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c1c;\n    uVar11 = gettext();\n    dVar1 = local_1cc;\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(double *)(puVar18 + -0xc) = dVar1;\n                    \n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c2e;\n    FUN_0023b7b0();\n  }" (if "if") (parenthesized_expression "((*(char *)(param_1 + 0x1ae4) != '\0') &&\n     ((dVar1 = *(double *)(param_1 + 0x1ae8), dVar1 < 0.0 || (1.0 <= dVar1))))" (( "(") (binary_expression "(*(char *)(param_1 + 0x1ae4) != '\0') &&\n     ((dVar1 = *(double *)(param_1 + 0x1ae8), dVar1 < 0.0 || (1.0 <= dVar1)))" (parenthesized_expression "(*(char *)(param_1 + 0x1ae4) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x1ae4) != '\0'" (pointer_expression "*(char *)(param_1 + 0x1ae4)" (* "*") (cast_expression "(char *)(param_1 + 0x1ae4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1ae4)" (( "(") (binary_expression "param_1 + 0x1ae4" (identifier "param_1") (+ "+") (number_literal "0x1ae4")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "((dVar1 = *(double *)(param_1 + 0x1ae8), dVar1 < 0.0 || (1.0 <= dVar1)))" (( "(") (parenthesized_expression "(dVar1 = *(double *)(param_1 + 0x1ae8), dVar1 < 0.0 || (1.0 <= dVar1))" (( "(") (comma_expression "dVar1 = *(double *)(param_1 + 0x1ae8), dVar1 < 0.0 || (1.0 <= dVar1)" (assignment_expression "dVar1 = *(double *)(param_1 + 0x1ae8)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(param_1 + 0x1ae8)" (* "*") (cast_expression "(double *)(param_1 + 0x1ae8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1ae8)" (( "(") (binary_expression "param_1 + 0x1ae8" (identifier "param_1") (+ "+") (number_literal "0x1ae8")) () ")"))))) (, ",") (binary_expression "dVar1 < 0.0 || (1.0 <= dVar1)" (binary_expression "dVar1 < 0.0" (identifier "dVar1") (< "<") (number_literal "0.0")) (|| "||") (parenthesized_expression "(1.0 <= dVar1)" (( "(") (binary_expression "1.0 <= dVar1" (number_literal "1.0") (<= "<=") (identifier "dVar1")) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n    local_1cc = dVar1;\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563fc;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c1c;\n    uVar11 = gettext();\n    dVar1 = local_1cc;\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(double *)(puVar18 + -0xc) = dVar1;\n                    \n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c2e;\n    FUN_0023b7b0();\n  }" ({ "{") (expression_statement "local_1cc = dVar1;" (assignment_expression "local_1cc = dVar1" (identifier "local_1cc") (= "=") (identifier "dVar1")) (; ";")) (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563fc;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563fc" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_1c4 + -0x563fc" (identifier "local_1c4") (+ "+") (number_literal "-0x563fc"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c1c;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c1c" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0c1c")) (; ";")) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" (identifier "uVar11") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "dVar1 = local_1cc;" (assignment_expression "dVar1 = local_1cc" (identifier "dVar1") (= "=") (identifier "local_1cc")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(double *)(puVar18 + -0xc) = dVar1;" (assignment_expression "*(double *)(puVar18 + -0xc) = dVar1" (pointer_expression "*(double *)(puVar18 + -0xc)" (* "*") (cast_expression "(double *)(puVar18 + -0xc)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "dVar1")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c2e;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0c2e" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0c2e")) (; ";")) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" (identifier "FUN_0023b7b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(param_1 + 0x5a1c) == '\0') {\n    if (*(int *)(param_1 + 0x5a10) == 0) goto LAB_002c00a3;\n  }\n  else if (*(int *)(param_1 + 0x5a10) == 0) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563ec;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0db6;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dbe;\n    FUN_0023b7b0();\n  }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x5a1c) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x5a1c) == '\0'" (pointer_expression "*(char *)(param_1 + 0x5a1c)" (* "*") (cast_expression "(char *)(param_1 + 0x5a1c)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5a1c)" (( "(") (binary_expression "param_1 + 0x5a1c" (identifier "param_1") (+ "+") (number_literal "0x5a1c")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    if (*(int *)(param_1 + 0x5a10) == 0) goto LAB_002c00a3;\n  }" ({ "{") (if_statement "if (*(int *)(param_1 + 0x5a10) == 0) goto LAB_002c00a3;" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x5a10) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x5a10) == 0" (pointer_expression "*(int *)(param_1 + 0x5a10)" (* "*") (cast_expression "(int *)(param_1 + 0x5a10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5a10)" (( "(") (binary_expression "param_1 + 0x5a10" (identifier "param_1") (+ "+") (number_literal "0x5a10")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_002c00a3;" (goto "goto") (statement_identifier "LAB_002c00a3") (; ";"))) (} "}")) (else_clause "else if (*(int *)(param_1 + 0x5a10) == 0) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563ec;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0db6;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dbe;\n    FUN_0023b7b0();\n  }" (else "else") (if_statement "if (*(int *)(param_1 + 0x5a10) == 0) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563ec;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0db6;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dbe;\n    FUN_0023b7b0();\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x5a10) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x5a10) == 0" (pointer_expression "*(int *)(param_1 + 0x5a10)" (* "*") (cast_expression "(int *)(param_1 + 0x5a10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5a10)" (( "(") (binary_expression "param_1 + 0x5a10" (identifier "param_1") (+ "+") (number_literal "0x5a10")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563ec;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0db6;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dbe;\n    FUN_0023b7b0();\n  }" ({ "{") (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563ec;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563ec" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_1c4 + -0x563ec" (identifier "local_1c4") (+ "+") (number_literal "-0x563ec"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0db6;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0db6" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0db6")) (; ";")) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" (identifier "uVar11") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0dbe;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0dbe" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0dbe")) (; ";")) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" (identifier "FUN_0023b7b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))))) (if_statement "if (*(char *)(param_1 + 0x318d) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563d0;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dd5;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0ddd;\n    FUN_0023b7b0();\n  }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x318d) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x318d) != '\0'" (pointer_expression "*(char *)(param_1 + 0x318d)" (* "*") (cast_expression "(char *)(param_1 + 0x318d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x318d)" (( "(") (binary_expression "param_1 + 0x318d" (identifier "param_1") (+ "+") (number_literal "0x318d")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563d0;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dd5;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0ddd;\n    FUN_0023b7b0();\n  }" ({ "{") (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563d0;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563d0" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_1c4 + -0x563d0" (identifier "local_1c4") (+ "+") (number_literal "-0x563d0"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0dd5;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0dd5" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0dd5")) (; ";")) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" (identifier "uVar11") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0ddd;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0ddd" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0ddd")) (; ";")) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" (identifier "FUN_0023b7b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(param_1 + 0x3095) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563c4;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0df4;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dfc;\n    FUN_0023b7b0();\n  }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x3095) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x3095) != '\0'" (pointer_expression "*(char *)(param_1 + 0x3095)" (* "*") (cast_expression "(char *)(param_1 + 0x3095)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3095)" (( "(") (binary_expression "param_1 + 0x3095" (identifier "param_1") (+ "+") (number_literal "0x3095")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563c4;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0df4;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dfc;\n    FUN_0023b7b0();\n  }" ({ "{") (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563c4;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563c4" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_1c4 + -0x563c4" (identifier "local_1c4") (+ "+") (number_literal "-0x563c4"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0df4;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0df4" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0df4")) (; ";")) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" (identifier "uVar11") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0dfc;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0dfc" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0dfc")) (; ";")) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" (identifier "FUN_0023b7b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x593c) != 0) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563b5;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e13;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e1b;\n    FUN_0023b7b0();\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x593c) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x593c) != 0" (pointer_expression "*(int *)(param_1 + 0x593c)" (* "*") (cast_expression "(int *)(param_1 + 0x593c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x593c)" (( "(") (binary_expression "param_1 + 0x593c" (identifier "param_1") (+ "+") (number_literal "0x593c")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563b5;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e13;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e1b;\n    FUN_0023b7b0();\n  }" ({ "{") (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563b5;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563b5" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_1c4 + -0x563b5" (identifier "local_1c4") (+ "+") (number_literal "-0x563b5"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0e13;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0e13" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0e13")) (; ";")) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" (identifier "uVar11") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0e1b;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0e1b" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0e1b")) (; ";")) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" (identifier "FUN_0023b7b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(param_1 + 0x56b9) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563a8;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d78;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d80;\n    FUN_0023b7b0();\n  }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x56b9) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x56b9) != '\0'" (pointer_expression "*(char *)(param_1 + 0x56b9)" (* "*") (cast_expression "(char *)(param_1 + 0x56b9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x56b9)" (( "(") (binary_expression "param_1 + 0x56b9" (identifier "param_1") (+ "+") (number_literal "0x56b9")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563a8;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d78;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d80;\n    FUN_0023b7b0();\n  }" ({ "{") (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563a8;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563a8" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_1c4 + -0x563a8" (identifier "local_1c4") (+ "+") (number_literal "-0x563a8"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d78;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d78" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0d78")) (; ";")) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" (identifier "uVar11") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d80;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d80" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0d80")) (; ";")) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" (identifier "FUN_0023b7b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(param_1 + 0x2931) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5639b;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d97;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d9f;\n    FUN_0023b7b0();\n  }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x2931) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x2931) != '\0'" (pointer_expression "*(char *)(param_1 + 0x2931)" (* "*") (cast_expression "(char *)(param_1 + 0x2931)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2931)" (( "(") (binary_expression "param_1 + 0x2931" (identifier "param_1") (+ "+") (number_literal "0x2931")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5639b;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d97;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d9f;\n    FUN_0023b7b0();\n  }" ({ "{") (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5639b;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5639b" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_1c4 + -0x5639b" (identifier "local_1c4") (+ "+") (number_literal "-0x5639b"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d97;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d97" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0d97")) (; ";")) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" (identifier "uVar11") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d9f;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0d9f" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0d9f")) (; ";")) (expression_statement "FUN_0023b7b0();" (call_expression "FUN_0023b7b0()" (identifier "FUN_0023b7b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(param_1 + 0x18b1) != '\0') {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5638f;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a6f;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a77;\n    FUN_0023b840();\n    *(undefined1 *)(param_1 + 0x18b1) = 0;\n  }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x18b1) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x18b1) != '\0'" (pointer_expression "*(char *)(param_1 + 0x18b1)" (* "*") (cast_expression "(char *)(param_1 + 0x18b1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18b1)" (( "(") (binary_expression "param_1 + 0x18b1" (identifier "param_1") (+ "+") (number_literal "0x18b1")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5638f;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a6f;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a77;\n    FUN_0023b840();\n    *(undefined1 *)(param_1 + 0x18b1) = 0;\n  }" ({ "{") (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5638f;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5638f" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_1c4 + -0x5638f" (identifier "local_1c4") (+ "+") (number_literal "-0x5638f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0a6f;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0a6f" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0a6f")) (; ";")) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" (identifier "uVar11") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0a77;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0a77" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0a77")) (; ";")) (expression_statement "FUN_0023b840();" (call_expression "FUN_0023b840()" (identifier "FUN_0023b840") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 0x18b1) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x18b1) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x18b1)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x18b1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18b1)" (( "(") (binary_expression "param_1 + 0x18b1" (identifier "param_1") (+ "+") (number_literal "0x18b1")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "bVar22 = *(int *)(param_1 + 0x5934) == 0;" (assignment_expression "bVar22 = *(int *)(param_1 + 0x5934) == 0" (identifier "bVar22") (= "=") (binary_expression "*(int *)(param_1 + 0x5934) == 0" (pointer_expression "*(int *)(param_1 + 0x5934)" (* "*") (cast_expression "(int *)(param_1 + 0x5934)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5934)" (( "(") (binary_expression "param_1 + 0x5934" (identifier "param_1") (+ "+") (number_literal "0x5934")) () ")")))) (== "==") (number_literal "0"))) (; ";")) (expression_statement "bVar24 = !bVar22;" (assignment_expression "bVar24 = !bVar22" (identifier "bVar24") (= "=") (unary_expression "!bVar22" (! "!") (identifier "bVar22"))) (; ";")) (if_statement "if (bVar24) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56383;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a37;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a3f;\n    FUN_0023b840();\n    *(undefined4 *)(param_1 + 0x5934) = 0;\n  }" (if "if") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (compound_statement "{\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56383;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a37;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a3f;\n    FUN_0023b840();\n    *(undefined4 *)(param_1 + 0x5934) = 0;\n  }" ({ "{") (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56383;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56383" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_1c4 + -0x56383" (identifier "local_1c4") (+ "+") (number_literal "-0x56383"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0a37;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0a37" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0a37")) (; ";")) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" (identifier "uVar11") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0a3f;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0a3f" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0a3f")) (; ";")) (expression_statement "FUN_0023b840();" (call_expression "FUN_0023b840()" (identifier "FUN_0023b840") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x5934) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x5934) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x5934)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x5934)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5934)" (( "(") (binary_expression "param_1 + 0x5934" (identifier "param_1") (+ "+") (number_literal "0x5934")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "bVar24 = bVar24 && (undefined1 *)0xffffffef < puVar18 + -0x10;" (assignment_expression "bVar24 = bVar24 && (undefined1 *)0xffffffef < puVar18 + -0x10" (identifier "bVar24") (= "=") (binary_expression "bVar24 && (undefined1 *)0xffffffef < puVar18 + -0x10" (identifier "bVar24") (&& "&&") (binary_expression "(undefined1 *)0xffffffef < puVar18 + -0x10" (cast_expression "(undefined1 *)0xffffffef" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffef")) (< "<") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10"))))) (; ";")) (expression_statement "bVar22 = bVar22 || puVar18 == (undefined1 *)0x0;" (assignment_expression "bVar22 = bVar22 || puVar18 == (undefined1 *)0x0" (identifier "bVar22") (= "=") (binary_expression "bVar22 || puVar18 == (undefined1 *)0x0" (identifier "bVar22") (|| "||") (binary_expression "puVar18 == (undefined1 *)0x0" (identifier "puVar18") (== "==") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))))) (; ";")) (expression_statement "iVar14 = 5;" (assignment_expression "iVar14 = 5" (identifier "iVar14") (= "=") (number_literal "5")) (; ";")) (expression_statement "pbVar19 = *(byte **)(param_1 + 0x99c);" (assignment_expression "pbVar19 = *(byte **)(param_1 + 0x99c)" (identifier "pbVar19") (= "=") (pointer_expression "*(byte **)(param_1 + 0x99c)" (* "*") (cast_expression "(byte **)(param_1 + 0x99c)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x99c)" (( "(") (binary_expression "param_1 + 0x99c" (identifier "param_1") (+ "+") (number_literal "0x99c")) () ")"))))) (; ";")) (expression_statement "pbVar20 = local_1f0;" (assignment_expression "pbVar20 = local_1f0" (identifier "pbVar20") (= "=") (identifier "local_1f0")) (; ";")) (do_statement "do {\n    if (iVar14 == 0) break;\n    iVar14 = iVar14 + -1;\n    bVar24 = *pbVar19 < *pbVar20;\n    bVar22 = *pbVar19 == *pbVar20;\n    pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n  } while (bVar22);" (do "do") (compound_statement "{\n    if (iVar14 == 0) break;\n    iVar14 = iVar14 + -1;\n    bVar24 = *pbVar19 < *pbVar20;\n    bVar22 = *pbVar19 == *pbVar20;\n    pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n  }" ({ "{") (if_statement "if (iVar14 == 0) break;" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar14 = iVar14 + -1;" (assignment_expression "iVar14 = iVar14 + -1" (identifier "iVar14") (= "=") (binary_expression "iVar14 + -1" (identifier "iVar14") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar24 = *pbVar19 < *pbVar20;" (assignment_expression "bVar24 = *pbVar19 < *pbVar20" (identifier "bVar24") (= "=") (binary_expression "*pbVar19 < *pbVar20" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (< "<") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "bVar22 = *pbVar19 == *pbVar20;" (assignment_expression "bVar22 = *pbVar19 == *pbVar20" (identifier "bVar22") (= "=") (binary_expression "*pbVar19 == *pbVar20" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (== "==") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar19 + (uint)bVar25 * -2" (identifier "pbVar19") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar25 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar22)" (( "(") (identifier "bVar22") () ")")) (; ";")) (if_statement "if ((!bVar24 && !bVar22) != bVar24) {\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56379;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c09ff;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a07;\n    FUN_0023b840();\n    *(byte **)(param_1 + 0x99c) = local_1f0;\n  }" (if "if") (parenthesized_expression "((!bVar24 && !bVar22) != bVar24)" (( "(") (binary_expression "(!bVar24 && !bVar22) != bVar24" (parenthesized_expression "(!bVar24 && !bVar22)" (( "(") (binary_expression "!bVar24 && !bVar22" (unary_expression "!bVar24" (! "!") (identifier "bVar24")) (&& "&&") (unary_expression "!bVar22" (! "!") (identifier "bVar22"))) () ")")) (!= "!=") (identifier "bVar24")) () ")")) (compound_statement "{\n    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56379;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c09ff;\n    uVar11 = gettext();\n    *(undefined4 *)(puVar18 + -0x10) = uVar11;\n                    \n    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a07;\n    FUN_0023b840();\n    *(byte **)(param_1 + 0x99c) = local_1f0;\n  }" ({ "{") (expression_statement "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56379;" (assignment_expression "*(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56379" (pointer_expression "*(undefined ***)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_1c4 + -0x56379" (identifier "local_1c4") (+ "+") (number_literal "-0x56379"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c09ff;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c09ff" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c09ff")) (; ";")) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" (identifier "uVar11") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c0a07;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c0a07" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c0a07")) (; ";")) (expression_statement "FUN_0023b840();" (call_expression "FUN_0023b840()" (identifier "FUN_0023b840") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(byte **)(param_1 + 0x99c) = local_1f0;" (assignment_expression "*(byte **)(param_1 + 0x99c) = local_1f0" (pointer_expression "*(byte **)(param_1 + 0x99c)" (* "*") (cast_expression "(byte **)(param_1 + 0x99c)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x99c)" (( "(") (binary_expression "param_1 + 0x99c" (identifier "param_1") (+ "+") (number_literal "0x99c")) () ")")))) (= "=") (identifier "local_1f0")) (; ";")) (} "}"))) (labeled_statement "LAB_002c00a3:\n  if (*(char *)(param_1 + 0x3344) != '\0') {\n    *(undefined1 *)(param_1 + 0x32c9) = 1;\n  }" (statement_identifier "LAB_002c00a3") (: ":") (if_statement "if (*(char *)(param_1 + 0x3344) != '\0') {\n    *(undefined1 *)(param_1 + 0x32c9) = 1;\n  }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x3344) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x3344) != '\0'" (pointer_expression "*(char *)(param_1 + 0x3344)" (* "*") (cast_expression "(char *)(param_1 + 0x3344)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3344)" (( "(") (binary_expression "param_1 + 0x3344" (identifier "param_1") (+ "+") (number_literal "0x3344")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    *(undefined1 *)(param_1 + 0x32c9) = 1;\n  }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 0x32c9) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x32c9) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x32c9)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x32c9)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x32c9)" (( "(") (binary_expression "param_1 + 0x32c9" (identifier "param_1") (+ "+") (number_literal "0x32c9")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}")))) (if_statement "if (local_1bc != local_1ec) {\n    *(undefined1 **)(puVar18 + -0x10) = local_1bc;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c00d3;\n    FUN_003ae080();\n  }" (if "if") (parenthesized_expression "(local_1bc != local_1ec)" (( "(") (binary_expression "local_1bc != local_1ec" (identifier "local_1bc") (!= "!=") (identifier "local_1ec")) () ")")) (compound_statement "{\n    *(undefined1 **)(puVar18 + -0x10) = local_1bc;\n    *(undefined4 *)(puVar18 + -0x14) = 0x2c00d3;\n    FUN_003ae080();\n  }" ({ "{") (expression_statement "*(undefined1 **)(puVar18 + -0x10) = local_1bc;" (assignment_expression "*(undefined1 **)(puVar18 + -0x10) = local_1bc" (pointer_expression "*(undefined1 **)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined1 **)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_1bc")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x2c00d3;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x2c00d3" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2c00d3")) (; ";")) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" (identifier "FUN_003ae080") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void finalize(General_options * this) */

void __thiscall gold::type_1::function_1(type_1 *this)

{
  type_2 *ppSVar1;
  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;
  double var_81;
  var_6<var_2> *var_55;
  type_3 **var_70;
  type_4 iVar5;
  type_5 *psVar6;
  type_3 **var_46;
  char cVar8;
  var_6<var_2> var_7;
  type_6 *var_65;
  type_7 *var_67;
  type_8 var_79;
  size_t sVar13;
  type_9 var_45;
  char *var_24;
  type_10 var_26;
  int *var_69;
  char *pcVar17;
  char *format;
  int var_16;
  type_3 *var_49;
  type_9 var_43;
  type_11 *var_59;
  type_11 *var_76;
  type_12 *var_20;
  type_12 *var_18;
  type_12 *pbVar25;
  type_12 *var_17;
  bool var_19;
  bool var_21;
  bool var_13;
  type_12 bVar30;
  type_7 uStack_230;
  type_9 var_42;
  type_7 uVar32;
  type_11 auStack_20c [12];
  type_3 **var_71;
  type_3 **var_75;
  type_3 *local_1f8;
  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_8;
  type_12 *local_1f0;
  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_9;
  type_13 *local_1e8;
  type_11 *local_1e4;
  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_10;
  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_11;
  type_14 *local_1d8;
  type_5 *local_1d4;
  type_15 *local_1d0;
  double local_1cc;
  type_3 **var_29;
  type_11 local_1c0 [4];
  type_5 libpath;
  type_15 local_1a4;
  type_15 local_188;
  type_15 local_16c;
  type_5 line;
  type_16 in;
  type_17 var_34;
  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_12;
  type_18 local_11c;
  type_11 local_110 [28];
  type_11 local_f4 [60];
  int aiStack_b8 [5];
  type_3 **local_a4 [5];
  type_12 var_51;
  type_7 local_34;
  type_18 local_30;
  type_7 local_2c;
  type_7 local_28;
  type_7 local_24;
  type_7 local_20;
  
  bVar30 = 0;
  var_29 = &_GLOBAL_OFFSET_TABLE_;
  var_13 = (this->strip_all_).value;
  if (var_13 == false) {
    if ((this->strip_debug_).value != false) goto LAB_002bfd3a;
    if ((this->strip_debug_non_line_).value != false) {
      var_19 = false;
      goto LAB_002bfd49;
    }
    var_19 = false;
    if ((this->Bshareable_).value != false) goto LAB_002bfd5c;
  }
  else {
    (this->strip_debug_).value = true;
LAB_002bfd3a:
    var_19 = true;
    (this->strip_debug_non_line_).value = true;
LAB_002bfd49:
    (this->strip_debug_gdb_).value = true;
    if ((this->Bshareable_).value != false) {
LAB_002bfd5c:
      (this->shared_).value = true;
    }
    if (((var_13 != false) && ((this->relocatable_).value != false)) &&
       ((this->strip_all_).value = false, !var_19)) {
                    /* WARNING: Subroutine does not return */
      var_14("../../gold/options.cc",0x453,"finalize");
    }
  }
  if ((this->dc_).value != false) {
    (this->define_common_).value = true;
  }
  if ((this->dp_).value != false) {
    (this->define_common_).value = true;
  }
  if ((this->define_common_).user_set_via_option == false) {
    var_13 = (this->relocatable_).value;
    local_1cc = (double)var_15(local_1cc._1_7_,var_13);
    (this->define_common_).value = (bool)(var_13 ^ 1);
  }
  var_13 = (this->execstack_).value == false;
  if (var_13) {
    var_13 = (this->noexecstack_).value == false;
    if (!var_13) {
      this->execstack_status_ = EXECSTACK_NO;
    }
  }
  else {
    this->execstack_status_ = EXECSTACK_YES;
  }
  var_19 = false;
  var_16 = 5;
  var_20 = (type_12 *)(this->icf_).value;
  local_1f0 = (type_12 *)0x48e342;
  var_18 = var_20;
  var_17 = (type_12 *)0x48e342;
  do {
    pbVar25 = var_17;
    if (var_16 == 0) break;
    var_16 = var_16 + -1;
    pbVar25 = var_17 + 1;
    var_19 = *var_18 < *var_17;
    var_13 = *var_18 == *var_17;
    var_18 = var_18 + 1;
    var_17 = pbVar25;
  } while (var_13);
  var_21 = false;
  var_13 = (!var_19 && !var_13) == var_19;
  if (var_13) {
    this->icf_status_ = var_84;
  }
  else {
    var_16 = 5;
    var_18 = (type_12 *)0x48dc94;
    do {
      pbVar25 = var_18;
      if (var_16 == 0) break;
      var_16 = var_16 + -1;
      pbVar25 = var_18 + 1;
      var_21 = *var_20 < *var_18;
      var_13 = *var_20 == *var_18;
      var_20 = var_20 + 1;
      var_18 = pbVar25;
    } while (var_13);
    this->icf_status_ = ((!var_21 && !var_13) == var_21) + var_22;
  }
  if ((this->demangle_).user_set_via_option == false) {
    if ((this->no_demangle_).user_set_via_option == false) {
      var_24 = var_23("COLLECT_NO_DEMANGLE");
      this->do_demangle_ = var_24 == (char *)0x0;
    }
    else {
      this->do_demangle_ = false;
    }
  }
  else {
    var_24 = (this->demangle_).value;
    this->do_demangle_ = true;
    if (*var_24 != '\0') {
      var_26 = var_25(var_24);
      if (var_26 == var_27) {
                    /* WARNING: Subroutine does not return */
        var_28((char *)(var_29 + -0x56e9a),var_24,pbVar25,pbVar25);
      }
      var_30(var_26);
    }
  }
  var_13 = false;
  var_19 = (this->orphan_handling_).user_set_via_option == false;
  if (!var_19) {
    var_20 = (type_12 *)(this->orphan_handling_).value;
    var_16 = 6;
    var_18 = var_20;
    var_17 = (type_12 *)((int)var_29 + -0x1477fe);
    do {
      if (var_16 == 0) break;
      var_16 = var_16 + -1;
      var_13 = *var_18 < *var_17;
      var_19 = *var_18 == *var_17;
      var_18 = var_18 + (type_9)bVar30 * -2 + 1;
      var_17 = var_17 + (type_9)bVar30 * -2 + 1;
    } while (var_19);
    var_21 = false;
    var_13 = (!var_13 && !var_19) == var_13;
    if (var_13) {
      this->orphan_handling_enum_ = ORPHAN_PLACE;
    }
    else {
      var_16 = 8;
      var_18 = var_20;
      var_17 = (type_12 *)((int)var_29 + -0x1a1fb3);
      do {
        if (var_16 == 0) break;
        var_16 = var_16 + -1;
        var_21 = *var_18 < *var_17;
        var_13 = *var_18 == *var_17;
        var_18 = var_18 + (type_9)bVar30 * -2 + 1;
        var_17 = var_17 + (type_9)bVar30 * -2 + 1;
      } while (var_13);
      var_19 = false;
      var_13 = (!var_21 && !var_13) == var_21;
      if (var_13) {
        this->orphan_handling_enum_ = ORPHAN_DISCARD;
      }
      else {
        var_16 = 5;
        var_18 = var_20;
        var_17 = (type_12 *)((int)var_29 + -0x1a1fab);
        do {
          if (var_16 == 0) break;
          var_16 = var_16 + -1;
          var_19 = *var_18 < *var_17;
          var_13 = *var_18 == *var_17;
          var_18 = var_18 + (type_9)bVar30 * -2 + 1;
          var_17 = var_17 + (type_9)bVar30 * -2 + 1;
        } while (var_13);
        var_21 = false;
        var_13 = (!var_19 && !var_13) == var_19;
        if (var_13) {
          this->orphan_handling_enum_ = ORPHAN_WARN;
        }
        else {
          var_16 = 6;
          var_18 = (type_12 *)((int)var_29 + -0x146582);
          do {
            if (var_16 == 0) break;
            var_16 = var_16 + -1;
            var_21 = *var_20 < *var_18;
            var_13 = *var_20 == *var_18;
            var_20 = var_20 + (type_9)bVar30 * -2 + 1;
            var_18 = var_18 + (type_9)bVar30 * -2 + 1;
          } while (var_13);
          if ((!var_21 && !var_13) == var_21) {
            this->orphan_handling_enum_ = ORPHAN_ERROR;
          }
        }
      }
    }
  }
  if (((this->print_map_).value != false) && ((this->Map_).user_set_via_option == false)) {
    (this->Map_).user_set_via_option = true;
    (this->Map_).value = (char *)(var_29 + -0x573ca);
  }
  if (((this->nmagic_).value != false) || ((this->omagic_).value != false)) {
    this->static_ = true;
  }
  var_16 = (this->thread_count_).value;
  if (0 < var_16) {
    if ((this->thread_count_initial_).value == 0) {
      (this->thread_count_initial_).value = var_16;
    }
    if ((this->thread_count_middle_).value == 0) {
      (this->thread_count_middle_).value = var_16;
    }
    if ((this->thread_count_final_).value == 0) {
      (this->thread_count_final_).value = var_16;
    }
  }
  libpath.field_2._M_local_buf[0] = '\0';
  local_1d4 = &libpath;
  var_9 = &libpath.field_2;
  libpath._M_dataplus._M_p = (type_2)&libpath.field_2;
  libpath._M_string_length = 0;
  if ((this->Y_).user_set_via_option == false) {
    if ((this->nostdlib_).value == false) {
      var_11 = &var_12;
      local_1d0 = (type_15 *)&in;
      var_33 = (type_2)var_11;
                    /* try { // try from 002c0505 to 002c0509 has its CatchHandler @ 002c0e87 */
      std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
      var_31<var_32*>
                ((basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3> *)local_1d0,
                 (int)var_29 + -0x15ba2f,(int)var_29 + -0x15ba16,0);
      var_5 = &local_1a4.name_.field_2;
      local_1a4.name_._M_dataplus._M_p = (type_2)var_5;
                    /* try { // try from 002c0532 to 002c0536 has its CatchHandler @ 002c0ef5 */
      std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
      var_31<var_2*>(&local_1a4.name_,var_33,(type_19 *)(var_33 + var_34),0);
      local_1a4.put_in_sysroot_ = true;
      local_1a4.is_in_sysroot_ = false;
      if (local_1a4.name_._M_string_length == 0) {
                    /* try { // try from 002c0957 to 002c095b has its CatchHandler @ 002c0e8e */
        std::string::var_35((type_5 *)&local_1a4,0,0,(char *)((int)var_29 + -0x15ca25),1);
      }
      local_1d8 = &(this->library_path_).value;
      iVar5._M_current =
           (this->library_path_).value.
           super__Vector_base<gold::type_15,_std::var_1<gold::type_15>var_3>.
           _M_impl._M_finish;
      if (iVar5._M_current ==
          (this->library_path_).value.
          super__Vector_base<gold::type_15,_std::var_1<gold::type_15>var_3>.
          _M_impl._M_end_of_storage) {
                    /* try { // try from 002c0973 to 002c0977 has its CatchHandler @ 002c0e95 */
        std::vector<gold::type_15,_std::var_1<gold::type_15>var_3>::
        _M_realloc_insert<const_gold::type_15&>(local_1d8,iVar5,&local_1a4);
      }
      else {
        ((iVar5._M_current)->name_)._M_dataplus._M_p = (type_2)&((iVar5._M_current)->name_).field_2
        ;
                    /* try { // try from 002c058f to 002c0593 has its CatchHandler @ 002c0e95 */
        std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
        var_31<var_2*>(&(iVar5._M_current)->name_,local_1a4.name_._M_dataplus._M_p,
                            local_1a4.name_._M_dataplus._M_p + local_1a4.name_._M_string_length,0);
        (iVar5._M_current)->put_in_sysroot_ = local_1a4.put_in_sysroot_;
        (iVar5._M_current)->is_in_sysroot_ = local_1a4.is_in_sysroot_;
        ppSVar1 = &(this->library_path_).value.
                   super__Vector_base<gold::type_15,_std::var_1<gold::type_15>var_3>
                   ._M_impl._M_finish;
        *ppSVar1 = *ppSVar1 + 1;
      }
      if ((anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
           *)local_1a4.name_._M_dataplus._M_p != var_5) {
        var_36(local_1a4.name_._M_dataplus._M_p);
      }
      if ((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_33 != var_11) {
        var_36(var_33);
      }
      var_33 = (type_2)var_11;
                    /* try { // try from 002c0619 to 002c061d has its CatchHandler @ 002c0e87 */
      std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
      var_31<var_32*>
                (&local_1d0->name_,(int)var_29 + -0x15ba33,(int)var_29 + -0x15ba16,0);
      var_5 = &local_188.name_.field_2;
      local_188.name_._M_dataplus._M_p = (type_2)var_5;
                    /* try { // try from 002c0646 to 002c064a has its CatchHandler @ 002c0ecd */
      std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
      var_31<var_2*>(&local_188.name_,var_33,(type_19 *)(var_33 + var_34),0);
      local_188.put_in_sysroot_ = true;
      local_188.is_in_sysroot_ = false;
      if (local_188.name_._M_string_length == 0) {
                    /* try { // try from 002c0af7 to 002c0afb has its CatchHandler @ 002c0eb8 */
        std::string::var_35((type_5 *)&local_188,0,0,(char *)((int)var_29 + -0x15ca25),1);
      }
      iVar5._M_current =
           (this->library_path_).value.
           super__Vector_base<gold::type_15,_std::var_1<gold::type_15>var_3>.
           _M_impl._M_finish;
      if (iVar5._M_current ==
          (this->library_path_).value.
          super__Vector_base<gold::type_15,_std::var_1<gold::type_15>var_3>.
          _M_impl._M_end_of_storage) {
                    /* try { // try from 002c0b8b to 002c0b8f has its CatchHandler @ 002c0ebf */
        std::vector<gold::type_15,_std::var_1<gold::type_15>var_3>::
        _M_realloc_insert<const_gold::type_15&>(local_1d8,iVar5,&local_188);
      }
      else {
        ((iVar5._M_current)->name_)._M_dataplus._M_p = (type_2)&((iVar5._M_current)->name_).field_2
        ;
                    /* try { // try from 002c0695 to 002c0699 has its CatchHandler @ 002c0ebf */
        std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
        var_31<var_2*>(&(iVar5._M_current)->name_,local_188.name_._M_dataplus._M_p,
                            local_188.name_._M_dataplus._M_p + local_188.name_._M_string_length,0);
        (iVar5._M_current)->put_in_sysroot_ = local_188.put_in_sysroot_;
        (iVar5._M_current)->is_in_sysroot_ = local_188.is_in_sysroot_;
        ppSVar1 = &(this->library_path_).value.
                   super__Vector_base<gold::type_15,_std::var_1<gold::type_15>var_3>
                   ._M_impl._M_finish;
        *ppSVar1 = *ppSVar1 + 1;
      }
      if ((anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
           *)local_188.name_._M_dataplus._M_p != var_5) {
        var_36(local_188.name_._M_dataplus._M_p);
      }
      if ((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_33 != var_11) {
        var_36(var_33);
      }
      var_33 = (type_2)var_11;
                    /* try { // try from 002c071f to 002c0723 has its CatchHandler @ 002c0e87 */
      std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
      var_31<var_32*>
                (&local_1d0->name_,(int)var_29 + -0x15ba11,(int)var_29 + -0x15ba0d,0);
      var_5 = &local_16c.name_.field_2;
      local_16c.name_._M_dataplus._M_p = (type_2)var_5;
                    /* try { // try from 002c074c to 002c0750 has its CatchHandler @ 002c0ec6 */
      std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
      var_31<var_2*>(&local_16c.name_,var_33,(type_19 *)(var_33 + var_34),0);
      local_16c.put_in_sysroot_ = true;
      local_16c.is_in_sysroot_ = false;
      if (local_16c.name_._M_string_length == 0) {
                    /* try { // try from 002c0b1f to 002c0b23 has its CatchHandler @ 002c0eb1 */
        std::string::var_35((type_5 *)&local_16c,0,0,(char *)((int)var_29 + -0x15ca25),1);
      }
      iVar5._M_current =
           (this->library_path_).value.
           super__Vector_base<gold::type_15,_std::var_1<gold::type_15>var_3>.
           _M_impl._M_finish;
      if (iVar5._M_current ==
          (this->library_path_).value.
          super__Vector_base<gold::type_15,_std::var_1<gold::type_15>var_3>.
          _M_impl._M_end_of_storage) {
                    /* try { // try from 002c0b6b to 002c0b6f has its CatchHandler @ 002c0e9c */
        std::vector<gold::type_15,_std::var_1<gold::type_15>var_3>::
        _M_realloc_insert<const_gold::type_15&>(local_1d8,iVar5,&local_16c);
      }
      else {
        ((iVar5._M_current)->name_)._M_dataplus._M_p = (type_2)&((iVar5._M_current)->name_).field_2
        ;
                    /* try { // try from 002c079b to 002c079f has its CatchHandler @ 002c0e9c */
        std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
        var_31<var_2*>(&(iVar5._M_current)->name_,local_16c.name_._M_dataplus._M_p,
                            local_16c.name_._M_dataplus._M_p + local_16c.name_._M_string_length,0);
        (iVar5._M_current)->put_in_sysroot_ = local_16c.put_in_sysroot_;
        (iVar5._M_current)->is_in_sysroot_ = local_16c.is_in_sysroot_;
        ppSVar1 = &(this->library_path_).value.
                   super__Vector_base<gold::type_15,_std::var_1<gold::type_15>var_3>
                   ._M_impl._M_finish;
        *ppSVar1 = *ppSVar1 + 1;
      }
      if ((anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
           *)local_16c.name_._M_dataplus._M_p != var_5) {
        var_36(local_16c.name_._M_dataplus._M_p);
      }
      if ((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_33 != var_11) {
        var_36(var_33);
      }
      var_33 = (type_2)var_11;
                    /* try { // try from 002c0825 to 002c0829 has its CatchHandler @ 002c0e87 */
      std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
      var_31<var_32*>
                (&local_1d0->name_,(int)var_29 + -0x15ba15,(int)var_29 + -0x15ba0d,0);
      var_10 = &line.field_2;
      local_1cc = (double)var_37(local_1cc._4_4_,&line);
      line._M_dataplus._M_p = (type_2)var_10;
                    /* try { // try from 002c085e to 002c0862 has its CatchHandler @ 002c0e6b */
      std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
      var_31<var_2*>(&line,var_33,(type_19 *)(var_33 + var_34),0);
      if (line._M_string_length == 0) {
                    /* try { // try from 002c0b4c to 002c0b50 has its CatchHandler @ 002c0eaa */
        std::string::var_35
                  ((type_5 *)local_1cc._0_4_,0,0,(char *)((int)var_29 + -0x15ca25),1);
      }
      iVar5._M_current =
           (this->library_path_).value.
           super__Vector_base<gold::type_15,_std::var_1<gold::type_15>var_3>.
           _M_impl._M_finish;
      if (iVar5._M_current ==
          (this->library_path_).value.
          super__Vector_base<gold::type_15,_std::var_1<gold::type_15>var_3>.
          _M_impl._M_end_of_storage) {
                    /* try { // try from 002c0bb0 to 002c0bb4 has its CatchHandler @ 002c0e64 */
        std::vector<gold::type_15,_std::var_1<gold::type_15>var_3>::
        _M_realloc_insert<const_gold::type_15&>(local_1d8,iVar5,local_1cc._0_4_);
      }
      else {
        ((iVar5._M_current)->name_)._M_dataplus._M_p = (type_2)&((iVar5._M_current)->name_).field_2
        ;
                    /* try { // try from 002c08ad to 002c08b1 has its CatchHandler @ 002c0e64 */
        std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
        var_31<var_2*>(&(iVar5._M_current)->name_,line._M_dataplus._M_p,
                            line._M_dataplus._M_p + line._M_string_length,0);
        (iVar5._M_current)->put_in_sysroot_ = true;
        (iVar5._M_current)->is_in_sysroot_ = false;
        ppSVar1 = &(this->library_path_).value.
                   super__Vector_base<gold::type_15,_std::var_1<gold::type_15>var_3>
                   ._M_impl._M_finish;
        *ppSVar1 = *ppSVar1 + 1;
      }
      if ((anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
           *)line._M_dataplus._M_p != var_10) {
        var_36(line._M_dataplus._M_p);
      }
      if ((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_33 != var_11) {
        var_36(var_33);
      }
      goto LAB_002c0258;
    }
  }
  else {
    var_24 = (this->Y_).value;
    sVar13 = var_38(var_24);
    psVar6 = local_1d4;
                    /* try { // try from 002c022e to 002c02de has its CatchHandler @ 002c0e87 */
    std::string::var_35((type_5 *)local_1d4,0,0,var_24,sVar13);
    var_16 = std::string::var_39((type_9)psVar6,0,(char *)0x2);
    if (var_16 == 0) {
                    /* try { // try from 002c0acd to 002c0ad1 has its CatchHandler @ 002c0e87 */
      std::string::var_40((type_9)local_1d4,0);
    }
LAB_002c0258:
    var_42 = 0;
    local_1cc = (double)var_37(local_1cc._4_4_,&line);
    if (libpath._M_string_length != 0) {
      do {
        var_16 = std::string::var_41((char)local_1d4,0x3a);
        var_43 = 0xffffffff;
        if ((var_16 == -1) || (var_43 = var_16 - var_42, var_43 != 0)) {
          if (libpath._M_string_length < var_42) {
                    /* WARNING: Subroutine does not return */
            std::var_44
                      ((char *)(var_29 + -0x58f98),(int)var_29 + -0x1641fb,var_42,
                       libpath._M_string_length);
          }
          var_10 = &line.field_2;
          var_45 = libpath._M_string_length - var_42;
          if (var_43 < libpath._M_string_length - var_42) {
            var_45 = var_43;
          }
          line._M_dataplus._M_p = (type_2)var_10;
          std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
          var_31<var_32*>
                    (&(local_1cc._0_4_)->name_,libpath._M_dataplus._M_p + var_42,
                     libpath._M_dataplus._M_p + var_42 + var_45,0);
          var_11 = &var_12;
          local_1d0 = (type_15 *)&in;
          var_33 = (type_2)var_11;
                    /* try { // try from 002c0313 to 002c0317 has its CatchHandler @ 002c0ea3 */
          std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
          var_31<var_2*>((basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3> *)
                              local_1d0,line._M_dataplus._M_p,
                              line._M_dataplus._M_p + line._M_string_length,0);
          local_11c._0_1_ = true;
          local_11c._1_1_ = false;
          if (var_34 == 0) {
                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */
            std::string::var_35((type_5 *)local_1d0,0,0,(char *)((int)var_29 + -0x15ca25),1);
          }
          iVar5._M_current =
               (this->library_path_).value.
               super__Vector_base<gold::type_15,_std::var_1<gold::type_15>var_3>.
               _M_impl._M_finish;
          if (iVar5._M_current ==
              (this->library_path_).value.
              super__Vector_base<gold::type_15,_std::var_1<gold::type_15>var_3>.
              _M_impl._M_end_of_storage) {
                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */
            std::vector<gold::type_15,_std::var_1<gold::type_15>var_3>::
            _M_realloc_insert<const_gold::type_15&>
                      (&(this->library_path_).value,iVar5,local_1d0);
          }
          else {
            ((iVar5._M_current)->name_)._M_dataplus._M_p =
                 (type_2)&((iVar5._M_current)->name_).field_2;
                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */
            std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
            var_31<var_2*>(&(iVar5._M_current)->name_,var_33,(type_19 *)(var_33 + var_34),0);
            (iVar5._M_current)->put_in_sysroot_ = local_11c._0_1_;
            (iVar5._M_current)->is_in_sysroot_ = local_11c._1_1_;
            ppSVar1 = &(this->library_path_).value.
                       super__Vector_base<gold::type_15,_std::var_1<gold::type_15>var_3>
                       ._M_impl._M_finish;
            *ppSVar1 = *ppSVar1 + 1;
          }
          if ((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_33 != var_11) {
            var_36(var_33);
          }
          if ((anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
               *)line._M_dataplus._M_p != var_10) {
            var_36(line._M_dataplus._M_p);
          }
          if (var_16 == -1) break;
        }
        var_42 = var_16 + 1;
      } while( true );
    }
  }
  var_46 = var_29;
  var_59 = auStack_20c;
  var_76 = auStack_20c;
  if ((this->retain_symbols_file_).value != (char *)0x0) {
    local_1e8 = (type_13 *)local_a4;
    local_1d0 = (type_15 *)&in;
    std::ios_base::type_13(local_1e8);
    var_75 = var_46 + -0xa0e;
    local_34 = 0;
    local_2c = 0;
    local_a4[0] = var_46 + -0xa0c;
    local_30 = 0;
    local_28 = 0;
    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_46[-0x9d3];
    local_1f8 = var_46[-0x9d2];
    local_24 = 0;
    local_20 = 0;
    var_33 = (type_2)var_8;
    *(type_3 **)(&in + *(int *)(var_8->_M_local_buf + -0xc)) = local_1f8;
                    /* try { // try from 002bfb07 to 002bfb0b has its CatchHandler @ 002c0ee2 */
    std::ios::var_47((type_20 *)
                   ((int)&(((type_15 *)&in)->name_)._M_dataplus._M_p +
                   *(int *)(var_8->_M_local_buf + -0xc)));
    var_71 = var_46 + -0x9d0;
    var_33 = (type_2)(var_46 + -0x9cd);
    local_a4[0] = var_46 + -0x9c8;
    var_11 = &var_12;
                    /* try { // try from 002bfb39 to 002bfb3d has its CatchHandler @ 002c0ed4 */
    std::filebuf::type_19((type_19 *)var_12._M_local_buf);
                    /* try { // try from 002bfb47 to 002bfb4b has its CatchHandler @ 002c0e79 */
    std::ios::var_47((type_20 *)local_1e8);
    uVar32 = 8;
                    /* try { // try from 002bfb5b to 002bfb8a has its CatchHandler @ 002c0e80 */
    var_16 = std::filebuf::var_48(var_12._M_local_buf,
                                (_Ios_Openmode)(this->retain_symbols_file_).value);
    var_49 = *(type_3 **)(var_33 + -0xc) + (int)&(local_1d0->name_)._M_dataplus;
    if (var_16 == 0) {
      var_42 = *(type_9 *)(var_49 + 0x14) | 4;
                    /* try { // try from 002c0aa1 to 002c0aa5 has its CatchHandler @ 002c0e80 */
      std::ios::var_50((type_21)var_49);
    }
    else {
      var_42 = 0;
      std::ios::var_50((type_21)var_49);
    }
    var_46 = var_29;
    if ((var_51 & 5) != 0) {
      var_69 = var_52();
      pcVar17 = var_53(*var_69);
      var_24 = (this->retain_symbols_file_).value;
      format = (char *)var_54(var_29 + -0x5645f,var_42);
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002c0d5c to 002c0d60 has its CatchHandler @ 002c0e80 */
      var_28(format,var_24,pcVar17);
    }
    line.field_2._M_local_buf[0] = '\0';
    var_10 = &line.field_2;
    line._M_dataplus._M_p = (type_2)&line.field_2;
    line._M_string_length = 0;
    var_55 = *(var_6<var_2> **var_58)((int)aiStack_b8 + (int)*(type_3 **)(var_33 + -0xc));
    if (var_55 == (var_6<var_2> *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002c0e40 to 002c0e44 has its CatchHandler @ 002c0edb */
      std::var_56();
    }
    if (var_55[0x1c] == (var_6<var_2>)0x0) {
                    /* try { // try from 002c043c to 002c0463 has its CatchHandler @ 002c0edb */
      std::var_6<var_2>::var_57(var_55);
      var_7 = (var_6<var_2>)0xa;
      if (*(type_3 ***)(*(int *)var_55 + 0x18) != var_46 + -0xdabd4) {
        var_7 = (var_6<var_2>var_58)(*(type_22 *)*(type_3 ***)(*(int *)var_55 + 0x18))(var_55,10,uVar32);
      }
    }
    else {
      var_7 = var_55[0x27];
    }
    local_1cc = (double)var_37(local_1cc._4_4_,&line);
                    /* try { // try from 002bfc01 to 002bfc46 has its CatchHandler @ 002c0edb */
    std::getline<var_2,std::char_traits<var_2>,std::var_1<var_2>>
              ((type_23 *)local_1d0,(type_5 *)&line,(char)var_7);
    local_1d4 = (type_5 *)&this->symbols_to_retain_;
    local_1e4 = local_1c0;
    while ((var_51 & 5) == 0) {
      if ((line._M_string_length != 0) && (line._M_dataplus._M_p[line._M_string_length - 1] == '\r')
         ) {
        *(type_7 *)(var_59 + -8) = 0;
        *(type_17 *)(var_59 + -0xc) = line._M_string_length - 1;
        *(type_15 **)(var_59 + -0x10) = local_1cc._0_4_;
                    /* try { // try from 002c0182 to 002c0186 has its CatchHandler @ 002c0edb */
        *(type_7 *)(var_59 + -0x14) = 0x2c0187;
        std::string::var_60(*(type_9 *)(var_59 + -0x10),var_59[-0xc]);
      }
      *(type_7 *)(var_59 + -8) = 0xc70f6907;
      *(type_17 *)(var_59 + -0xc) = line._M_string_length;
      *(type_2 *)(var_59 + -0x10) = line._M_dataplus._M_p;
      *(type_7 *)(var_59 + -0x14) = 0x2bfc8a;
      var_42 = std::var_61(*(void **)(var_59 + -0x10),*(type_9 *)(var_59 + -0xc),
                                *(type_9 *)(var_59 + -8));
      local_1d8 = (type_14 *)(var_42 % (this->symbols_to_retain_)._M_h._M_bucket_count);
      *(type_9 *)(var_59 + -0x14) = var_42;
      *(type_15 **)(var_59 + -0x18) = local_1cc._0_4_;
      *(type_14 **)(var_59 + -0x1c) = local_1d8;
      *(type_5 **)(var_59 + -0x20) = local_1d4;
      *(type_7 *)(var_59 + -0x24) = 0x2bfcb0;
      var_65 = std::
                _Hashtable<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::var_1<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>,_std::__detail::_Identity,_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_62<true,var_63,var_63>var_3>
                ::var_64
                          (*(_Hashtable<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::var_1<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>,_std::__detail::_Identity,_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_62<true,var_63,var_63>var_3>
                             **var_58)(var_59 + -0x20),*(type_17 *)(var_59 + -0x1c),
                           *(type_24 **)(var_59 + -0x18),*(type_25 *)(var_59 + -0x14));
      if ((var_65 == (type_6 *)0x0) || (var_65->_M_nxt == (type_26 *)0x0)) {
        *(type_7 *)(var_59 + -0x10) = 0x20;
                    /* try { // try from 002bfdcb to 002bfdcf has its CatchHandler @ 002c0edb */
        *(type_7 *)(var_59 + -0x14) = 0x2bfdd0;
        var_67 = (type_7 *)var_66(*(type_9 *)(var_59 + -0x10));
        *var_67 = 0;
        var_67[1] = var_67 + 3;
        *(type_7 *)(var_59 + -4) = 0;
        *(type_2 *)(var_59 + -8) = line._M_dataplus._M_p + line._M_string_length;
        *(type_2 *)(var_59 + -0xc) = line._M_dataplus._M_p;
        *(type_7 **)(var_59 + -0x10) = var_67 + 1;
                    /* try { // try from 002bfdf7 to 002bfdfb has its CatchHandler @ 002c0ee9 */
        *(type_7 *)(var_59 + -0x14) = 0x2bfdfc;
        std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
        var_31<var_2*>();
        *(type_7 *)(var_59 + -0xc) = 1;
        *(type_7 **)(var_59 + -0x10) = var_67;
        *(type_9 *)(var_59 + -0x14) = var_42;
        *(type_14 **)(var_59 + -0x18) = local_1d8;
        *(type_5 **)(var_59 + -0x1c) = local_1d4;
        *(type_11 **)(var_59 + -0x20) = local_1e4;
                    /* try { // try from 002bfe14 to 002bfe18 has its CatchHandler @ 002c0edb */
        *(type_7 *)(var_59 + -0x24) = 0x2bfe19;
        std::
        _Hashtable<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::var_1<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>,_std::__detail::_Identity,_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_62<true,var_63,var_63>var_3>
        ::var_68
                  (*(_Hashtable<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::var_1<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>,_std::__detail::_Identity,_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_62<true,var_63,var_63>var_3>
                     **var_58)(var_59 + -0x20),*(type_17 *)(var_59 + -0x1c),
                   *(type_25 *)(var_59 + -0x18),*(type_27 **)(var_59 + -0x14),
                   *(type_17 *)(var_59 + -0x10));
        var_59 = var_59 + -4;
      }
      var_46 = var_29;
      var_69 = *(int **)((int)aiStack_b8 + (int)*(type_3 **)(var_33 + -0xc));
      if (var_69 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002c0bfa to 002c0bfe has its CatchHandler @ 002c0edb */
        *(type_7 *)(var_59 + -4) = 0x2c0bff;
        std::var_56();
      }
      if ((char)var_69[7] == '\0') {
        *(int **)(var_59 + -0x10) = var_69;
                    /* try { // try from 002bfcf3 to 002bfd1a has its CatchHandler @ 002c0edb */
        *(type_7 *)(var_59 + -0x14) = 0x2bfcf8;
        std::var_6<var_2>::var_57(*(var_6<var_2> **var_58)(var_59 + -0x10));
        var_70 = *(type_3 ***)(*var_69 + 0x18);
        var_16 = 10;
        if (var_70 != var_46 + -0xdabd4) {
          *(type_7 *)(var_59 + -0xc) = 10;
          *(int **)(var_59 + -0x10) = var_69;
          *(type_7 *)(var_59 + -0x14) = 0x2bfd1b;
          cVar8 = (*(type_22 *)var_70)();
          var_16 = (int)cVar8;
        }
      }
      else {
        var_16 = (int)*(char *)((int)var_69 + 0x27);
      }
      *(int *)(var_59 + -8) = var_16;
      *(type_15 **)(var_59 + -0xc) = local_1cc._0_4_;
      *(type_15 **)(var_59 + -0x10) = local_1d0;
      *(type_7 *)(var_59 + -0x14) = 0x2bfc47;
      std::getline<var_2,std::char_traits<var_2>,std::var_1<var_2>>
                (*(type_23 **)(var_59 + -0x10),*(type_5 **)(var_59 + -0xc),var_59[-8]);
    }
    if ((anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
         *)line._M_dataplus._M_p != var_10) {
      *(type_2 *)(var_59 + -0x10) = line._M_dataplus._M_p;
      *(type_7 *)(var_59 + -0x14) = 0x2bfe3f;
      var_36(*(void **)(var_59 + -0x10));
    }
    var_46 = var_29;
    *(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_58)(var_59 + -0x10) = var_11;
    var_33 = (type_2)(var_71 + 3);
    local_a4[0] = var_71 + 8;
    var_12._M_allocated_capacity = (type_17)(var_29 + -0x9ec);
    *(type_7 *)(var_59 + -0x14) = 0x2bfe7f;
    std::filebuf::var_72(*(type_19 **)(var_59 + -0x10));
    *(type_11 **)(var_59 + -0x10) = local_f4;
    *(type_7 *)(var_59 + -0x14) = 0x2bfe8d;
    std::var_73<var_2>::~var_73(*(var_73<var_2> **var_58)(var_59 + -0x10));
    var_12._M_allocated_capacity = (type_17)(var_46 + -0xbd1);
    *(type_11 **)(var_59 + -0x10) = local_110;
    *(type_7 *)(var_59 + -0x14) = 0x2bfeaa;
    std::locale::~var_74(*(var_74 **)(var_59 + -0x10));
    var_33 = (type_2)var_8;
    *(type_3 **)(&in + *(int *)(var_8->_M_local_buf + -0xc)) = local_1f8;
    local_a4[0] = var_75 + 2;
    *(type_13 **)(var_59 + -0x10) = local_1e8;
    *(type_7 *)(var_59 + -0x14) = 0x2bfeeb;
    std::ios_base::~type_13(*(type_13 **)(var_59 + -0x10));
    var_76 = var_59;
  }
  if (((this->Bgroup_).value != false) && ((this->unresolved_symbols_).user_set_via_option == false)
     ) {
    (this->unresolved_symbols_).value = (char *)((int)var_29 + -0x1a1f9b);
  }
  if (((this->shared_).value != false) &&
     ((this->allow_shlib_undefined_).user_set_via_option == false)) {
    (this->allow_shlib_undefined_).value = true;
  }
  *(type_1 **)(var_76 + -0x10) = this;
                    /* try { // try from 002bff3a to 002c016a has its CatchHandler @ 002c0e87 */
  *(type_7 *)(var_76 + -0x14) = 0x2bff3f;
  var_77(*(type_1 **)(var_76 + -0x10));
  if ((this->shared_).value == false) {
    if ((this->pie_).value != false) {
      if (this->static_ != false) {
        *(type_3 ***)(var_76 + -0x10) = var_29 + -0x56440;
        *(type_7 *)(var_76 + -0x14) = 0x2c0e5c;
        uVar32 = var_54();
        *(type_7 *)(var_76 + -0x10) = uVar32;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002c0e5f to 002c0e63 has its CatchHandler @ 002c0e87 */
        *(type_11 **)(var_76 + -0x14) = &LAB_002c0e64;
        var_28(*(char **)(var_76 + -0x10));
      }
      if ((this->relocatable_).value != false) {
        *(type_3 ***)(var_76 + -0x10) = var_29 + -0x56e83;
        *(type_7 *)(var_76 + -0x14) = 0x2c0cbd;
        uVar32 = var_54();
        *(type_7 *)(var_76 + -0x10) = uVar32;
                    /* WARNING: Subroutine does not return */
        *(type_7 *)(var_76 + -0x14) = 0x2c0cc5;
        var_28(*(char **)(var_76 + -0x10));
      }
    }
    if ((this->filter_).value != (char *)0x0) {
      *(type_3 ***)(var_76 + -0x10) = var_29 + -0x5642f;
      *(type_7 *)(var_76 + -0x14) = 0x2c0cdc;
      uVar32 = var_54();
      *(type_7 *)(var_76 + -0x10) = uVar32;
                    /* WARNING: Subroutine does not return */
      *(type_7 *)(var_76 + -0x14) = 0x2c0ce4;
      var_28(*(char **)(var_76 + -0x10));
    }
    if ((this->auxiliary_).value._M_h._M_element_count != 0) {
      *(type_3 ***)(var_76 + -0x10) = var_29 + -0x56424;
      *(type_7 *)(var_76 + -0x14) = 0x2c0d10;
      uVar32 = var_54();
      *(type_7 *)(var_76 + -0x10) = uVar32;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002c0d13 to 002c0d17 has its CatchHandler @ 002c0e87 */
      *(type_7 *)(var_76 + -0x14) = 0x2c0d18;
      var_28(*(char **)(var_76 + -0x10));
    }
    if (((this->relocatable_).value != false) && ((this->retain_symbols_file_).value != (char *)0x0)
       ) {
      *(type_3 ***)(var_76 + -0x10) = var_29 + -0x56418;
      *(type_7 *)(var_76 + -0x14) = 0x2c0163;
      uVar32 = var_54();
      *(type_7 *)(var_76 + -0x10) = uVar32;
                    /* WARNING: Subroutine does not return */
      *(type_3 **)(var_76 + -0x14) = &UNK_002c016b;
      var_28(*(char **)(var_76 + -0x10));
    }
  }
  else {
    if (this->static_ != false) {
      *(type_3 ***)(var_76 + -0x10) = var_29 + -0x56453;
      *(type_7 *)(var_76 + -0x14) = 0x2c0e32;
      uVar32 = var_54();
      *(type_7 *)(var_76 + -0x10) = uVar32;
                    /* WARNING: Subroutine does not return */
      *(type_7 *)(var_76 + -0x14) = 0x2c0e3a;
      var_28(*(char **)(var_76 + -0x10));
    }
    if ((this->pie_).value != false) {
      *(type_3 ***)(var_76 + -0x10) = var_29 + -0x56449;
      *(type_7 *)(var_76 + -0x14) = 0x2c0c7f;
      uVar32 = var_54();
      *(type_7 *)(var_76 + -0x10) = uVar32;
                    /* WARNING: Subroutine does not return */
      *(type_7 *)(var_76 + -0x14) = 0x2c0c87;
      var_28(*(char **)(var_76 + -0x10));
    }
    if ((this->relocatable_).value != false) {
      *(type_3 ***)(var_76 + -0x10) = var_29 + -0x56437;
      *(type_7 *)(var_76 + -0x14) = 0x2c0c9e;
      uVar32 = var_54();
      *(type_7 *)(var_76 + -0x10) = uVar32;
                    /* WARNING: Subroutine does not return */
      *(type_7 *)(var_76 + -0x14) = 0x2c0ca6;
      var_28(*(char **)(var_76 + -0x10));
    }
  }
  *(char **)(var_76 + -0x10) = (this->oformat_).value;
  *(type_7 *)(var_76 + -0x14) = 0x2bff90;
  var_79 = var_78(*(char **)(var_76 + -0x10));
  if ((var_79 != var_80) &&
     ((((this->shared_).value != false || ((this->pie_).value != false)) ||
      ((this->relocatable_).value != false)))) {
    *(type_3 ***)(var_76 + -0x10) = var_29 + -0x5640c;
    *(type_7 *)(var_76 + -0x14) = 0x2c0c60;
    uVar32 = var_54();
    *(type_7 *)(var_76 + -0x10) = uVar32;
                    /* WARNING: Subroutine does not return */
    *(type_7 *)(var_76 + -0x14) = 0x2c0c68;
    var_28(*(char **)(var_76 + -0x10));
  }
  if (((this->hash_bucket_empty_fraction_).user_set_via_option != false) &&
     ((var_81 = (this->hash_bucket_empty_fraction_).value, var_81 < 0.0 || (1.0 <= var_81)))) {
    local_1cc = var_81;
    *(type_3 ***)(var_76 + -0x10) = var_29 + -0x563fc;
    *(type_7 *)(var_76 + -0x14) = 0x2c0c1c;
    uVar32 = var_54();
    var_81 = local_1cc;
    *(type_7 *)(var_76 + -0x10) = uVar32;
    *(double *)(var_76 + -0xc) = var_81;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002c0c29 to 002c0ce3 has its CatchHandler @ 002c0e87 */
    *(type_7 *)(var_76 + -0x14) = 0x2c0c2e;
    var_28(*(char **)(var_76 + -0x10));
  }
  if (this->implicit_incremental_ == false) {
    if (this->incremental_mode_ == var_82) goto LAB_002c00a3;
  }
  else if (this->incremental_mode_ == var_82) {
    *(type_3 ***)(var_76 + -0x10) = var_29 + -0x563ec;
    *(type_7 *)(var_76 + -0x14) = 0x2c0db6;
    uVar32 = var_54();
    *(type_7 *)(var_76 + -0x10) = uVar32;
                    /* WARNING: Subroutine does not return */
    *(type_7 *)(var_76 + -0x14) = 0x2c0dbe;
    var_28(*(char **)(var_76 + -0x10));
  }
  if ((this->relocatable_).value != false) {
    *(type_3 ***)(var_76 + -0x10) = var_29 + -0x563d0;
    *(type_7 *)(var_76 + -0x14) = 0x2c0dd5;
    uVar32 = var_54();
    *(type_7 *)(var_76 + -0x10) = uVar32;
                    /* WARNING: Subroutine does not return */
    *(type_7 *)(var_76 + -0x14) = 0x2c0ddd;
    var_28(*(char **)(var_76 + -0x10));
  }
  if ((this->emit_relocs_).value != false) {
    *(type_3 ***)(var_76 + -0x10) = var_29 + -0x563c4;
    *(type_7 *)(var_76 + -0x14) = 0x2c0df4;
    uVar32 = var_54();
    *(type_7 *)(var_76 + -0x10) = uVar32;
                    /* WARNING: Subroutine does not return */
    *(type_7 *)(var_76 + -0x14) = 0x2c0dfc;
    var_28(*(char **)(var_76 + -0x10));
  }
  if (this->plugins_ != (type_28 *)0x0) {
    *(type_3 ***)(var_76 + -0x10) = var_29 + -0x563b5;
    *(type_7 *)(var_76 + -0x14) = 0x2c0e13;
    uVar32 = var_54();
    *(type_7 *)(var_76 + -0x10) = uVar32;
                    /* WARNING: Subroutine does not return */
    *(type_7 *)(var_76 + -0x14) = 0x2c0e1b;
    var_28(*(char **)(var_76 + -0x10));
  }
  if ((this->relro_).value != false) {
    *(type_3 ***)(var_76 + -0x10) = var_29 + -0x563a8;
    *(type_7 *)(var_76 + -0x14) = 0x2c0d78;
    uVar32 = var_54();
    *(type_7 *)(var_76 + -0x10) = uVar32;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002c0d7b to 002c0e39 has its CatchHandler @ 002c0e87 */
    *(type_7 *)(var_76 + -0x14) = 0x2c0d80;
    var_28(*(char **)(var_76 + -0x10));
  }
  if ((this->pie_).value != false) {
    *(type_3 ***)(var_76 + -0x10) = var_29 + -0x5639b;
    *(type_7 *)(var_76 + -0x14) = 0x2c0d97;
    uVar32 = var_54();
    *(type_7 *)(var_76 + -0x10) = uVar32;
                    /* WARNING: Subroutine does not return */
    *(type_7 *)(var_76 + -0x14) = 0x2c0d9f;
    var_28(*(char **)(var_76 + -0x10));
  }
  if ((this->gc_sections_).value != false) {
    *(type_3 ***)(var_76 + -0x10) = var_29 + -0x5638f;
    *(type_7 *)(var_76 + -0x14) = 0x2c0a6f;
    uVar32 = var_54();
    *(type_7 *)(var_76 + -0x10) = uVar32;
    *(type_7 *)(var_76 + -0x14) = 0x2c0a77;
    var_83(*(char **)(var_76 + -0x10));
    (this->gc_sections_).value = false;
  }
  var_19 = this->icf_status_ == var_84;
  var_13 = !var_19;
  if (var_13) {
    *(type_3 ***)(var_76 + -0x10) = var_29 + -0x56383;
    *(type_7 *)(var_76 + -0x14) = 0x2c0a37;
    uVar32 = var_54();
    *(type_7 *)(var_76 + -0x10) = uVar32;
    *(type_7 *)(var_76 + -0x14) = 0x2c0a3f;
    var_83(*(char **)(var_76 + -0x10));
    this->icf_status_ = var_84;
  }
  var_13 = var_13 && (type_11 *)0xffffffef < var_76 + -0x10;
  var_19 = var_19 || var_76 == (type_11 *)0x0;
  var_16 = 5;
  var_20 = (type_12 *)(this->compress_debug_sections_).value;
  var_18 = local_1f0;
  do {
    if (var_16 == 0) break;
    var_16 = var_16 + -1;
    var_13 = *var_20 < *var_18;
    var_19 = *var_20 == *var_18;
    var_20 = var_20 + (type_9)bVar30 * -2 + 1;
    var_18 = var_18 + (type_9)bVar30 * -2 + 1;
  } while (var_19);
  if ((!var_13 && !var_19) != var_13) {
    *(type_3 ***)(var_76 + -0x10) = var_29 + -0x56379;
    *(type_7 *)(var_76 + -0x14) = 0x2c09ff;
    uVar32 = var_54();
    *(type_7 *)(var_76 + -0x10) = uVar32;
                    /* try { // try from 002c0a02 to 002c0a76 has its CatchHandler @ 002c0e87 */
    *(type_7 *)(var_76 + -0x14) = 0x2c0a07;
    var_83(*(char **)(var_76 + -0x10));
    (this->compress_debug_sections_).value = (char *)local_1f0;
  }
LAB_002c00a3:
  if ((this->rosegment_gap_).user_set_via_option != false) {
    (this->rosegment_).value = true;
  }
  if ((anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
       *)libpath._M_dataplus._M_p != var_9) {
    *(type_2 *)(var_76 + -0x10) = libpath._M_dataplus._M_p;
    *(type_7 *)(var_76 + -0x14) = 0x2c00d3;
    var_36(*(void **)(var_76 + -0x10));
  }
  return;
}


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

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

void MASKED(int param_1)

{
  double dVar1;
  undefined **ppuVar2;
  undefined1 **ppuVar3;
  undefined **ppuVar4;
  char cVar5;
  uint uVar6;
  int *piVar7;
  undefined4 *puVar8;
  size_t sVar9;
  uint uVar10;
  undefined4 uVar11;
  char *pcVar12;
  undefined4 uVar13;
  int iVar14;
  undefined *puVar15;
  uint uVar16;
  undefined1 *puVar17;
  undefined1 *puVar18;
  byte *pbVar19;
  byte *pbVar20;
  byte *pbVar21;
  bool bVar22;
  bool bVar23;
  bool bVar24;
  byte bVar25;
  undefined4 uStackY_230;
  undefined1 auStack_20c [12];
  undefined **local_200;
  undefined **local_1fc;
  undefined *local_1f8;
  undefined ***local_1f4;
  byte *local_1f0;
  undefined1 *local_1ec;
  undefined ***local_1e8;
  undefined1 *local_1e4;
  undefined1 *local_1e0;
  undefined ***local_1dc;
  uint local_1d8;
  undefined1 **local_1d4;
  undefined ***local_1d0;
  double local_1cc;
  undefined **local_1c4;
  undefined1 local_1c0 [4];
  undefined1 *local_1bc;
  uint local_1b8;
  undefined1 local_1b4 [16];
  undefined1 *local_1a4;
  int local_1a0;
  undefined1 local_19c [16];
  undefined2 local_18c;
  undefined1 *local_188;
  int local_184;
  undefined1 local_180 [16];
  undefined2 local_170;
  undefined1 *local_16c;
  int local_168;
  undefined1 local_164 [16];
  undefined2 local_154;
  undefined1 *local_150;
  int local_14c;
  undefined1 local_148 [16];
  undefined2 local_138;
  undefined ***local_134;
  int local_130;
  undefined **local_12c [4];
  undefined2 local_11c;
  undefined1 local_110 [28];
  undefined1 local_f4 [60];
  int aiStack_b8 [5];
  undefined **local_a4 [5];
  byte local_90;
  undefined4 local_34;
  undefined2 local_30;
  undefined4 local_2c;
  undefined4 local_28;
  undefined4 local_24;
  undefined4 local_20;
  
  bVar25 = 0;
  local_1c4 = &__DT_PLTGOT;
  if (*(char *)(param_1 + 0x3469) == '\0') {
    if (*(char *)(param_1 + 0x34e5) != '\0') goto LAB_002bfd3a;
    if (*(char *)(param_1 + 0x3561) != '\0') {
      bVar24 = false;
      goto LAB_002bfd49;
    }
    bVar24 = false;
    if (*(char *)(param_1 + 0x7a9) != '\0') goto LAB_002bfd5c;
  }
  else {
    *(undefined1 *)(param_1 + 0x34e5) = 1;
LAB_002bfd3a:
    bVar24 = true;
    *(undefined1 *)(param_1 + 0x3561) = 1;
LAB_002bfd49:
    *(undefined1 *)(param_1 + 0x35dd) = 1;
    if (*(char *)(param_1 + 0x7a9) != '\0') {
LAB_002bfd5c:
      *(undefined1 *)(param_1 + 0x1a25) = 1;
    }
    if (((*(char *)(param_1 + 0x3469) != '\0') && (*(char *)(param_1 + 0x318d) != '\0')) &&
       (*(undefined1 *)(param_1 + 0x3469) = 0, !bVar24)) {
      local_1c4 = &__DT_PLTGOT;
                    /* WARNING: Subroutine does not return */
      FUN_002446e0("../../gold/options.cc",0x453,"finalize",param_1);
    }
  }
  if (*(char *)(param_1 + 0xbcd) != '\0') {
    *(undefined1 *)(param_1 + 0xb51) = 1;
  }
  if (*(char *)(param_1 + 0xc49) != '\0') {
    *(undefined1 *)(param_1 + 0xb51) = 1;
  }
  if (*(char *)(param_1 + 0xb50) == '\0') {
    local_1cc = (double)CONCAT71(local_1cc._1_7_,*(byte *)(param_1 + 0x318d));
    *(byte *)(param_1 + 0xb51) = *(byte *)(param_1 + 0x318d) ^ 1;
  }
  bVar24 = *(char *)(param_1 + 0x4f31) == '\0';
  if (bVar24) {
    bVar24 = *(char *)(param_1 + 0x5545) == '\0';
    if (!bVar24) {
      *(undefined4 *)(param_1 + 0x5930) = 2;
    }
  }
  else {
    *(undefined4 *)(param_1 + 0x5930) = 1;
  }
  bVar22 = false;
  iVar14 = 5;
  local_1f0 = (byte *)0x48e342;
  pbVar19 = *(byte **)(param_1 + 0x1bec);
  pbVar20 = local_1f0;
  do {
    pbVar21 = pbVar20;
    if (iVar14 == 0) break;
    iVar14 = iVar14 + -1;
    pbVar21 = pbVar20 + 1;
    bVar22 = *pbVar19 < *pbVar20;
    bVar24 = *pbVar19 == *pbVar20;
    pbVar19 = pbVar19 + 1;
    pbVar20 = pbVar21;
  } while (bVar24);
  bVar23 = false;
  bVar24 = (!bVar22 && !bVar24) == bVar22;
  if (bVar24) {
    *(undefined4 *)(param_1 + 0x5934) = 0;
  }
  else {
    iVar14 = 5;
    pbVar19 = *(byte **)(param_1 + 0x1bec);
    pbVar20 = (byte *)0x48dc94;
    do {
      pbVar21 = pbVar20;
      if (iVar14 == 0) break;
      iVar14 = iVar14 + -1;
      pbVar21 = pbVar20 + 1;
      bVar23 = *pbVar19 < *pbVar20;
      bVar24 = *pbVar19 == *pbVar20;
      pbVar19 = pbVar19 + 1;
      pbVar20 = pbVar21;
    } while (bVar24);
    *(uint *)(param_1 + 0x5934) = ((!bVar23 && !bVar24) == bVar23) + 1;
  }
  if (*(char *)(param_1 + 0xd4c) == '\0') {
    if (*(char *)(param_1 + 0xd90) == '\0') {
      local_1c4 = &__DT_PLTGOT;
      pcVar12 = getenv("COLLECT_NO_DEMANGLE");
      *(bool *)(param_1 + 0x5939) = pcVar12 == (char *)0x0;
    }
    else {
      *(undefined1 *)(param_1 + 0x5939) = 0;
    }
  }
  else {
    pcVar12 = *(char **)(param_1 + 0xd50);
    *(undefined1 *)(param_1 + 0x5939) = 1;
    local_1c4 = &__DT_PLTGOT;
    if (*pcVar12 != '\0') {
      iVar14 = FUN_00395b70(pcVar12);
      if (iVar14 == 0) {
                    /* WARNING: Subroutine does not return */
        FUN_0023b7b0(local_1c4 + -0x56e9a,pcVar12,pbVar21,pbVar21);
      }
      FUN_00395b20(iVar14);
    }
  }
  ppuVar4 = local_1c4;
  bVar24 = false;
  bVar22 = *(char *)(param_1 + 0x2870) == '\0';
  if (!bVar22) {
    pbVar19 = *(byte **)(param_1 + 0x2874);
    iVar14 = 6;
    pbVar20 = pbVar19;
    pbVar21 = (byte *)((int)local_1c4 + -0x1477fe);
    do {
      if (iVar14 == 0) break;
      iVar14 = iVar14 + -1;
      bVar24 = *pbVar20 < *pbVar21;
      bVar22 = *pbVar20 == *pbVar21;
      pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;
      pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;
    } while (bVar22);
    bVar23 = false;
    bVar24 = (!bVar24 && !bVar22) == bVar24;
    if (bVar24) {
      *(undefined4 *)(param_1 + 0x5a88) = 0;
    }
    else {
      iVar14 = 8;
      pbVar20 = pbVar19;
      pbVar21 = (byte *)((int)local_1c4 + -0x1a1fb3);
      do {
        if (iVar14 == 0) break;
        iVar14 = iVar14 + -1;
        bVar23 = *pbVar20 < *pbVar21;
        bVar24 = *pbVar20 == *pbVar21;
        pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;
        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;
      } while (bVar24);
      bVar22 = false;
      bVar24 = (!bVar23 && !bVar24) == bVar23;
      if (bVar24) {
        *(undefined4 *)(param_1 + 0x5a88) = 1;
      }
      else {
        iVar14 = 5;
        pbVar20 = pbVar19;
        pbVar21 = (byte *)((int)local_1c4 + -0x1a1fab);
        do {
          if (iVar14 == 0) break;
          iVar14 = iVar14 + -1;
          bVar22 = *pbVar20 < *pbVar21;
          bVar24 = *pbVar20 == *pbVar21;
          pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;
          pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;
        } while (bVar24);
        bVar23 = false;
        bVar24 = (!bVar22 && !bVar24) == bVar22;
        if (bVar24) {
          *(undefined4 *)(param_1 + 0x5a88) = 2;
        }
        else {
          iVar14 = 6;
          pbVar20 = (byte *)((int)local_1c4 + -0x146582);
          do {
            if (iVar14 == 0) break;
            iVar14 = iVar14 + -1;
            bVar23 = *pbVar19 < *pbVar20;
            bVar24 = *pbVar19 == *pbVar20;
            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;
            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;
          } while (bVar24);
          if ((!bVar23 && !bVar24) == bVar23) {
            *(undefined4 *)(param_1 + 0x5a88) = 3;
          }
        }
      }
    }
  }
  if ((*(char *)(param_1 + 0x2401) != '\0') && (*(char *)(param_1 + 0x247c) == '\0')) {
    *(undefined1 *)(param_1 + 0x247c) = 1;
    *(undefined ***)(param_1 + 0x2480) = local_1c4 + -0x573ca;
  }
  if ((*(char *)(param_1 + 0x24c1) != '\0') || (*(char *)(param_1 + 0x253d) != '\0')) {
    *(undefined1 *)(param_1 + 0x5938) = 1;
  }
  iVar14 = *(int *)(param_1 + 0x3de8);
  if (0 < iVar14) {
    if (*(int *)(param_1 + 0x3e2c) == 0) {
      *(int *)(param_1 + 0x3e2c) = iVar14;
    }
    if (*(int *)(param_1 + 0x3e70) == 0) {
      *(int *)(param_1 + 0x3e70) = iVar14;
    }
    if (*(int *)(param_1 + 0x3eb4) == 0) {
      *(int *)(param_1 + 0x3eb4) = iVar14;
    }
  }
  local_1d4 = &local_1bc;
  local_1b4[0] = 0;
  local_1ec = local_1b4;
  local_1b8 = 0;
  local_1bc = local_1ec;
  if (*(char *)(param_1 + 0x4ca8) == '\0') {
    if (*(char *)(param_1 + 0x2729) == '\0') {
      local_1dc = local_12c;
      local_1d0 = (undefined ***)&local_134;
      local_134 = local_1dc;
                    /* try { // try from 002c0505 to 002c0509 has its CatchHandler @ 002c0e87 */
      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba2f,(int)local_1c4 + -0x15ba16,0);
      local_1a4 = local_19c;
                    /* try { // try from 002c0532 to 002c0536 has its CatchHandler @ 002c0ef5 */
      FUN_0014fca0(&local_1a4,local_134,(undefined *)(local_130 + (int)local_134),0);
      local_18c = 1;
      if (local_1a0 == 0) {
                    /* try { // try from 002c0957 to 002c095b has its CatchHandler @ 002c0e8e */
        FUN_003b6cc0(&local_1a4,0,0,(int)local_1c4 + -0x15ca25,1);
      }
      local_1d8 = param_1 + 0x2184;
      piVar7 = *(int **)(param_1 + 0x2188);
      if (piVar7 == *(int **)(param_1 + 0x218c)) {
                    /* try { // try from 002c0973 to 002c0977 has its CatchHandler @ 002c0e95 */
        FUN_002c3140(local_1d8,piVar7,&local_1a4);
      }
      else {
        *piVar7 = (int)(piVar7 + 2);
                    /* try { // try from 002c058f to 002c0593 has its CatchHandler @ 002c0e95 */
        FUN_0014fca0(piVar7,local_1a4,local_1a4 + local_1a0,0);
        *(undefined1 *)(piVar7 + 6) = (undefined1)local_18c;
        *(undefined1 *)((int)piVar7 + 0x19) = local_18c._1_1_;
        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;
      }
      if (local_1a4 != local_19c) {
        FUN_003ae080(local_1a4);
      }
      if (local_134 != local_1dc) {
        FUN_003ae080(local_134);
      }
      local_134 = local_1dc;
                    /* try { // try from 002c0619 to 002c061d has its CatchHandler @ 002c0e87 */
      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba33,(int)local_1c4 + -0x15ba16,0);
      local_188 = local_180;
                    /* try { // try from 002c0646 to 002c064a has its CatchHandler @ 002c0ecd */
      FUN_0014fca0(&local_188,local_134,(undefined *)(local_130 + (int)local_134),0);
      local_170 = 1;
      if (local_184 == 0) {
                    /* try { // try from 002c0af7 to 002c0afb has its CatchHandler @ 002c0eb8 */
        FUN_003b6cc0(&local_188,0,0,(int)local_1c4 + -0x15ca25,1);
      }
      piVar7 = *(int **)(param_1 + 0x2188);
      if (piVar7 == *(int **)(param_1 + 0x218c)) {
                    /* try { // try from 002c0b8b to 002c0b8f has its CatchHandler @ 002c0ebf */
        FUN_002c3140(local_1d8,piVar7,&local_188);
      }
      else {
        *piVar7 = (int)(piVar7 + 2);
                    /* try { // try from 002c0695 to 002c0699 has its CatchHandler @ 002c0ebf */
        FUN_0014fca0(piVar7,local_188,local_188 + local_184,0);
        *(undefined1 *)(piVar7 + 6) = (undefined1)local_170;
        *(undefined1 *)((int)piVar7 + 0x19) = local_170._1_1_;
        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;
      }
      if (local_188 != local_180) {
        FUN_003ae080(local_188);
      }
      if (local_134 != local_1dc) {
        FUN_003ae080(local_134);
      }
      local_134 = local_1dc;
                    /* try { // try from 002c071f to 002c0723 has its CatchHandler @ 002c0e87 */
      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba11,(int)local_1c4 + -0x15ba0d,0);
      local_16c = local_164;
                    /* try { // try from 002c074c to 002c0750 has its CatchHandler @ 002c0ec6 */
      FUN_0014fca0(&local_16c,local_134,(undefined *)(local_130 + (int)local_134),0);
      local_154 = 1;
      if (local_168 == 0) {
                    /* try { // try from 002c0b1f to 002c0b23 has its CatchHandler @ 002c0eb1 */
        FUN_003b6cc0(&local_16c,0,0,(int)local_1c4 + -0x15ca25,1);
      }
      piVar7 = *(int **)(param_1 + 0x2188);
      if (piVar7 == *(int **)(param_1 + 0x218c)) {
                    /* try { // try from 002c0b6b to 002c0b6f has its CatchHandler @ 002c0e9c */
        FUN_002c3140(local_1d8,piVar7,&local_16c);
      }
      else {
        *piVar7 = (int)(piVar7 + 2);
                    /* try { // try from 002c079b to 002c079f has its CatchHandler @ 002c0e9c */
        FUN_0014fca0(piVar7,local_16c,local_16c + local_168,0);
        *(undefined1 *)(piVar7 + 6) = (undefined1)local_154;
        *(undefined1 *)((int)piVar7 + 0x19) = local_154._1_1_;
        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;
      }
      if (local_16c != local_164) {
        FUN_003ae080(local_16c);
      }
      if (local_134 != local_1dc) {
        FUN_003ae080(local_134);
      }
      local_134 = local_1dc;
                    /* try { // try from 002c0825 to 002c0829 has its CatchHandler @ 002c0e87 */
      FUN_00072b90(local_1d0,(int)local_1c4 + -0x15ba15,(int)local_1c4 + -0x15ba0d,0);
      local_1e0 = local_148;
      local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);
      local_150 = local_1e0;
                    /* try { // try from 002c085e to 002c0862 has its CatchHandler @ 002c0e6b */
      FUN_0014fca0(&local_150,local_134,(undefined *)(local_130 + (int)local_134),0);
      local_138 = 1;
      if (local_14c == 0) {
                    /* try { // try from 002c0b4c to 002c0b50 has its CatchHandler @ 002c0eaa */
        FUN_003b6cc0(local_1cc._0_4_,0,0,(int)local_1c4 + -0x15ca25,1);
      }
      piVar7 = *(int **)(param_1 + 0x2188);
      if (piVar7 == *(int **)(param_1 + 0x218c)) {
                    /* try { // try from 002c0bb0 to 002c0bb4 has its CatchHandler @ 002c0e64 */
        FUN_002c3140(local_1d8,piVar7,local_1cc._0_4_);
      }
      else {
        *piVar7 = (int)(piVar7 + 2);
                    /* try { // try from 002c08ad to 002c08b1 has its CatchHandler @ 002c0e64 */
        FUN_0014fca0(piVar7,local_150,local_150 + local_14c,0);
        *(undefined1 *)(piVar7 + 6) = (undefined1)local_138;
        *(undefined1 *)((int)piVar7 + 0x19) = local_138._1_1_;
        *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;
      }
      if (local_150 != local_1e0) {
        FUN_003ae080(local_150);
      }
      if (local_134 != local_1dc) {
        FUN_003ae080(local_134);
      }
      goto LAB_002c0258;
    }
  }
  else {
    pcVar12 = *(char **)(param_1 + 0x4cac);
    sVar9 = strlen(pcVar12);
    ppuVar3 = local_1d4;
                    /* try { // try from 002c022e to 002c02de has its CatchHandler @ 002c0e87 */
    FUN_003b6cc0(local_1d4,0,0,pcVar12,sVar9);
    iVar14 = FUN_003b86a0(ppuVar3,0,2,(int)ppuVar4 + -0x15ba36);
    if (iVar14 == 0) {
      uVar6 = local_1b8;
      if (2 < local_1b8) {
        uVar6 = 2;
      }
                    /* try { // try from 002c0acd to 002c0ad1 has its CatchHandler @ 002c0e87 */
      FUN_003b5ec0(local_1d4,0,uVar6);
    }
LAB_002c0258:
    uVar6 = 0;
    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);
    if (local_1b8 != 0) {
      do {
        iVar14 = FUN_003b7ee0(local_1d4,0x3a,uVar6);
        uVar16 = 0xffffffff;
        if ((iVar14 == -1) || (uVar16 = iVar14 - uVar6, uVar16 != 0)) {
          if (local_1b8 < uVar6) {
                    /* WARNING: Subroutine does not return */
            FUN_003f3b10(local_1c4 + -0x58f98,(int)local_1c4 + -0x1641fb,uVar6,local_1b8);
          }
          local_1e0 = local_148;
          uVar10 = local_1b8 - uVar6;
          if (uVar16 < local_1b8 - uVar6) {
            uVar10 = uVar16;
          }
          local_150 = local_1e0;
          FUN_00072b90(local_1cc._0_4_,local_1bc + uVar6,local_1bc + uVar6 + uVar10,0);
          local_1dc = local_12c;
          local_1d0 = (undefined ***)&local_134;
          local_134 = local_1dc;
                    /* try { // try from 002c0313 to 002c0317 has its CatchHandler @ 002c0ea3 */
          FUN_0014fca0(local_1d0,local_150,local_150 + local_14c,0);
          local_11c = 1;
          if (local_130 == 0) {
                    /* try { // try from 002c03fc to 002c0400 has its CatchHandler @ 002c0e72 */
            FUN_003b6cc0(local_1d0,0,0,(int)local_1c4 + -0x15ca25,1);
          }
          piVar7 = *(int **)(param_1 + 0x2188);
          if (piVar7 == *(int **)(param_1 + 0x218c)) {
                    /* try { // try from 002c0423 to 002c0427 has its CatchHandler @ 002c0eee */
            FUN_002c3140(param_1 + 0x2184,piVar7,local_1d0);
          }
          else {
            *piVar7 = (int)(piVar7 + 2);
                    /* try { // try from 002c0362 to 002c0366 has its CatchHandler @ 002c0eee */
            FUN_0014fca0(piVar7,local_134,(undefined *)(local_130 + (int)local_134),0);
            *(undefined1 *)(piVar7 + 6) = (undefined1)local_11c;
            *(undefined1 *)((int)piVar7 + 0x19) = local_11c._1_1_;
            *(int *)(param_1 + 0x2188) = *(int *)(param_1 + 0x2188) + 0x1c;
          }
          if (local_134 != local_1dc) {
            FUN_003ae080(local_134);
          }
          if (local_150 != local_1e0) {
            FUN_003ae080(local_150);
          }
          if (iVar14 == -1) break;
        }
        uVar6 = iVar14 + 1;
      } while( true );
    }
  }
  ppuVar4 = local_1c4;
  puVar17 = auStack_20c;
  puVar18 = auStack_20c;
  if (*(int *)(param_1 + 0x3288) != 0) {
    local_1e8 = local_a4;
    local_1d0 = (undefined ***)&local_134;
    FUN_003f2f70(local_1e8);
    local_1fc = ppuVar4 + -0xa0e;
    local_34 = 0;
    local_2c = 0;
    local_a4[0] = ppuVar4 + -0xa0c;
    local_30 = 0;
    local_28 = 0;
    local_1f4 = (undefined ***)ppuVar4[-0x9d3];
    local_1f8 = ppuVar4[-0x9d2];
    local_24 = 0;
    local_20 = 0;
    local_134 = local_1f4;
    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;
    local_130 = 0;
                    /* try { // try from 002bfb07 to 002bfb0b has its CatchHandler @ 002c0ee2 */
    FUN_003d8720((int)local_1f4[-3] + (int)&local_134,0);
    local_200 = ppuVar4 + -0x9d0;
    local_134 = (undefined ***)(ppuVar4 + -0x9cd);
    local_a4[0] = ppuVar4 + -0x9c8;
    local_1dc = local_12c;
                    /* try { // try from 002bfb39 to 002bfb3d has its CatchHandler @ 002c0ed4 */
    FUN_003da940(local_12c);
                    /* try { // try from 002bfb47 to 002bfb4b has its CatchHandler @ 002c0e79 */
    FUN_003d8720(local_1e8,local_12c);
                    /* try { // try from 002bfb5b to 002bfb8a has its CatchHandler @ 002c0e80 */
    iVar14 = FUN_003dec20(local_12c,*(undefined4 *)(param_1 + 0x3288),8);
    puVar15 = (undefined *)((int)local_1d0 + (int)local_134[-3]);
    if (iVar14 == 0) {
                    /* try { // try from 002c0aa1 to 002c0aa5 has its CatchHandler @ 002c0e80 */
      FUN_003d7ed0(puVar15,*(uint *)(puVar15 + 0x14) | 4);
    }
    else {
      FUN_003d7ed0(puVar15,0);
    }
    ppuVar4 = local_1c4;
    if ((local_90 & 5) != 0) {
      piVar7 = __errno_location();
      pcVar12 = strerror(*piVar7);
      uVar11 = *(undefined4 *)(param_1 + 0x3288);
      uVar13 = gettext(local_1c4 + -0x5645f);
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002c0d5c to 002c0d60 has its CatchHandler @ 002c0e80 */
      FUN_0023b7b0(uVar13,uVar11,pcVar12);
    }
    local_1e0 = local_148;
    local_148[0] = 0;
    local_14c = 0;
    piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);
    local_150 = local_1e0;
    if (piVar7 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002c0e40 to 002c0e44 has its CatchHandler @ 002c0edb */
      FUN_003f3900();
    }
    if ((char)piVar7[7] == '\0') {
                    /* try { // try from 002c043c to 002c0463 has its CatchHandler @ 002c0edb */
      FUN_003f3f90(piVar7);
      iVar14 = 10;
      if (*(undefined ***)(*piVar7 + 0x18) != ppuVar4 + -0xdabd4) {
        cVar5 = (*(code *)*(undefined ***)(*piVar7 + 0x18))(piVar7,10);
        iVar14 = (int)cVar5;
      }
    }
    else {
      iVar14 = (int)*(char *)((int)piVar7 + 0x27);
    }
    local_1cc = (double)CONCAT44(local_1cc._4_4_,&local_150);
                    /* try { // try from 002bfc01 to 002bfc46 has its CatchHandler @ 002c0edb */
    FUN_003aef80(local_1d0,&local_150,iVar14);
    local_1d4 = (undefined1 **)(param_1 + 0x5a3c);
    local_1e4 = local_1c0;
    while ((local_90 & 5) == 0) {
      if ((local_14c != 0) && (local_150[local_14c + -1] == '\r')) {
        *(undefined4 *)(puVar17 + -8) = 0;
        *(int *)(puVar17 + -0xc) = local_14c + -1;
        *(undefined4 *)(puVar17 + -0x10) = local_1cc._0_4_;
                    /* try { // try from 002c0182 to 002c0186 has its CatchHandler @ 002c0edb */
        *(undefined4 *)(puVar17 + -0x14) = 0x2c0187;
        FUN_003b6a50();
      }
      *(undefined4 *)(puVar17 + -8) = 0xc70f6907;
      *(int *)(puVar17 + -0xc) = local_14c;
      *(undefined1 **)(puVar17 + -0x10) = local_150;
      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc8a;
      uVar6 = FUN_003ac580();
      local_1d8 = uVar6 % *(uint *)(param_1 + 0x5a40);
      *(uint *)(puVar17 + -0x14) = uVar6;
      *(undefined4 *)(puVar17 + -0x18) = local_1cc._0_4_;
      *(uint *)(puVar17 + -0x1c) = local_1d8;
      *(undefined1 ***)(puVar17 + -0x20) = local_1d4;
      *(undefined4 *)(puVar17 + -0x24) = 0x2bfcb0;
      piVar7 = (int *)FUN_0022ed10();
      if ((piVar7 == (int *)0x0) || (*piVar7 == 0)) {
        *(undefined4 *)(puVar17 + -0x10) = 0x20;
                    /* try { // try from 002bfdcb to 002bfdcf has its CatchHandler @ 002c0edb */
        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdd0;
        puVar8 = (undefined4 *)FUN_003ac4d0();
        *puVar8 = 0;
        puVar8[1] = puVar8 + 3;
        *(undefined4 *)(puVar17 + -4) = 0;
        *(undefined1 **)(puVar17 + -8) = local_150 + local_14c;
        *(undefined1 **)(puVar17 + -0xc) = local_150;
        *(undefined4 **)(puVar17 + -0x10) = puVar8 + 1;
                    /* try { // try from 002bfdf7 to 002bfdfb has its CatchHandler @ 002c0ee9 */
        *(undefined4 *)(puVar17 + -0x14) = 0x2bfdfc;
        FUN_0014fca0();
        *(undefined4 *)(puVar17 + -0xc) = 1;
        *(undefined4 **)(puVar17 + -0x10) = puVar8;
        *(uint *)(puVar17 + -0x14) = uVar6;
        *(uint *)(puVar17 + -0x18) = local_1d8;
        *(undefined1 ***)(puVar17 + -0x1c) = local_1d4;
        *(undefined1 **)(puVar17 + -0x20) = local_1e4;
                    /* try { // try from 002bfe14 to 002bfe18 has its CatchHandler @ 002c0edb */
        *(undefined4 *)(puVar17 + -0x24) = 0x2bfe19;
        FUN_002c4660();
        puVar17 = puVar17 + -4;
      }
      ppuVar4 = local_1c4;
      piVar7 = *(int **)((int)aiStack_b8 + (int)local_134[-3]);
      if (piVar7 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002c0bfa to 002c0bfe has its CatchHandler @ 002c0edb */
        *(undefined4 *)(puVar17 + -4) = 0x2c0bff;
        FUN_003f3900();
      }
      if ((char)piVar7[7] == '\0') {
        *(int **)(puVar17 + -0x10) = piVar7;
                    /* try { // try from 002bfcf3 to 002bfd1a has its CatchHandler @ 002c0edb */
        *(undefined4 *)(puVar17 + -0x14) = 0x2bfcf8;
        FUN_003f3f90();
        ppuVar2 = *(undefined ***)(*piVar7 + 0x18);
        iVar14 = 10;
        if (ppuVar2 != ppuVar4 + -0xdabd4) {
          *(undefined4 *)(puVar17 + -0xc) = 10;
          *(int **)(puVar17 + -0x10) = piVar7;
          *(undefined4 *)(puVar17 + -0x14) = 0x2bfd1b;
          cVar5 = (*(code *)ppuVar2)();
          iVar14 = (int)cVar5;
        }
      }
      else {
        iVar14 = (int)*(char *)((int)piVar7 + 0x27);
      }
      *(int *)(puVar17 + -8) = iVar14;
      *(undefined4 *)(puVar17 + -0xc) = local_1cc._0_4_;
      *(undefined ****)(puVar17 + -0x10) = local_1d0;
      *(undefined4 *)(puVar17 + -0x14) = 0x2bfc47;
      FUN_003aef80();
    }
    if (local_150 != local_1e0) {
      *(undefined1 **)(puVar17 + -0x10) = local_150;
      *(undefined4 *)(puVar17 + -0x14) = 0x2bfe3f;
      FUN_003ae080();
    }
    ppuVar4 = local_1c4;
    *(undefined ****)(puVar17 + -0x10) = local_1dc;
    local_134 = (undefined ***)(local_200 + 3);
    local_a4[0] = local_200 + 8;
    local_12c[0] = local_1c4 + -0x9ec;
    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe7f;
    FUN_003de160();
    *(undefined1 **)(puVar17 + -0x10) = local_f4;
    *(undefined4 *)(puVar17 + -0x14) = 0x2bfe8d;
    FUN_003ae8c0();
    local_12c[0] = ppuVar4 + -0xbd1;
    *(undefined1 **)(puVar17 + -0x10) = local_110;
    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeaa;
    FUN_003b07e0();
    local_134 = local_1f4;
    *(undefined **)((int)&local_134 + (int)local_1f4[-3]) = local_1f8;
    local_130 = 0;
    local_a4[0] = local_1fc + 2;
    *(undefined ****)(puVar17 + -0x10) = local_1e8;
    *(undefined4 *)(puVar17 + -0x14) = 0x2bfeeb;
    FUN_003f3310();
    puVar18 = puVar17;
  }
  if ((*(char *)(param_1 + 0x72d) != '\0') && (*(char *)(param_1 + 0x42e0) == '\0')) {
    *(int *)(param_1 + 0x42e4) = (int)local_1c4 + -0x1a1f9b;
  }
  if ((*(char *)(param_1 + 0x1a25) != '\0') && (*(char *)(param_1 + 0x1fc) == '\0')) {
    *(undefined1 *)(param_1 + 0x1fd) = 1;
  }
  *(int *)(puVar18 + -0x10) = param_1;
                    /* try { // try from 002bff3a to 002c016a has its CatchHandler @ 002c0e87 */
  *(undefined4 *)(puVar18 + -0x14) = 0x2bff3f;
  FUN_002b6130();
  if (*(char *)(param_1 + 0x1a25) == '\0') {
    if (*(char *)(param_1 + 0x2931) != '\0') {
      if (*(char *)(param_1 + 0x5938) != '\0') {
        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56440;
        *(undefined4 *)(puVar18 + -0x14) = 0x2c0e5c;
        uVar11 = gettext();
        *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002c0e5f to 002c0e63 has its CatchHandler @ 002c0e87 */
        *(undefined1 **)(puVar18 + -0x14) = &LAB_002c0e64;
        FUN_0023b7b0();
      }
      if (*(char *)(param_1 + 0x318d) != '\0') {
        *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56e83;
        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cbd;
        uVar11 = gettext();
        *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar18 + -0x14) = 0x2c0cc5;
        FUN_0023b7b0();
      }
    }
    if (*(int *)(param_1 + 0x1478) != 0) {
      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5642f;
      *(undefined4 *)(puVar18 + -0x14) = 0x2c0cdc;
      uVar11 = gettext();
      *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* WARNING: Subroutine does not return */
      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ce4;
      FUN_0023b7b0();
    }
    if (*(int *)(param_1 + 0x1428) != 0) {
      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56424;
      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d10;
      uVar11 = gettext();
      *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002c0d13 to 002c0d17 has its CatchHandler @ 002c0e87 */
      *(undefined4 *)(puVar18 + -0x14) = 0x2c0d18;
      FUN_0023b7b0();
    }
    if ((*(char *)(param_1 + 0x318d) != '\0') && (*(int *)(param_1 + 0x3288) != 0)) {
      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56418;
      *(undefined4 *)(puVar18 + -0x14) = 0x2c0163;
      uVar11 = gettext();
      *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* WARNING: Subroutine does not return */
      *(undefined **)(puVar18 + -0x14) = &UNK_002c016b;
      FUN_0023b7b0();
    }
  }
  else {
    if (*(char *)(param_1 + 0x5938) != '\0') {
      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56453;
      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e32;
      uVar11 = gettext();
      *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* WARNING: Subroutine does not return */
      *(undefined4 *)(puVar18 + -0x14) = 0x2c0e3a;
      FUN_0023b7b0();
    }
    if (*(char *)(param_1 + 0x2931) != '\0') {
      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56449;
      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c7f;
      uVar11 = gettext();
      *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* WARNING: Subroutine does not return */
      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c87;
      FUN_0023b7b0();
    }
    if (*(char *)(param_1 + 0x318d) != '\0') {
      *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56437;
      *(undefined4 *)(puVar18 + -0x14) = 0x2c0c9e;
      uVar11 = gettext();
      *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* WARNING: Subroutine does not return */
      *(undefined4 *)(puVar18 + -0x14) = 0x2c0ca6;
      FUN_0023b7b0();
    }
  }
  *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(param_1 + 0x27ec);
  *(undefined4 *)(puVar18 + -0x14) = 0x2bff90;
  iVar14 = FUN_002b5ab0();
  if ((iVar14 != 0) &&
     (((*(char *)(param_1 + 0x1a25) != '\0' || (*(char *)(param_1 + 0x2931) != '\0')) ||
      (*(char *)(param_1 + 0x318d) != '\0')))) {
    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5640c;
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c60;
    uVar11 = gettext();
    *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c68;
    FUN_0023b7b0();
  }
  if ((*(char *)(param_1 + 0x1ae4) != '\0') &&
     ((dVar1 = *(double *)(param_1 + 0x1ae8), dVar1 < 0.0 || (1.0 <= dVar1)))) {
    local_1cc = dVar1;
    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563fc;
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c1c;
    uVar11 = gettext();
    dVar1 = local_1cc;
    *(undefined4 *)(puVar18 + -0x10) = uVar11;
    *(double *)(puVar18 + -0xc) = dVar1;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002c0c29 to 002c0ce3 has its CatchHandler @ 002c0e87 */
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0c2e;
    FUN_0023b7b0();
  }
  if (*(char *)(param_1 + 0x5a1c) == '\0') {
    if (*(int *)(param_1 + 0x5a10) == 0) goto LAB_002c00a3;
  }
  else if (*(int *)(param_1 + 0x5a10) == 0) {
    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563ec;
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0db6;
    uVar11 = gettext();
    *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dbe;
    FUN_0023b7b0();
  }
  if (*(char *)(param_1 + 0x318d) != '\0') {
    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563d0;
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dd5;
    uVar11 = gettext();
    *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0ddd;
    FUN_0023b7b0();
  }
  if (*(char *)(param_1 + 0x3095) != '\0') {
    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563c4;
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0df4;
    uVar11 = gettext();
    *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0dfc;
    FUN_0023b7b0();
  }
  if (*(int *)(param_1 + 0x593c) != 0) {
    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563b5;
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e13;
    uVar11 = gettext();
    *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0e1b;
    FUN_0023b7b0();
  }
  if (*(char *)(param_1 + 0x56b9) != '\0') {
    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x563a8;
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d78;
    uVar11 = gettext();
    *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002c0d7b to 002c0e39 has its CatchHandler @ 002c0e87 */
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d80;
    FUN_0023b7b0();
  }
  if (*(char *)(param_1 + 0x2931) != '\0') {
    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5639b;
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d97;
    uVar11 = gettext();
    *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0d9f;
    FUN_0023b7b0();
  }
  if (*(char *)(param_1 + 0x18b1) != '\0') {
    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x5638f;
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a6f;
    uVar11 = gettext();
    *(undefined4 *)(puVar18 + -0x10) = uVar11;
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a77;
    FUN_0023b840();
    *(undefined1 *)(param_1 + 0x18b1) = 0;
  }
  bVar22 = *(int *)(param_1 + 0x5934) == 0;
  bVar24 = !bVar22;
  if (bVar24) {
    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56383;
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a37;
    uVar11 = gettext();
    *(undefined4 *)(puVar18 + -0x10) = uVar11;
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a3f;
    FUN_0023b840();
    *(undefined4 *)(param_1 + 0x5934) = 0;
  }
  bVar24 = bVar24 && (undefined1 *)0xffffffef < puVar18 + -0x10;
  bVar22 = bVar22 || puVar18 == (undefined1 *)0x0;
  iVar14 = 5;
  pbVar19 = *(byte **)(param_1 + 0x99c);
  pbVar20 = local_1f0;
  do {
    if (iVar14 == 0) break;
    iVar14 = iVar14 + -1;
    bVar24 = *pbVar19 < *pbVar20;
    bVar22 = *pbVar19 == *pbVar20;
    pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;
    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;
  } while (bVar22);
  if ((!bVar24 && !bVar22) != bVar24) {
    *(undefined ***)(puVar18 + -0x10) = local_1c4 + -0x56379;
    *(undefined4 *)(puVar18 + -0x14) = 0x2c09ff;
    uVar11 = gettext();
    *(undefined4 *)(puVar18 + -0x10) = uVar11;
                    /* try { // try from 002c0a02 to 002c0a76 has its CatchHandler @ 002c0e87 */
    *(undefined4 *)(puVar18 + -0x14) = 0x2c0a07;
    FUN_0023b840();
    *(byte **)(param_1 + 0x99c) = local_1f0;
  }
LAB_002c00a3:
  if (*(char *)(param_1 + 0x3344) != '\0') {
    *(undefined1 *)(param_1 + 0x32c9) = 1;
  }
  if (local_1bc != local_1ec) {
    *(undefined1 **)(puVar18 + -0x10) = local_1bc;
    *(undefined4 *)(puVar18 + -0x14) = 0x2c00d3;
    FUN_003ae080();
  }
  return;
}

